¿Cómo verificar los permisos de un directorio específico?


316

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 -len el directorio más alto en la jerarquía y luego simplemente desplazarme hasta encontrarlo, pero es un dolor. Si lo uso ls -len el directorio real, da los permisos / información de los archivos dentro de él, y no del directorio real.

Probé 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?

Respuestas:


419

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

Quizás te interesen las páginas de manual . Ahí es donde todas las personas aquí obtienen sus buenas respuestas.

consulte las páginas de manual en línea


24
Creo que la página del manual está mal redactada. Lo rastreé cinco veces antes de empezar a buscar en Google. No quiero 'entradas' de directorio (¿'cosa' ingresada 'en directorios? ¿Como sus archivos y subdirectorios?) Ni sus' contenidos '(me parecen el mismo concepto), quiero los directorios mismos .
user151841

2
es una terminología completamente estándar, los directorios en son las entradas del directorio, es decir, las entradas en el sistema de archivos
alldayremix

33
Puede ser una terminología estándar, pero para alguien que probablemente haría esa pregunta, probablemente sea una jerga confusa.
CatShoes

61

También puede usar el statcomando si desea información detallada sobre un archivo / directorio. (Preciso esto mientras dices que estás aprendiendo ^^)


55
stat te mostrará entre muchas cosas permisos: (0755 / drwxr-xr-x)
zzapper

3
esto es útil para que pueda ver el formato de permisos numéricos también
aterrizó el

2
"stat -c% un directorio" esto se mostrará en forma numérica
Nerius Jok

2
El correspondiente en macOS es stat -f %A dir_or_filename.
iled

13

También hay

getfacl /directory/directory/

que incluye ACL

Una buena introducción sobre Linux ACL aquí


10

En GNU / Linux, trata de usar ls, namei, 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 ~]$

10

Directorio $ ls -ld

(ls) indica una lista de archivos y directorio.

(-) indica que el archivo es un archivo normal.

(l) indica una lista larga.

(d) indica que el archivo es un directorio, que es básicamente un tipo especial de archivo.



5

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, el uso de ls -la myFile enumerará y mostrará todos los datos sobre ese archivo.


5

En OS X puedes usar:

ls -lead

La opción e muestra ACL. Y las ACL son muy importantes para saber cuáles son los permisos exactos en su sistema.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.