¿Cuál es el primer dígito para la notación de permiso de archivo octal Unix de 4 dígitos?

40

3 digitos:

644
ugo (user group other)

4 dígitos:

0644
?ugo (??? user group other)

¿Cuál es el primer dígito octal en la notación de permiso de archivo octal Unix de 4 dígitos?

Steven T. Snyder
fuente

Respuestas:

48

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 a la izquierda. El primer dígito selecciona la ID de usuario establecida (4) y la ID de grupo establecida (2) y los atributos fijos (1).

¿Qué son "establecer ID de usuario", "establecer ID de grupo" y "adhesivo"?

setuid / setgid :

setuid y setgid (abreviatura de "establecer ID de usuario tras la ejecución" y "establecer ID de grupo tras la ejecución", respectivamente) son indicadores de derechos de acceso de Unix que permiten a los usuarios ejecutar un ejecutable con los permisos del propietario o grupo del ejecutable. A menudo se usan para permitir a los usuarios de un sistema informático ejecutar programas con privilegios elevados temporalmente para realizar una tarea específica. Si bien los privilegios supuestos de identificación de usuario o de grupo proporcionados no siempre son elevados, como mínimo son específicos.

Además, cuando se aplica a un directorio, setuid / setgid hace que los nuevos archivos creados en el directorio hereden el uid o gid, respectivamente, del directorio padre. Este comportamiento varía según el sabor de Unix. Por ejemplo, Linux honra el setgid, pero ignora el setuid en los directorios.

Y pegajoso :

El uso más común del bit adhesivo hoy en día es en los directorios. Cuando se establece el bit fijo, solo el propietario del elemento, el propietario del directorio o el superusuario pueden cambiar el nombre o eliminar archivos. Sin el conjunto de bits fijos, cualquier usuario con permisos de escritura y ejecución para el directorio puede cambiar el nombre o eliminar archivos contenidos, independientemente del propietario. Normalmente, esto se establece en el directorio / tmp para evitar que los usuarios comunes eliminen o muevan los archivos de otros usuarios.

Manitas5
fuente
12

Setgid tiene otra función muy importante en la que confío a diario pero que no está incluida en el extracto de Handyman5 (la cita es de la misma página vinculada anteriormente):

Los indicadores setuid y setgid, cuando se configuran en un directorio, tienen un significado completamente diferente.

Establecer el permiso setgid en un directorio (chmod g + s) hace que los nuevos archivos y subdirectorios creados dentro de él hereden su ID de grupo, en lugar de la ID de grupo principal del usuario que creó el archivo (la ID del propietario nunca se ve afectada, solo el Identificación del grupo). Los subdirectorios recién creados heredan el bit setgid.

Por lo tanto, esto habilita un espacio de trabajo compartido para un grupo sin la inconveniencia de requerir que los miembros del grupo cambien explícitamente su grupo actual antes de crear nuevos archivos o directorios. Tenga en cuenta que establecer el permiso setgid en un directorio solo afecta la identificación del grupo de nuevos archivos y subdirectorios creados después de establecer el bit setgid, y no se aplica a las entidades existentes. La configuración del bit setgid en subdirectorios existentes debe realizarse manualmente, con un comando como el siguiente:

[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;

chmod g+ssignificaría la adición de un 2 en el frente del valor octal haciendo un directorio que tiene permisos 775 ( drwxrwxr-x) en 2775 ( drwxrwsr-x).

Jay Allen
fuente
2
FYI: MacOS X se comporta como si el bit SGID estuviera siempre en un directorio.
Jonathan Leffler
4

Además de las otras respuestas, un 0 inicial es una convención utilizada para indicar que un número es octal. No se requiere aquí ya que los permisos de los archivos siempre se expresan en octal, pero esto puede ser otra razón por la cual está presente.

jlliagre
fuente
2

Aquí hay una calculadora de permisos Limux / Unix fácil de usar para ayudarlo a descubrir los permisos de un archivo o directorio.

vegasbrianc
fuente
Solo publicar enlaces está mal visto. Debe publicar el contenido relevante y luego citar su fuente.
MDMarra
Señalaron asegurará el futuro puestos están correctamente formateados
vegasbrianc