Establecería el sticky bit principalmente en directorios en UNIX/Linux.
Si establece el sticky bit en un directorio, otros usuarios no pueden eliminar o cambiar el nombre de los archivos (o subdirectorios) dentro de ese directorio.
Cuando el sticky bit se establece en un directorio, solo el propietario y el usuario raíz pueden eliminar o cambiar el nombre de los archivos o directorios dentro de ese directorio.
1. Establezca el bit adhesivo en Directorio
El siguiente ejemplo habilita el sticky bit en un directorio.
Utilice el comando chmod para establecer el bit adhesivo. Si está utilizando los números octales en chmod, proporcione 1 antes de especificar otros privilegios numerados, como se muestra a continuación. El siguiente ejemplo otorga permiso rwx al usuario, grupo y otros (y también agrega el bit adhesivo al directorio).
$ chmod 1777 dir
O bien, puede asignar solo un bit fijo a un directorio existente (sin tocar a ningún otro usuario, grupo u otros privilegios) usando el comando chmod como se muestra a continuación.
$ chmod +t dir
Una vez que el bit adhesivo se asigna a un directorio, verá (t) como el último carácter del permiso. En este ejemplo, es drwxrwxrwt.
$ ls -ld /home/bala/dir drwxrwxrwt 2 bala bala 4096 2011-01-28 14:09 /home/bala/dir $ ls -l dir total 8 -rwxrwxrwx 1 bala bala 20 2011-01-28 14:12 bala.txt -rwxrwxrwx 1 guest guest 41 2011-01-28 14:13 guest.txt
En el ejemplo anterior, como dir tiene permiso rwx para todos, todos los demás usuarios pueden crear sus archivos o directorios en este directorio. Sin embargo, incluso cuando los subdirectorios o archivos bajo dir tienen permiso rwx para todos, solo el propietario de ellos puede eliminar o cambiar el nombre de esos archivos y directorios. Otros usuarios no pueden eliminarlo o renombrarlo debido a un bit adhesivo.
En el ejemplo anterior, bala.txt tiene rwx para usuarios, grupos y otros. Pero, cuando el usuario invitado intenta eliminar el archivo bala.txt, verá el mensaje "Operación sin permiso" como se muestra a continuación.
$ su guest Password: $ cd /home/bala/dir1 $ rm bala.txt rm: cannot remove `bala.txt': Operation not permitted
Tenga en cuenta que /tmp tiene habilitado el sticky bit de forma predeterminada. Es posible que no lo hayas notado hasta ahora. Ahora sabe por qué se supone que el directorio /tmp tiene habilitado el sticky bit.
$ ls -ld /tmp drwxrwxrwt 3 root root 4096 Jan 31 08:29 /tmp
Para eliminar el sticky bit de un directorio, haga lo siguiente.
$ chmod -t dir
2. Establezca el bit adhesivo en Archivo
Configurar el bit adhesivo en un archivo es bastante inútil y no hace nada. En algunos de los sabores * nix más antiguos, se cargará un archivo ejecutable habilitado para sticky bit en la memoria de intercambio después de la primera ejecución, lo que acelera todas las ejecuciones posteriores. Esto ya no es verdad.
De Wikipedia:
Currently, this behavior is only operative in HP-UX, NetBSD, and UnixWare. Solaris appears to have abandoned this in 2005.[citation needed] The 4.4-Lite release of BSD retained the old sticky bit behavior but it has been subsequently dropped from OpenBSD (as of release 3.7) and FreeBSD (as of release 2.2.1); it remains in NetBSD. No version of Linux has ever supported the traditional behavior.