Hoy vamos a explicar un método para controlar el acceso de los usuarios al comando su que permite hacerse pasar por otro usuario del sistema o por root si no se le pasan parámetros.
Si escribimos
su -
También cargaremos el entorno (variables del sistema) de ese usuario.
Lo primero que tenemos que hacer es ver cuales son los permisos del binario, en Debian son estos.
$ ls -l /bin/su -rwsr-xr-x 1 root root 34024 sep 26 15:59 /bin/su
Vemos que tiene activado SetUID, lo que significa que el usuario que ejecuta lo hace con los permisos del propietario del binario.
Para controlar que usuarios van a poder ejecutar este comando vamos a crear un grupo, por ejemplo su
# groupadd su
Cambiamos el grupo de su
# chgrp su /bin/su
Y ajustamos los permisos para que no sea leído/ejecutado por el mundo
# chmod 4750 /bin/su
Nos queda así
$ ls -l /bin/su -rwsr-x--- 1 root su 27108 nov 14 2009 /bin/su
Ahora tomamos los usuarios que queramos que puedan hacer su al sistema y los agregamos al grupo
# usermod -G [grupos],su
La sintaxis del comando usermod para cambios de grupo obliga a poner todos los grupos a los que el usuario pertenece, si no lo haces, solo quedará en el grupo su.
Históricamente, esto se hacía a traves del grupo wheel pero cayó en desuso.
Pingback: Tweets that mention nordri's Blog » Controlando Acceso al Comando SU -- Topsy.com