Bg12

Cómo usar Sticky Bit para administrar archivos en directorios compartidos en Linux

Desde sus inicios, Linux se diseñó para admitir un entorno multiusuario. Con muchos usuarios y grupos en un sistema en funcionamiento, es bastante común encontrar directorios compartidos entre usuarios del mismo grupo, y surgen problemas al compartir archivos en los directorios. En este artículo, discutiremos cómo puede hacer uso de bits adhesivos para ajustar el permiso de acceso a archivos en directorios compartidos.

A modo de ilustración, tenemos un sistema con tres usuarios: john1, john2 y john3, todos son miembros del grupo común «johns».

Digamos que «john1» crea un nuevo directorio llamado «shared-dir» destinado a ser compartido entre todos los usuarios del grupo «johns».

comando ls en el directorio compartido

Con el ls comando, podemos ver el permiso del «shared-dir», que se puede interpretar en la siguiente tabla:

permiso de carpeta de linux

Solo “john1” puede leer el contenido del directorio y también escribir en el directorio. Como estamos trabajando con un directorio compartido, queremos que todos los usuarios del grupo puedan escribir en «shared-dir».

Para ello modificaremos los permisos usando chmod dominio. Agregaremos los permisos de «escritura» a todos los usuarios del grupo «johns» como se muestra a continuación.

otorgar permiso de escritura de grupo para la carpeta

Podemos ver los permisos actualizados para «shared-dir» como se muestra a continuación. La parte subrayada en amarillo muestra que al grupo «johns» se le han otorgado permisos de «escritura».

carpeta con permiso de escritura grupal

Adición de 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 del archivo son sinónimos del nombre de usuario.

agregando un segundo archivo al directorio compartido

Del mismo modo, «john2» también puede «escribir» en el directorio «shared-dir»

segundo usuario agregando archivo al directorio

tercer usuario agregando archivo al directorio

Hay cuatro archivos en «shared-dir» ahora.

archivos en el directorio compartido

¿Hay algún problema con la configuración actual?

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

«john1» era el propietario del archivo, pero «john2» pudo eliminarlo porque se otorgó el permiso de «escritura» 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?

Presentamos la punta adhesiva

El sticky bit es un permiso especial que se puede configurar en un directorio que tiene permisos de «escritura» establecidos 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 eliminarlo.

chmod comando con el +t bandera se puede utilizar para establecer el bit adhesivo en un directorio.

establecer bit adhesivo en el directorio

El permiso actualizado se puede ver a continuación.

permiso de carpeta con sticky bit establecido

Ahora, si «john2» intenta eliminar el archivo «j1_file2.txt» que fue creado por «john1», esa operación no está permitida.

eliminar archivo no permitido

Si elimina el permiso de «ejecutar» para «otros», como se muestra a continuación:

eliminar el permiso ejecutable para otros

la existencia de sticky bit en el directorio se representa con una «T» mayúscula en la parte «otros» de la cadena de permisos. El comportamiento del sticky bit en el directorio sigue siendo el mismo.

permiso de archivo de carpeta sin permiso ejecutable

Variante del comando «chmod»

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

dónde,

  • n = 1, refiriéndose al sticky bit. Otros valores de «n» se refieren a otros permisos especiales.
  • x : permiso otorgado al propietario del archivo
  • y : permiso otorgado al grupo con acceso al archivo
  • z : permiso otorgado a otros

Para configurar el bit adhesivo en «dirección compartida», use el siguiente comando:

que produce el mismo resultado que usar +t en los permisos predeterminados existentes.

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

Experto Geek - Tu Guía en Tendencias Tecnológicas