jueves, 21 de abril de 2011

Evitar que los usuarios naveguen fuera de su HOME



Me ha pasado varias veces o he visto el caso de que necesitamos crear un usuario (Por ejemplo para un servidor FTP) y que acceda sólamente a los archivos de su HOME. Sin embargo, al agregar el usuario, siguiendo el método tradicional, vemos que éste fácilmente, puede realizar un "cd .." para salir de su HOME, y aunque quizás no  pueda hacer daños si no tiene permisos de escritura y no se encuentra en el archivo SUDOERS. Bien es cierto que éste usuario posiblemente vea nuestros archivos privados o conozca la cuidada estructura de directorios de nuestros sitio, ver el archivo de configuración donde nos conectamos a la BD.. entre muchas otras cosas.
Hay distintas formas de evitar esto, yo personalmente, sólo me familiarizo con una, y aunque sólo llega  a ser un 90% eficiente, creo que es la más equilibrada en cuanto a Eficiencia/Complejidad.

Para lograr nuestro cometido vamos a usar rbash que no es más es un "bash restringido" que no permite al usuario realizar comandos "cd" dentro de su sesión. rbash NO es una aplicación, es un enlace simbólico al bash tradicional, viene por defecto en Ubuntu, en otras distros como Fedora podemos usar los siguientes comandos (Como Root) para configurarlo:

ln -s /bin/bash /bin/rbash
echo “/bin/rbash” >> /etc/shells

Ahora, supongamos que vamos a adicionar un nuevo usuario cuyo login será newuser, y éste va a estar restringido sólo a su HOME.

useradd -s /bin/rbash newuser

En la parte negrita le estamos asignando al usuario nuevo (newuser) el Shell rbash.

Supongamos que lo que queremos hacer es agregar estas restricciones a un usuario ya existente, para esto, como Root, vamos a editar el archivo /etc/passwd.

nano /etc/passwd

Y buscamos la línea donde se encuentra el usuario al cual deseamos restringir, por ejemplo, yo quiero restringir al usuario Yefb (Yo mismo :P):


Yefb:x:500:500:Yeiner Fernandez:/home/Yefb:/bin/bash


Reemplazamos la parte negrita por /bin/rbash, nos queda algo así:


Yefb:x:500:500:Yeiner Fernandez:/home/Yefb:/bin/rbash


Ahora, cuando entre el usuario Yefb y trate de ejecutar algún comando "cd", la consola le va a mostrar un mensaje como :


rbash: cd: restringido

Fácil, ¿no?

P.D: La imagen de arriba ha sido mi primer intento con Inkscape, se aceptan críticas XD.
Publicar un comentario