GNU/Linux >> Tutoriales Linux >  >> Linux

UNIX/Linux:Cómo usar Sticky Bit en directorios y archivos

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.

Linux
  1. Cómo instalar y usar Flatpak en Linux

  2. Cómo instalar y usar Traceroute en Linux

  3. ¿Por qué usamos “./” (punto barra oblicua) para ejecutar un archivo en Linux/unix?

  4. Linux:¿cómo se inspecciona la información de la estructura del directorio de un archivo Unix/linux?

  5. ¿Cómo habilito la indexación de archivos y directorios de Apache en Linux o UNIX?

Cómo instalar y usar PuTTY en Linux

Cómo instalar y usar phpMyAdmin en Linux

Cómo crear y usar un archivo de intercambio en Linux

Cómo instalar y usar el comando fd en Linux

Cómo instalar y usar Nu Shell en Linux

¿Cómo usar gzip en Linux?