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

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

Recientemente me preguntaba cuál es la diferencia entre permisos de archivos numéricos de tres y cuatro dígitos. Obtengo los permisos numéricos ejecutando stat --format "%a" $file_name. ¿Cuál es la diferencia entre 0644 y 644?

Respuesta1

El primer dígito en un permiso de cuatro dígitos es la suma deestablecer identificación de usuario (4),establecer identificación de grupo(2) ypegajoso(1). Un permiso de tres dígitos es como un permiso de cuatro dígitos con el primer dígito establecido en cero. De este modo:

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

Ejemplos de usos de los permisos del cuarto dígito

Si se ejecuta un archivo con una ID de usuario establecida, lo ejecuta como si lo hiciera el propietario del archivo en lugar de que sea el usuario quien lo ejecuta. Así, por ejemplo, /bin/mountcomúnmente es propiedad del root y tiene permisos 4755 donde el 4 significa que, incluso si lo ejecuta un usuario normal, se ejecutará con los privilegios del propietario (root).

Configurar 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 que no son propietarios eliminen los archivos de otras personas. Por lo tanto, los permisos de /tmpsuelen ser 1777, donde 1 significa que el bit adhesivo está configurado.

Documentación

De man chmod:

Un modo numérico es de uno a cuatro dígitos octales (0-7), que se obtienen sumando los bits con valores 4, 2 y 1. Se supone que los dígitos omitidos son ceros a la izquierda. El primer dígito selecciona la ID de usuario configurada (4) y la ID de grupo configurada (2) y los atributos de eliminación restringida o permanente (1). El segundo dígito selecciona permisos para el usuario propietario del archivo: leer (4), escribir (2) y ejecutar (1); el tercero selecciona permisos para otros usuarios del 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.

información relacionada