Uso y ejemplos de Bit Sticky de Linux Shell
- 1677
- 534
- Hugo Vera
Antes de hablar sobre lo que es un poco pegajoso, comencemos explicando por qué lo necesitamos. Por ejemplo, tenemos un directorio /var/compartir
En algún lugar del sistema de archivos con un acceso completo para todos los grupos de permisos que es propietario, grupo y cualquiera, por lo tanto, todos los bits de permiso están establecidos en "ON" DRWXRWXRWX
:
# ls -ld/var/share/drwxrwxrwx. 2 raíz raíz 4096 marzo 5 11:02/var/share/
De lo anterior, podemos ver que cualquier usuario ha leído, escriba y ejecuta permisos para el /var/compartir
directorio. A continuación, en nuestro escenario tenemos dos usuarios nombrados usuario1
y usuario2
. Dado que todos ahora tienen acceso a /var/compartir
directorio, nuestro usuario1
puede navegar a este directorio y simplemente crear cualquier archivo arbitrario:
user1@localhost ~] $ cd/var/share/[user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l file1 -rw -rw -r -r--. 1 Usuario1 User1 0 Mar 5 11:08 Archivo1 [user1@localhost compartir] $
El archivo1
fue creado con un bit de permiso establecido por el usuario Umask
valor y la propiedad del usuario y del grupo se establece en su creador que es usuario1
. Hasta ahora no tenemos problemas y todo funciona perfectamente según lo previsto. Más tarde, nuestro usuario2
navegación al /var/compartir
directorio y decide cambiar el nombre o eliminar archivo1
a archivo2
:
[user2@localhost share] $ cd/var/share/[user2@localhost share] $ ls -l total 0 -rw -rw -r--. 1 Usuario1 User1 0 Mar 5 11:20 File1 [user2@localhost share] $ mv file1 file2 [user2@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 Usuario1 User1 0 Mar 5 11:20 File2 [user2@localhost share] $ rm file2 rm: eliminar el archivo vacío regular protegido de escritura 'file2'? y [user2@localhost share] $ ls [user2@localhost share] $
Lo que sucedió en el ejemplo anterior es que nuestro usuario2
navegado por /var/compartir
directorio, enumeró todos los archivos y encontrado archivo1
. Con un uso de MV
comandar el usuario renombrado archivo1
a archivo2
. El archivo pasó a llamarse mientras el propietario y el grupo del archivo no cambiaron. Después usuario2
simplemente decidió eliminar el archivo usando RM
dominio.
En esta etapa necesitamos algún mecanismo para evitar que los usuarios que no posean el directorio o el archivo real dentro del directorio renombra o eliminan los archivos de otros usuarios. Este mecanismo se llama "bit pegajoso". Sticky Bit solo permite que Root, propietario del directorio y propietario del archivo cambie el nombre y elimine los archivos. Usar chmod
comando establecer un bit pegajoso en un directorio:
[root@localhost ~]# chmod +t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 raíz raíz 4096 marzo 5 11:21/var/share/
El último bit de permiso ejecutable para todos los usuarios ahora está configurado en T
lo que significa que ahora hay un bit pegajoso y solo los propietarios de root, archivo o directorio pueden cambiar el nombre y eliminar archivos. Replicemos el escenario anterior y dejemos usuario1
Para crear un nuevo archivo1
archivo:
[user1@localhost compartir] $ ls [user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 Usuario1 User1 0 Mar 5 11:34 File1 [user1@localhost compartir] $
archivo1
ahora se crea y dado que el bit pegajoso ahora está en su lugar el usuario2
ahora se le impedirá cambiar el nombre o eliminar el archivo que no le pertenece:
[user2@localhost share] $ ls -l total 0 -rw -rw -r--. 1 user1 user1 0 mar 5 11:34 file1 [user2@localhost share] $ mv file1 file2 mv: no se puede mover 'file1' a 'file2': operación no permitida [user2@localhost share] $ rm file1 rm: eliminar protegido por escritura Archivo vacío regular 'Archivo1'? y RM: No se puede eliminar 'file1': operación no permitida [user2@localhost share] $ ls -l total 0 -rw -rw -r--. 1 Usuario1 User1 0 Mar 5 11:34 File1 [user2@localhost compartir] $
Del ejemplo anterior podemos ver que usuario2
No pudo cambiar el nombre o eliminar un archivo porque es propiedad de otro usuario, mientras que este comportamiento se aplica por el mecanismo de bits adhesivos. El mejor ejemplo de uso de bits pegajoso es /TMP/
directorio.
# ls -ld / tmp / drwxrwxrwt. 18 raíz raíz 480 mar 5 11:42 /tmp /
Cualquier usuario tiene acceso a /TMP/
, Sin embargo, para evitar que otros usuarios renombren o eliminen archivos propiedad de diferentes usuarios, el bit pegajoso está configurado en este directorio de forma predeterminada. Solo para una integridad, tenga en cuenta que puede eliminar una broca adhesiva de un directorio ya mencionado chmod
dominio:
[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 raíz raíz 4096 marzo 5 11:38/var/share/[root@localhost ~]# chmod -t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwx. 2 raíz raíz 4096 marzo de marzo 11:38/var/share/[root@localhost ~]#
Tutoriales de Linux relacionados:
- Una introducción a la automatización, herramientas y técnicas de Linux
- Cosas para instalar en Ubuntu 20.04
- Mint 20: Mejor que Ubuntu y Microsoft Windows?
- Mastering Bash Script Loops
- Cómo aprovechar al máximo OpenSsh
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- ¿Con qué frecuencia tiene que reiniciar su servidor de Linux??
- Cómo arrancar dual Kali Linux y Windows 10
- Conceptos básicos de matemáticas de la computadora: binaria, decimal, hexadecimal, octal
- Crear y configurar directorios SETGID para la colaboración -..
- « Cómo consultar el encabezado de un sitio web utilizando la línea de comandos de Linux
- Cómo insertar la línea al comienzo del archivo en Linux »