LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 
En este artículo te vamos a demostrar como crear una jaula para un usuario, lo vamos a hacer de forma rápida y cómoda, el usuario root, es el único que puede enjaular a los usuarios, de esta forma el sistema estará mucho más seguro.

Tras identificarnos como root

su -

Creamos el usuario

adduser pajaro
passwd ******


El siguiente paso se puede hacer de muchas formas, desde editar el fichero /etc/passwd, hasta crear nuestra propia shell a través de un simple shell script, y vamos a hacer esto último:

Con nuestro editor de textos simple preferido, creamos una shell que se llamo "jaula" en /bin

gvim /bin/jaula

Y ahora le quedamos el siguiente contenido:

------------------------
#!/bin/bash
/usr/sbin/chroot /home/jaula /bin/bash

--------------------------

Le damos permisos de ejecución al fichero:
chmod a+x /bin/jaula

Opcionalmente podemos crearle una mini estructúra de directorios que pueda ejecutar una serie de aplicaicones básica, con ficheros ejecutables y librerías.

Por ejemplo, si queremos darle permisos de ejecución de bash, debemos comprobar que dependencias necesita:

root@localhost ~]# ldd /bin/bash
linux-gate.so.1 => (0x0013c000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4ecec000)
libdl.so.2 => /lib/libdl.so.2 (0x4ee70000)
libc.so.6 => /lib/libc.so.6 (0x4ed08000)
/lib/ld-linux.so.2 (0x4e339000)
[root@localhost ~]#

Así pues, copiamos los directorios:

cp /lib/libc.so.6 /home/pajaro/lib/

Si quisieramos saber lo loalización exacta del fichero, por ejemplo "libdl" escribimos

[root@localhost ~]# whereis libdl
libdl: /usr/lib/libdl.a /usr/lib/libdl.so
[root@localhost ~]#

y crearemos la estructura similar...

mkdir /home/pajaro/usr/lib

y luego copiaremos

cp /usr/lib/libdl.so /home/pajaro/usr/lib/


Bueno, ya tenemos todo listo, aunque ahora mismo el usuario no podría hacer nada, así que le dejamos por ejemplo que pueda hacer ls y cp Para ello debemos copiar /bin/ls a /home/pajaron/bin, deberíamos comprobar de qué librerías dependen:

Como ya tenemos creada la jaula, vamos a permitirle que pueda hacer "ls" y "cp", para ello comprobamos que dependencias necesita para poder copiarselas...

ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x40028000)
libc.so.6 => /lib/tls/libc.so.6 (0x42100000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40008000)

Y lo copiamos...

cp /bin/ls /home/pajaro/bin
cp /bin/cp /home/pajaro/bin

Utilizaremos la aplicación usermod, para indicarle la "shell" para el usuario pájaro
la siguiente forma:
usermod -s /bin/jaula pajaro.

Podríamos hacer más cositas con la jaula del usuario, pero te invitamos a que le heches un vistazo a chroot.

[ 1 ],
[ 2 ], [ 3 ], [ 4 ].

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías