Linux en el análisis SUID, SGID

  
 

Hoy de examinar la cuestión de SUID y SGID, escrito cuando es esta de rodillas, amargas lágrimas ah ~

En primer lugar, en virtud de la representación Linux y analizar los permisos de archivo en

SUID es Set ID de usuario, SGID Set ID de grupo es la media. En Linux se puede utilizar el comando ls -l para ver los permisos de archivo. Formato representación obtenida por el comando ls es así: -rwxr-xr-x. Este método representa un total de diez:

9 8 7 6 5 4 3 2 1 0 - rwxr - xr - x

9 indica el tipo de archivo, puede ser p, d, l, s, c, b y a -, 8-6 bits de, los bits 5-3, los bits 2-0 representan los permisos de propietario del archivo, grupo de usuarios con privilegios, derechos de otros usuarios, la forma rwx:

 r para lectura, w puede leer el archivo de contenido representa escribir, puede modificar el contenido del archivo x representa el programa ejecutable se puede ejecutar - es decir, sin el permiso correspondiente 

Si un archivo está configurado los bits SUID o SGID se reflejarán en el propietario de los derechos de bits ejecutable o usuario del mismo grupo, respectivamente. Por ejemplo (mayúsculas y minúsculas):

 1, -rwsr-xr-x representa los permisos de propietario y SUID bit ejecutable se establece 2, -rwsr - r-- representa SUID se proporciona, pero el propietario bit de permiso de ejecución no se ha establecido 3, -rwxr-sr-x representa el mismo grupo de usuarios y SGID bit de permiso de ejecución se establece en 4, -rw-r-Sr-- representa se proporciona SGID, pero el mismo conjunto de permisos de usuario bit de ejecución no se establece 

de hecho, la implementación de UNIX, los permisos de archivo representados por 12 bits, si el valor de esta ubicación es 1, indica que los permisos apropiados:

11 10 9 8 7 6 5 4 3 2 1 0 SGT
rwxrwxrwx

es una SUID de 11 bits, el décimo bit es SGID bits, el noveno bit del bit pegajoso correspondientes a los bits superiores 8-0 de los tres bits rWX . Por ejemplo:

es la -rwsr-xr-x: 1 0 0 1 1 1 1 0 1 1 0 1 -rw-r-Sr-- valor: 01011010 0 1 0 0

y para añadirlos comandos SUID SUID sigue:

 chmod u + s nombre de archivo proporcionado bit SUID SUID retira nosotros chmod nombre de archivo de nombre de archivo proporcionado chmod g + s SGID bits chmod gs se proporciona el nombre de archivo para eliminar SGID 

otro método consiste en establecer el método de representación octal comando chmod. Si usted entiende la representación anterior 12 derechos es también muy simple. Tales como:

 chmod 4xxx nombre de archivo el bit SUID 

dos, y SUID SGID análisis detallado de

es debido SUID y SGID cuando la ejecución del programa (un poco ejecutable de programa esté ajustado) a partir de papel, pero solo bit de ejecución normal de los archivos y directorios de archivos significativa, por lo que establecen el bits SUID y SGID otros tipos de archivos es de poca importancia.

1, un archivo normal

mi_archivo archivo ordinario si el usuario pertenece a foo, es ejecutable SUID poco ahora no se establece, los comandos LS son los siguientes:

-rwxr -X-x 1 foo personal 7734 Abr 05 17:07 mi_archivo //cualquier usuario puede ejecutar este programa.

kernel de UNIX se basa en lo que es un proceso para determinar el acceso a los recursos de TI? El usuario se está ejecutando este proceso ID (eficaz), incluyendo identificación de usuario y groupid. Los usuarios pueden utilizar el comando id para fundar su propia cuenta o ID de usuario y grupo de otro usuario ID. Además de la identificación de usuario general y Identificación del Grupo, ID de llamada eficaz y dos, que es el ID eficaz, como se representa por los cuatro Identificación arriba: uid, gid, euid, egid. El proceso principal del núcleo es determinar el acceso a los recursos basados ​​en euid y egid.

Si un proceso no es los bits SUID o SGID, entonces euid = uid egid = gid, respectivamente, del usuario que ejecuta el programa uid y gid. Si el uid y gid Kevin respectivamente 204 y 202, foo el uid y gid a 200.201, euid Kevin corriendo proceso de formación de programa myfile = uid = 204, egid = gid = 202, el núcleo determina a partir de estos valores proceso de limitar el acceso a los recursos, de hecho, los derechos de usuario Kevin para acceder a los recursos, y foo no importa.
uid

Si un programa se establece SUID, euid y el programa se ejecuta en propietarios EGID y GID, por ejemplo, Kevin usuario ejecuta mi_archivo, euid = 200, egid = 201, uid = 204, gid = 202, entonces el proceso tiene acceso a los recursos de su foo propietario.

efecto SUID es la siguiente: Cuando permitiendo a los usuarios que no tienen los permisos adecuados para ejecutar el programa, él no tenía acceso al acceso a los recursos. passwd es un ejemplo muy vívido. prioridad más alta que la SUID SGID, cuando un programa ejecutable se establece SUID, SGID cambiará automáticamente a la egid apropiado.

Un ejemplo se explica a continuación:

sistema UNIX tiene un /dev /kmem archivo de dispositivo es un dispositivo de archivo de carácter, que almacena los datos para acceder programa básico, incluyendo la contraseña del usuario. Por lo tanto, este documento no saben leer y escribir para el usuario general, el permiso se establece en:

cr - r ----- 1 sistema de raíz 2, 1 de mayo de 1998 25 de KMEM

ps pero otros procedimientos al leer este archivo, permisos ps sigue:

-r-xr-sr-x 1 sistema de la papelera 59346 Abr 05 de 1998 ps

este es un conjunto de programas SGID, y los usuarios de EP son bin, no la raíz, por lo que no se puede establecer la SUID para acceder kmem, pero nos presten atención, bin y sistema de raíces pertenecen al grupo, y el conjunto ps SGID, los usuarios en general ejecutar ps, obtendrá el sistema de establecer permisos de usuario, el mismo grupo de usuarios de permisos kMEM archivos son legibles, por lo que el usuario medio para realizar ps no hay problema.

Sin embargo, algunas personas dicen, ¿por qué no ps programa se establece en el programa de usuario root y luego establece el bit SUID, no es todo bien? Este hecho puede resolver el problema, pero en la práctica por qué no hacerlo? SGID SUID porque el riesgo es mucho menor que, por lo que por razones de seguridad del sistema, debe tratar de sustituir con el programa SUID SGID, si es posible.

2, catálogo de archivos

SUID ningún efecto sobre el directorio. Si un directorio se establece el bit SGID, por lo que si cualquier usuario tiene permisos de escritura en el directorio, a continuación, el grupo presentará había construido en este directorio automáticamente se convertirá en el grupo en el que el propietario del directorio y el cambio de propietario del archivo o pertenecer a la creación del usuario de este documento.

En tercer lugar, utilizar el comando find para encontrar el SUID y SGID archivos

 encuentre -perm 4000 type f 

Encuentra todos los archivos SUID
1 de ordinario

 encuentre -perm 2000 type f 

Encuentra todas SGID un archivo normal
1 de

Copyright © Conocimiento de Windows All Rights Reserved