Cargando



SET UID y GID a ficheros y directorios Linux

Setuid y Setgid son términos de Unix, abreviaturas para "Set User ID" y "Set Group ID", respectivamente. Setuid, también llamado a veces "suid", y "setgid".


feb 04 2014 20:09
Avanzado
jul 28 2016 18:29

Setuid y Setgid son términos de Unix, abreviaturas para "Set User ID" y "Set Group ID", respectivamente. Setuid, también llamado a veces "suid", y "setgid" son permisos de acceso que pueden asignarse a archivos o directorios en un sistema operativo basado enUnix. Se utilizan principalmente para permitir a los usuarios del sistema ejecutar binarios con privilegios elevados temporalmente para realizar una tarea específica.

 

Estos permisos son los siguientes:

 

SetUID.jpg

 

SET UID
set-user-ID-on-execution
Permite que, al ejecutarse un fichero, se realice bajo los privilegios del propietario. Por ejemplo, si necesitamos ejercer los privilegios de root para poder acceder a cierto módulo, escribir en logs, leer/escribir de dispositivos, etc.
SGID, set-group-ID-on-execution permite que, al ejecutarse un fichero, se realice bajo los privilegios del grupo propietario del ficheros.

 

Hacer SET UID y GID a ficheros y directorios, generalmente a estos últimos, permitirá una "herencia" de características del directorio anterior al siguiente, y todos los ficheros/directorios que se generen/cree/copien en los directorios SET GID, tendrán las características del directorio padre.

 

Generalmente se permite GID para que los usuarios de un grupo puedan trabajar con los ficheros de ese mismo grupo, UID podrá hacer cambiar por otra persona del GRUPO el dueño del fichero y los permisos, si tiene activo la opción "pinchable"

 

SET GID

SET GID es una opción interesante si muchos usuarios van a acceder a un sistema de almacenamiento común, bien sea
  • SAMBA
  • FTP
  • HTTP
  • Bases de Datos

 

 

Ejemplo para implementar SET UID y GID


Desde la terminal realizamos las siguiente tareas:

 

Creamos un directorio de ejemplo:

[root@root] mkdir EJEMPLO
Listamos el directorio:
[root@root] vdir
Cambiamos los permisos del directorio para que solo los usuarios del grupo “programadores” puedan acceder, los permisos son parámetros del comando chmod y son los siguientes
+s: para activar el modo suid
g+s: para activar el modo sgid
[root@root]# chown usuario.programadores
[root@root]# chmod g+s EJEMPLO
[root@root]# vdir
Listamos el directorio y veremos el contenido
4 drwxrwxrwx 2 usuario programadores EJEMPLO
Por defecto ningún usuario que no pertenezca al grupo “programadores” podrá trabajar con los archivos de ese directorio. Por otra parte los usuarios del grupo podrán trabajar con los ficheros dependiendo de sus atributos que tengan los usuarios, si tienen permisos de solo lectura o escritura.

 

Algunos software y servicios como Samba, FTP, HTTP, tienen características especiales que no se rigen por estas normas y las complementan enriqueciéndolas.

 

Ahora que hemos creado el SET UID y GID, si creamos un archivo o directorio dentro de ejemplo desde cualquier usuario, este heredara las caracteristicas que hemos definidos anteriormente, independientemente de quien lo haya creado y los permisos que tenga.

 

Como ejemplo podemos decir si creamos un archivos informe.txt en el directorio EJEMPLO y el usuario que lo ha creado es root, y sin embargo el grupo es programadores, el grupo al que pertenecerá el archivo será programadores.
Al estar el directorio EJEMPLO con los atributos: drwxrwsrwx, indicandolas, que el directorio se encuentra SET GID, todos los ficheros que se creen en el pertencerán al usuario y al grupo que indique el SET GID.

 

Si vemos un listado con varios archivos se vería así:

4 drwxr-Sr-x 2 jose programadores 4096 home.html
4 drwxr-Sr-x 2 carlos programadores 4096 dependencias.txt
4 drwxr-Sr-x 2 root programadores 4096 informe-proyecto.odf
Espero que os sirva este tutorial.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X