Cómo usar Sticky Bit para administrar archivos en carpetas compartidas en Linux

Desde su inicio, Linux fue hecho a medida para soportar un entorno multiusuario. Con muchos usuarios y grupos en un sistema que funciona, es bastante com√ļn encontrar directorios que se comparten entre usuarios del mismo grupo, y surgen problemas al compartir archivos en los directorios. En este art√≠culo, discutiremos c√≥mo usar bits fijos para ajustar los permisos de acceso para archivos en directorios compartidos.

A modo de ilustración, tenemos un sistema con tres usuarios: john1, john2 y john3, todos son miembros del grupo conjunto "johns"

Digamos que "john1" crea un nuevo directorio llamado "directorio-compartido" para ser compartido entre todos los usuarios del grupo "johns".

  

Con el comando ls podemos ver el estado de "directorio-compartido", que se puede interpretar en la siguiente tabla:

Estado de la carpeta de Linux

Solo "john1" puede leer el contenido del directorio y también escribir en el directorio. Como trabajamos con un directorio compartido, queremos que todos los usuarios del grupo puedan escribir en "directorio-compartido".

Para esto cambiaremos los permisos con el comando chmod. Agregamos permisos de "escritura" para todos los usuarios del grupo "johns" que se muestra a continuación.

conceder permisos de escritura grupal para la carpeta

Podemos ver los permisos actualizados para "directorio-compartido" que se muestran a continuación. La parte resaltada en amarillo muestra que el grupo "johns" ha recibido permisos de "escritura".

carpeta con permiso de escritura grupal

Agregar archivos al directorio compartido

Ahora "john1" agrega dos archivos (j1_file1.txt y j1_file2.txt) a "shared-dir"

agregar archivos al directorio compartido

Para facilitar la comprensión, los dos primeros caracteres del nombre de archivo son sinónimos del nombre de usuario.

agregue el segundo archivo al directorio compartido

Del mismo modo, "john2" también puede "escribir" en el directorio "directorio-compartido"

otro usuario agrega el archivo al directorio
el tercer usuario agrega el archivo al directorio

Hay cuatro archivos en "dir-compartido" ahora.

archivos en el directorio compartido

¬ŅHay alg√ļn problema con la instalaci√≥n actual?

El archivo "j1_file1.txt" fue creado por "john1" que hace que "john1" sea el propietario del archivo. Ahora "john2" inicia sesión e intenta eliminar este archivo, y él podrá hacerlo.

"John1" era el propietario del archivo, pero "john2" pudo eliminarlo porque el estado "escribir" se otorgó a todos los miembros del grupo "johns".

Este escenario no es ideal. Queremos que todos los usuarios puedan escribir en el directorio, pero solo el propietario del archivo debe poder eliminar un archivo. ¬ŅC√≥mo se puede lograr esto?

Te presentamos Sticky Bit

El bit fijo es un privilegio especial que se puede establecer en un directorio que tiene permisos de "escritura" para el grupo con acceso a él. Este bit garantiza que todos los miembros del grupo puedan escribir en el directorio, pero solo la persona que creó un archivo, es decir, el propietario del archivo, puede eliminar el archivo.

El comando chmod con el indicador + t se puede usar para establecer el bit fijo en un directorio.

establecer el bit adhesivo en el directorio

La autorización actualizada se puede ver a continuación.

estado de carpeta con conjunto de bits fijos

Si "john2" ahora intenta eliminar el archivo "j1_file2.txt" creado por "john1", esa operación no está permitida.

eliminar archivo no permitido

Si elimina el permiso "ejecutar" para "otro" como se muestra a continuación:

eliminar permisos ejecutables para otros

la presencia de un bit fijo en el directorio est√° representada por una letra may√ļscula "T" en la parte "otra" de la cadena de estado. El comportamiento del bit fijo en el directorio sigue siendo el mismo.

estado de archivo para carpeta sin estado ejecutable

Variación del comando "chmod"

La forma numérica del comando chmod también se puede usar para establecer un bit fijo en un directorio.

era,

  • n = 1, con referencia a la pieza adhesiva. Otros valores de "n" se refieren a otros permisos especiales.
  • x: se concede permiso al propietario del archivo
  • y: se otorga permiso para agrupar con acceso al archivo
  • z: se concede permiso a otros

Para poner un bit fijo en "dir-compartido", use el siguiente comando:

dando el mismo resultado que usar + t en los permisos est√°ndar existentes.

El uso de bit sticky solo es bueno para directorios, no tendría sentido usarlo para archivos.

¬ŅEs √ļtil este art√≠culo?