¿Cómo ves los permisos de archivo?

80

Quiero saber cómo ver los permisos que tiene un archivo en particular. ¿Qué comando debo escribir en la terminal? Sin embargo, no quiero cambiarlo.

CENTAURO
fuente
Si esto no es un duplicado, márquelo como Protegido. Esta es una pregunta importante.
evilMinion

Respuestas:

112

Si desea ver el permiso de un archivo, puede usar el ls -l /path/to/filecomando.

Por ejemplo

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


Qué significa esto ?

Primero -representa un archivo normal. Te da una pista del tipo de objeto que es. Puede tener los siguientes valores.

  • d (directorio)
  • c (dispositivo de caracteres)
  • l (enlace simbólico)
  • p (tubería con nombre)
  • s (zócalo)
  • b (dispositivo de bloque)
  • D (puerta)
  • - (archivo normal)


rrepresenta el permiso de lectura.
wrepresenta el permiso de escritura y
xrepresenta el permiso ejecutable.

La primera combinación de rwxrepresenta el permiso para el propietario .
La segunda combinación de rwxrepresenta el permiso para el grupo .
La tercera combinación de rwxrepresenta el permiso para el otro del archivo.


Notación octal

El permiso de archivo también se puede representar en notación octal.
En notación octal

Leer o restá representado por 4,
Escribir o westá representado por 2
Ejecutar xestá representado por 1.

La suma de estos tres se usa para representar el permiso.

stat El comando se puede utilizar para ver el permiso de archivo en notación octal

  stat -c "%a %n" /path/of/file

Por ejemplo

   stat -c "%a %n" acroread 
   755 acroread

Aquí puedes ver

Para el propietario es 4 + 2 + 1 = 7 (111 en binario)
Para el grupo es 4 + 0 + 1 = 5 (101 en binario) y
para otros es 4 + 0 + 1 = 5 (101 en binario).

g_p
fuente
19

Puede usar cualquiera de los listados largos:

ls -l [filename]

O stat:

stat [filename]

Stat es más completo; le muestra los tiempos de acceso, modificación y cambio, así como la información de Inode y tamaño, que puede o no serle útil.

Viv Diwakar
fuente
Nota: "depende", ese comando mostrará los permisos estándar, sin embargo, su acceso puede estar limitado por otros medios, acl, apparmor y selinux pueden limitar el acceso fuera de lo que muestra ls -l.
Pantera
7

Independientemente de que realmente use los permisos de ACL, si tiene el aclpaquete instalado, puede usarlo getfacl <path>para obtener un desglose bastante decente de los permisos en ese archivo.

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

Si haces uso de los permisos de ACL, que voy a decir acerca de los permisos lsy statsimplemente no puede.

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
Oli
fuente