Al ejecutar el comando ls -ld /tmp
, el resultado sería:
drwxrwxrwt 30 root root 20480 Mar 11 14:17 /tmp
Entonces tengo dos preguntas principales:
- ¿Cuál es la letra
t
después de los permisos? - Hasta donde sé,
/tmp
se usa para crear archivos temporales relacionados con diferentes usuarios en el sistema, entonces, ¿cómo es que tiene permisorwxrwxrwx
(777)?
Esto me parece mal. Por favor, necesito tu ayuda para entender lo que está pasando aquí.
permissions
tmp
Comunidad
fuente
fuente
Respuestas:
Entonces, ¿cuál es la parte pegajosa?
Un bit fijo es un bit de permiso que se establece en un directorio que permite que solo el propietario del archivo dentro de ese directorio, el propietario del directorio o el usuario raíz elimine o cambie el nombre del archivo. Ningún otro usuario tiene los privilegios necesarios para eliminar el archivo creado por otro usuario.
Esta es una medida de seguridad para evitar la eliminación de carpetas críticas y su contenido (subdirectorios y archivos), aunque otros usuarios tienen permisos completos.
¿Por qué
/tmp
tiene la partet
adhesiva?El
/tmp
directorio puede ser utilizado por diferentes usuarios de Linux para crear archivos temporales. Ahora, ¿qué pasa si un usuario elimina / cambia el nombre de un archivo creado por otro usuario en este directorio?Bueno, para evitar este tipo de problemas, se utiliza el concepto de bit sticky. Entonces, para eso
777
se da a, pero preservar el bit pegajoso no es una mala idea.¿Cómo puedo configurar el bit fijo para un directorio?
Estableceré un bit fijo en un directorio llamado
test
en mi Escritorio.Forma simbólica (
t
representa el bit adhesivo):o
Forma numérica / octal (1, bit de bit fijo como valor 1 en la primera posición)
Ahora vamos a probar los resultados:
Para eliminar / eliminar un bit pegajoso
Ahora vamos a probar los resultados:
Fuente: “¿Qué es un Bit pegajoso y cómo configurarlo en Linux?” En The Linux Juggernaut
fuente
t
oculta lax
indicación de si todos los usuarios pueden ejecutar el archivo / directorio, necesitamos otra forma de indicarlo. Lo habitual es que todos puedan ejecutarlo, en cuyo caso obtienes un normalt
(en lugar de unx
). Pero si no, entonces obtienes mayúsculasT
(en lugar de a-
). Fuente: Wikipedia.En algún momento sucede que necesita un directorio de Linux que puedan usar todos los usuarios del sistema Linux para crear archivos. Los usuarios pueden crear, eliminar o renombrar archivos según su conveniencia en este directorio.
Por ejemplo:
También creé dos archivos con diferentes usuarios en esta carpeta con permiso 777.
Ahora encienda la parte adhesiva de esto
Ahora, ¿qué sucede si un usuario (abhi) desea cambiar el nombre del segundo usuario (anshu)
El origen de la parte pegajosa.
En Linux, el bit adhesivo solo tiene el uso descrito anteriormente, en los directorios. Históricamente, se usaba para algo completamente diferente en los archivos normales, y de ahí proviene el nombre.
Los sistemas modernos como Linux gestionan su caché de archivos ejecutables y otros archivos automáticamente y no necesitan el bit adhesivo para eso.
Fuente: "Concepto de Linux Sticky Bit explicado con ejemplos" en The Geek Stuff
fuente
Un stickybit es un método alternativo para que los directorios compartidos no se eliminen accidentalmente. Cuando un directorio tiene un stickybit, solo el propietario o la raíz pueden eliminarlo, incluso si todos los usuarios pueden tomar todos los demás permisos.
/tmp
es el directorio más compartido entre procesos y usuarios y para eso contiene el stickybit para garantizar que ningún usuario pueda eliminar el directorio, incluso si el permiso es777
, y debe ser así para que los usuarios y procesos puedan usar el directorio sin conflicto en los permisos.fuente