SUID
El bit fijo se aplicó a los programas ejecutables que marcaban el sistema para mantener una imagen del programa en la memoria después de que el programa terminó de ejecutarse.
Pero no sé lo que está almacenado en la memoria. ¿Y cómo puedo verlos, en este caso?
filesystems
permissions
fluke-ng
fuente
fuente
Respuestas:
Esta es probablemente una de las cosas más molestas que la gente comete todo el tiempo. El bit SUID / GUID y el bit adhesivo son 2 cosas completamente diferentes.
Si lo hace
man chmod
, puede leer sobre el SUID y los bits adhesivos. La página de manual también está disponible aquí .antecedentes
extracto
SUID / GUID
Lo que la página de 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 la x se convierte un 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
Ejemplos de SUID / GUID
sin suid / guid : solo se configuran los bits rwxr-xr-x .
bit ejecutable de suid y usuario habilitado (s minúscula) : se establecen los bits rwsr-xrx .
suid habilitado y bit ejecutable deshabilitado (S mayúscula) : se establecen los bits rwSr-xr-x .
bit ejecutable de guid & group habilitado (minúsculas) : se establecen los bits rwxr-sr-x .
guid habilitado y bit ejecutable deshabilitado (S mayúscula) : se establecen los bits rwxr-Sr-x .
poco pegajoso
El bit adhesivo, por otro lado, se denota como
t
, por ejemplo, con el/tmp
directorio: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 de modo que los usuarios solo puedan eliminar archivos y directorios de los que son propietarios.
extracto
fuente
ls
. Obviamente, solo el superusuario podría establecer el bit adhesivo en un archivo. Se volvió menos importante después de que se introdujeron la memoria virtual y las bibliotecas compartidas, y especialmente a medida que los localizadores se volvieron más inteligentes y podían decidir dinámicamente qué páginas mantener como residentes.ed
pegajoso.Creo que es información bastante obsoleta, hoy en día la mayoría de los Unix modernos ignoran eso. En Linux, el bit adhesivo solo es relevante para los directorios. Vea aquí y el artículo de Wikipedia bastante informativo .
De todos modos, en ese viejo comportamiento, la imagen (solo el "código", no los datos) solo se mantuvo en la memoria virtual, normalmente intercambiada, no en la memoria real, para ejecutarla más rápido la próxima vez.
fuente
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 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.
fuente