Permisos de archivo avanzados en Linux

Los permisos de archivo de Linux no se limitan a bits » rwx «, hay 3 permisos especiales además de estos permisos » rwx » que son SUID, SGID, The Sticky Bit . Este artículo trata sobre los 3 permisos de archivo especiales y cómo configurar y eliminar esos bits de permiso.

Establecer ID de usuario (SUID)

En Linux, de forma predeterminada, cuando un usuario ejecuta un archivo, el archivo se ejecuta con los privilegios del usuario que lo ejecuta. Si configuramos el bit SUID (set-user-ID) en el ejecutable, este comportamiento se puede cambiar, entonces el archivo siempre se ejecutará con los privilegios del propietario del archivo, sin importar quién ejecute el ejecutable.
Nota: Solo el propietario del archivo o root puede configurar el bit SUID

1. Puede configurar el bit SUID pasando u + s al comando chmod:

setting-SUID

2. Alternativamente, puede usar el nocional octal anteponiendo » 4 » a la string octal. (como 4724 en lugar de 724).

setting-SUID using octal notional

Como nota la letra «s» en lugar de la «x» habitual para ejecutar el permiso para el propietario. Esta letra «s» indica que se ha configurado el bit SUID (set-user-ID) para el archivo o directorio en cuestión.

3. Puede eliminar el bit SUID pasando u – s al comando chmod:

SUID-remove

Set-group-ID (SGID)

Set-group-ID bit en un archivo: Set-group-ID (SGID) es similar a SUID excepto que, un ejecutable con conjunto de bits SGID se ejecuta con los privilegios del grupo propietario del archivo

1. Puede configurar el bit SGID pasando g + s al comando chmod:

set-SGID-bit

2. Alternativamente, puede usar el nocional octal anteponiendo “ 2 ” a la string octal. (como 2755 en lugar de 755).

SGID-octal-notation

Como nota la letra «s» en lugar de la «x» habitual en el permiso de ejecución para el grupo. Esta letra «s» indica que se ha establecido el bit SGID (set-group-ID) para el archivo o directorio en cuestión.

3. Puede eliminar el bit SGID pasando g – s al comando chmod:

SGID-bit-set

Establecer bit de ID de grupo en un directorio: cuando el bit de establecer ID de grupo (SGID) se establece en el directorio, todos los subdirectorios/archivos recién creados en el directorio heredarán la misma propiedad de grupo que el propio directorio. Si el bit SGID no está configurado, todos los archivos recién creados tendrán un grupo como grupo predeterminado del usuario.

Set-group-ID es muy útil en la configuración multiusuario donde los usuarios con diferentes grupos principales tienen acceso a los archivos de los demás, como se muestra en este artículo.

Aquí hay un ejemplo para entender mejor esto.

1. Vamos a crear un directorio principal que sea propiedad del usuario: raíz y del grupo: raíz.

SGID-create-user-owned-directory

2. Ahora, si creamos un subdirectorio bajo el padre del usuario diferente, entonces ese directorio tendrá el propietario del grupo predeterminado para el grupo principal del usuario.

SGID-group-owner-default-primary-group

3. Ahora, si configuramos el bit SGID para el padre y nuevamente creamos un nuevo subdirectorio bajo el padre, esta vez tendrá el grupo predeterminado para el grupo del padre. Esto se debe a que el padre tenía el bit SGID establecido, y los subdirectorios/archivos recién creados heredarán el grupo del padre.

seti-SGID-for-parent-bit

El pedacito pegajoso

Si se establece el bit adhesivo en un directorio, los subdirectorios/archivos de ese directorio solo pueden ser eliminados por el propietario del archivo, el propietario del directorio o el usuario raíz. Este permiso especial es útil para evitar que los usuarios eliminen el archivo de otro usuario dentro de una carpeta compartida donde todos tienen acceso de lectura, escritura y ejecución.

Veamos un ejemplo.

1. Comencemos por crear una carpeta compartida donde todos tengan permiso de lectura, escritura y ejecución.

create-shared-folder

2. Dentro de esta carpeta compartida, es posible eliminar directorios/archivos de otros usuarios.

remove-directory-files-of-other-users

3. Ahora vamos a configurar el sticky bit en la carpeta compartida.

set-sticky-bit

Como nota la letra «t» en lugar de la «x» habitual en el permiso de ejecución para los demás. Esta letra «t» indica que se ha establecido un bit fijo para el archivo o directorio en cuestión. Ahora, debido a que el sticky bit está configurado en sharedFolder, los archivos/directorios solo pueden ser eliminados por los propietarios o el usuario raíz.

file-only-delete-by-users-or-root

Publicación traducida automáticamente

Artículo escrito por Blinkii y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *