Recientemente me preguntaba cuál es la diferencia entre los permisos de archivos numéricos de tres y cuatro dígitos. stat --format "%a" $file_name
Obtengo los permisos numéricos ejecutando . ¿Cuál es la diferencia entre 0644 y 644?
Recientemente me preguntaba cuál es la diferencia entre los permisos de archivos numéricos de tres y cuatro dígitos. stat --format "%a" $file_name
Obtengo los permisos numéricos ejecutando . ¿Cuál es la diferencia entre 0644 y 644?
Respuestas:
El primer dígito en un permiso de cuatro dígitos es la suma del ID de usuario establecido (4), el ID de grupo establecido (2) y el adhesivo (1). Un permiso de tres dígitos es como un permiso de cuatro dígitos con el primer dígito establecido en cero. Así:
Si se ejecuta un archivo con la ID de usuario establecida, se ejecuta como si fuera el propietario del archivo y no el usuario que realiza la ejecución. Por lo tanto, por ejemplo, /bin/mount
es propiedad común de root y tiene permisos 4755 donde el 4 significa que, incluso si es ejecutado por un usuario normal, se ejecutará con los privilegios del propietario (root).
Establecer la ID de grupo en un directorio es útil para compartir archivos.
El bit adhesivo se usa en directorios como /tmp
para que todos los usuarios puedan crear archivos, pero evita que los no propietarios eliminen los archivos de otras personas. Por lo tanto, los permisos de /tmp
son típicamente 1777 donde 1 significa que el bit fijo está establecido.
De man chmod
:
Un modo numérico es de uno a cuatro dígitos octales (0-7), derivado al sumar los bits con los valores 4, 2 y 1. Se supone que los dígitos omitidos son ceros iniciales. El primer dígito selecciona el ID de usuario establecido (4) y el ID de grupo establecido (2) y la eliminación restringida o los atributos fijos (1). El segundo dígito selecciona los permisos para el usuario propietario del archivo: lectura (4), escritura (2) y ejecución (1); el tercero selecciona permisos para otros usuarios en el grupo del archivo, con los mismos valores; y el cuarto para otros usuarios que no están en el grupo del archivo, con los mismos valores.