una - Unix: ¿Cómo verificar los permisos de un directorio específico?
permisos linux 777 (9)
Sé que usar ls -l "directory/directory/filename"
me dice los permisos de un archivo. ¿Cómo hago lo mismo en un directorio? Obviamente, podría usar ls -l
en el directorio más alto de la jerarquía y luego desplazarme hasta que lo encuentre, pero es un dolor. Si uso ls -l
en el directorio real, otorga los permisos / información de los archivos dentro de él, y no del directorio real. Intenté esto en el terminal de Mac OS X 10.5 y Linux (Ubuntu Gutsy Gibbon), y es el mismo resultado. ¿Hay algún tipo de bandera que debería estar usando?
Además de las publicaciones anteriores, me gustaría señalar que "man ls" le dará un buen manual sobre el comando "ls" (Lista).
Además, al usar ls -la myFile se mostrarán y mostrarán todos los datos sobre ese archivo.
Aquí está la respuesta corta:
$ ls -ld directory
Esto es lo que hace:
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
Usted podría estar interesado en manpages de manpages . Ahí es donde todas las personas de aquí obtienen sus buenas respuestas.
consulte las páginas de manual en línea
En GNU / Linux, intente usar ls
, getfacl
, getfacl
, stat
.
Para dir
[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov 8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading ''/'' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
[flying@lempstacker ~]$
o
[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$
Para archivo
[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov 8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading ''/'' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--
[flying@lempstacker ~]$
o
[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$
En OS X puedes usar:
ls -lead
La opción e muestra las ACL. Y las ACL son muy importantes para saber cuáles son los permisos exactos en su sistema.
Esto muestra archivos con sus permisos.
stat -c ''%a - %n'' directory/*
También hay
getfacl /directory/directory/
que incluye ACL
Una buena introducción sobre Linux ACL here
También puede usar el comando stat
si desea información detallada sobre un archivo / directorio. (Preciso esto cuando dices que estás aprendiendo ^^)
ls -lstr
Esto muestra la vista normal de ls con permisos y usuario: grupo también
$ ls -ld directorio
(ls) indica lista de archivos y directorio. (-) indica que el archivo es un archivo normal. (l) indica lista larga. (d) indica que el archivo es un directorio, que es básicamente un tipo especial de archivo.