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, analizaremos 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 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».
Con el ls comando, podemos ver el permiso del «shared-dir», que se puede interpretar en la siguiente tabla:

Sólo «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 utilizando chmod mando. Agregaremos los permisos de «escritura» a todos los usuarios del grupo «johns» como se muestra a continuación.

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

Agregar archivos al directorio compartido
Ahora «john1» agrega dos archivos (j1_file1.txt y j1_file2.txt) a «shared-dir»

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

Asimismo, «john2» también puede «escribir» en el directorio «shared-dir»


Ahora hay cuatro archivos en «shared-dir».

¿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 el permiso de «escritura» 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?
Presentamos Sticky Bit
El bit adhesivo es un permiso especial que se puede establecer en un directorio que tiene permisos de «escritura» establecidos para el grupo con acceso a él. Este bit asegura que todos los miembros del grupo puedan escribir en el directorio, pero solo la persona que creó un archivo, que es el propietario del archivo, puede eliminarlo.
chmod comando con el +t La bandera se puede utilizar para establecer el bit de pegamento en un directorio.

El permiso actualizado se puede ver a continuación.

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

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

la existencia de sticky bit en el directorio está representada por una «T» mayúscula en la parte «otros» de la cadena de permisos. El comportamiento del bit pegajoso en el directorio sigue siendo el mismo.

Variante del comando «chmod»
La forma numérica de chmod El comando también se puede usar para establecer un bit de pegamento en un directorio.
chmod nxyz <file_name>
dónde,
- n = 1, refiriéndose al bit pegajoso. 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 establecer sticky bit en «shared-dir», utilice el siguiente comando:
chmod 1755 shared-dir
que produce el mismo resultado que usar +t en los permisos predeterminados existentes.
El uso de sticky bit es válido solo para directorios, no tendría sentido usarlo para archivos.
Apoya nuestro trabajo ❤️
Si te ha gustado este artículo, considera dejar una propina para ayudarnos a seguir publicando contenido de calidad.


















