GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo funciona la punta adhesiva?

SUID

El pedacito pegajoso se aplica a programas ejecutables que marcan el sistema para mantener una imagen del programa en la memoria después de que el programa termine de ejecutarse.

Pero no sé qué está almacenado en la memoria. ¿Y cómo puedo verlos, en este caso?

Respuesta aceptada:

Esta es probablemente una de mis cosas más molestas que la gente estropea todo el tiempo. El bit SUID/GUID y el sticky-bit son dos cosas completamente diferentes.

Si haces un man chmod puede leer sobre SUID y sticky-bits. La página del manual también está disponible aquí.

fondo

extracto

Las letras rwxXst seleccione bits de modo de archivo para los usuarios afectados:leer
(r), escribir (w), ejecutar (o buscar directorios) (x), ejecutar/buscar solo
si el archivo es un directorio o ya tiene permiso de ejecución para algún usuario
(X), establecer ID de usuario o grupo en ejecución(es) , marca de eliminación restringida o sticky bit (t) .

SUID/GUID

Lo que la página del manual anterior está tratando de decir es que la posición que toma el bit x en rwxrwxrwx para el usuario octal (primer grupo de rwx) y el grupo octal (segundo grupo de rwx) puede tomar un estado adicional donde x se convierte en una s. Cuando esto ocurre, este archivo cuando se ejecuta (si es un programa y no solo un script de shell) se ejecutará con los permisos del propietario o del grupo del archivo.

Entonces, si el archivo es propiedad de root y el bit SUID está activado, el programa se ejecutará como root. Incluso si lo ejecuta como un usuario normal. Lo mismo se aplica al bit GUID.

extracto

BITS SETUID Y SETGID

chmod borra el bit set-group-ID de un archivo normal si el ID de grupo del archivo
no coincide con el ID de grupo efectivo del usuario o uno de los ID de grupo complementarios del usuario
, a menos que el usuario tenga los privilegios adecuados.
Las restricciones adicionales pueden hacer que se ignoren los bits set-user-ID y set-group-ID
de MODE o RFILE. Este comportamiento depende de la política
y la funcionalidad de la llamada al sistema chmod subyacente. En caso de duda,
compruebe el comportamiento del sistema subyacente.

chmod conserva los bits set-user-ID y set-group-ID de un directorio a menos que
especifique explícitamente lo contrario. Puede configurar o borrar los bits con
modos simbólicos como u+s y g-s, y puede configurar (pero no borrar) los bits
con un modo numérico.

Ejemplos de SUID/GUID

sin suid/guid – solo los bits rwxr-xr-x están configurados.

$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan  9 01:01 b.pl

suid y bit ejecutable del usuario habilitado (s minúscula) – los bits rwsr-x-r-x están configurados.

$ chmod u+s b.pl 
$ ls -lt b.pl 
-rwsr-xr-x 1 root root 179 Jan  9 01:01 b.pl

suid habilitado y bit ejecutable deshabilitado (S mayúscula) – los bits rwSr-xr-x están configurados.

$ chmod u-x b.pl
$ ls -lt b.pl 
-rwSr-xr-x 1 root root 179 Jan  9 01:01 b.pl

bit ejecutable de guid y grupo habilitado (s minúscula) – los bits rwxr-sr-x están configurados.

$ chmod g+s b.pl
$  ls -lt b.pl 
-rwxr-sr-x 1 root root 179 Jan  9 01:01 b.pl

guid habilitado y bit ejecutable deshabilitado (S mayúscula) – los bits rwxr-Sr-x están configurados.

$ chmod g-x b.pl
$  ls -lt b.pl 
-rwxr-Sr-x 1 root root 179 Jan  9 01:01 b.pl

pedacito pegajoso

El bit adhesivo, por otro lado, se denota como t , como con el /tmp directorio:

$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp

Este bit siempre debería haberse llamado "bit de eliminación restringida" dado que eso es lo que realmente connota. Cuando este bit de modo está habilitado, crea un directorio en el que los usuarios solo pueden eliminar archivos y directorios de los que son propietarios.

Relacionado:Papelera con 80 mil archivos. ¿"Vaciar papelera" no funciona?

extracto

BANDERA DE ELIMINACIÓN RESTRINGIDA O STICKY BIT

El indicador de eliminación restringida o sticky bit es un solo bit, cuya
interpretación depende del tipo de archivo. Para los directorios,
evita que los usuarios sin privilegios eliminen o cambien el nombre de un archivo en el directorio
a menos que sean propietarios del archivo o directorio; esto se denomina
bandera de eliminación restringida para el directorio, y se encuentra comúnmente en
directorios de escritura mundial como /tmp. Para los archivos normales en algunos
sistemas más antiguos, el bit guarda la imagen de texto del programa en el dispositivo de intercambio
para que se cargue más rápidamente cuando se ejecuta; esto se llama la parte pegajosa.


Linux
  1. ¿Cómo funciona Awk '!a[$0]++'?

  2. ¿Cómo funcionan las partes internas de Sudo?

  3. ¿Cómo funciona el comando Exit en una terminal Unix?

  4. ¿Cómo funciona el comando 'ls' en Linux/Unix?

  5. ¿Cómo funciona Rm? ¿Qué hace Rm?

¿Cómo funciona el intercambio de memoria en Linux?

¿Cómo funciona un depurador en Linux?

¿Cómo funciona el comando ps?

¿Cómo funciona la interfaz de bucle invertido?

¿Cómo funciona una GUI de Linux en el nivel más bajo?

¿Cómo funciona la pantalla de Linux?