¿Diferencia entre permisos de archivo de tres y cuatro dígitos?

11

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_nameObtengo los permisos numéricos ejecutando . ¿Cuál es la diferencia entre 0644 y 644?

NerdOfCode
fuente
Me preguntaba la diferencia entre los permisos de archivo de cuatro y tres dígitos ...
NerdOfCode

Respuestas:

11

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í:

  • 0644 es exactamente lo mismo que 644.
  • 1644 es como 644 pero el bit adhesivo también está configurado
  • 4644 es como 644 pero también se establece el bit de ID de usuario establecido.

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/mountes 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 /tmppara 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 /tmpson típicamente 1777 donde 1 significa que el bit fijo está establecido.

Documentación

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.

John1024
fuente