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?
bash
permissions
files
NerdOfCode
fuente
fuente
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í:
Ejemplos de usos para los permisos de cuarto dígito
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.Documentación
De
man chmod
:fuente