12 octubre, 2024

Ver permisos en Octal Linux

Necesitaba tomar una captura en donde se vea en octal los permisos aplicados a un conjunto de archivos, por lo que recurrimos al infalible stat

Para ver en Octal los archivos

stat -c "%a %n" *

Parámetros

  • -c      Hace el salto de línea con el formato especificado

  • %a     El acceso que tiene en formato octal

  • %n     Muestra el nombre de archivo en la salida



Representación Octal para Permisos

Se puede utilizar el sistema octal (base 8) para representar el modo/permiso:

  • Lectura [R]: 4
  • Escritura [W]: 2
  • Ejecución [X]: 1

La combinación de estos valores nos dará todas las posibilidades para un permiso en Linux

Por ejemplo, para el propietario del archivo, se puede utilizar el modo octal de la siguiente manera: 

El permiso de lectura, escritura y ejecución (completo) en un archivo en octal es 

0 + R + W + X = 0 + 4 + 2 + 1 = 7


Sólo se permite el permiso de lectura y escritura en un archivo en octal. 

0 + R + W + X = 0 + 4 + 2 + 0 = 6


Solo se permiten permisos de lectura y ejecución en un archivo en octal. 

0 + R + W + X = 0 + 4 + 0 + 1 = 5

 

Con el método anterior se puede calcular el permiso para el grupo y otros. 


Supongamos que se desea otorgar permiso completo al propietario, permiso de lectura y ejecución para el grupo y permiso de solo lectura para otros, entonces es necesario calcular el permiso de la siguiente manera:

  • User = R + W + X = 0 + 4 + 2 + 1 =
  • Group = R+ W + X = 0 + 4 + 2 + 0 =
  • Others = R + W + X = 0 + 0 + 0 + 1 = 1


Tomando el cada número de número de UGO (User, Group, Others), el permiso efectivo es  761

 

Algunos Permisos Comunes

  •  666  [ RW / RW / RW ] 

    • Permite que todos los usuarios puedan leer y escribir en un archivo.

  • 777 [ RWX / RWX /RWX ]  ⚠

    • Permite que todos los usuarios puedan leer, escribir y ejecutar en el archivo o carpeta

      • Esto es un riesgo extremo que implica darle a cualquier usuario todos los permisos (cualquiera pueda leer, modificar o ejecutar). Tenes que saber bien lo que estas haciendo! Si no sabes, no lo uses
      • Directorios a evitar que tengan estos permisos son /etc, /home, /boot, /usr/local, /var (datos variables), /dev (dispositivos del sistema), y también /tmp (directorio temporal).
  • 755 (RWX / RW / RW)

    • El propietario del archivo puede leer, escribir y ejecutar en el archivo mientras que los demás leer y escribir en el archivo mas no ejecutar.

      • Típico de los ejecutables, que otorga al propietario permisos completos y al mismo tiempo permite a los miembros del grupo y a otras personas leer y ejecutar. 
  • 644 [ RW / R / R ]

    • El propietario puede leer y escribir en el archivo mientras los demás solo pueden leer.

      • Común para archivos normales, que otorga al propietario permisos de lectura y escritura y restringe a otros el acceso de solo lectura.
  •  700 [ RWX /--- / ---]

    • Con este permiso el propietario tiene el control total del archivo mientras que los demás usuarios no tendrán acceso de ningún tipo al archivo.

 
 

Referencias

  • http://kmaiti.blogspot.com/2011/09/umask-concept.html
  • http://manpages.ubuntu.com/manpages/precise/en/man1/stat.1.html 
  • https://www.solvetic.com/tutoriales/article/1458-entender-los-permisos-linux-chmod/
  • https://www.profesionalreview.com/2024/06/23/chmod-644-777/
  • https://medium.com/@techbytebykiru/understanding-linux-file-permissions-a-comprehensive-guide-b5f3df1b0c5a

0 comments:

Publicar un comentario