[opensuse-es] Enjaular usuarios
Hola, el asunto del correo me hace pensar en otras actividades, pero por ahora me centraré en lo que os quería comentar. Ando intentando hacer un chroot a un usuario, pero no quiero que pueda hacer nada. Realmente es un usuario para que puedan hacer rsync a mi máquina, por lo que no quiero que tenga nada en especial, simplemente que pueda laeer los archivos que le pongo en la jaula, pero claro, hago el rsync sobre ssh por lo que al menos tendré que dejarle que se pueda logar. El caso es que he puesto al final de /etc/ssh/sshd_config las lineas: Match User test ChrootDirectory /chroot AllowTcpForwarding no He creado /chroot donde he ejecutado (por consejo de google): # mkdir {bin,dev,lib} # cp -p /bin/bash bin/ # cp -p /lib/{ld-linux.so.2,libc.so.6,libdl.so.2} lib/ # mknod dev/null c 1 3 # mknod dev/zero c 1 5 # chmod 0666 dev/{null,zero} # mkdir /chroot/home En /etc/passwd he cambiado el home del usuatio test a /chroot/home/test: test:x:1000:100:test user:/chroot/home/test:/bin/bash Y he movido /home/test a /chroot/home/test. reinicio el servidor sshd... pero no funciona ni hacer un ssh a la máquina, ni un rsync.
ssh test@maquina Password: Connection to maquina closed by remote host. Connection to maquina closed.
rsync -va test@maquina:/home/test . Password: Connection to maquina closed by remote host. rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: unexplained error (code 255) at io.c(453) [receiver=2.6.9]
Pero en el log no deja muchas pistas, en messages solo aparece: Mar 24 12:22:49 maquina sshd[23192]: Accepted keyboard-interactive/pam for test from xxx.xxx.xxx.xxx port 40540 ssh2 Se os ocurre el motivo o alguna altenativa simple? Gracias. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Miércoles 24 Marzo 2010, Enrique escribió:
Hola,
el asunto del correo me hace pensar en otras actividades, pero por ahora me centraré en lo que os quería comentar.
Ando intentando hacer un chroot a un usuario, pero no quiero que pueda hacer nada. Realmente es un usuario para que puedan hacer rsync a mi máquina, por lo que no quiero que tenga nada en especial, simplemente que pueda laeer los archivos que le pongo en la jaula, pero claro, hago el rsync sobre ssh por lo que al menos tendré que dejarle que se pueda logar.
El caso es que he puesto al final de /etc/ssh/sshd_config las lineas: Match User test ChrootDirectory /chroot AllowTcpForwarding no
He creado /chroot donde he ejecutado (por consejo de google):
# mkdir {bin,dev,lib}
# cp -p /bin/bash bin/
# cp -p /lib/{ld-linux.so.2,libc.so.6,libdl.so.2} lib/
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# chmod 0666 dev/{null,zero}
# mkdir /chroot/home
* Pocas cosas hay el chroot, eso me huele mas a sftp, haz un ldd a rsyc y ssh, por que a bote pronto faltan los binarios, en cualquier caso seguramente, necesitaras una shell que no sea /bin/bash , scponly o algo por el estilo en resumen busca informacion sobre shells restringidas y orientadas a los chroot, scponly, scpsftprsynconly. * habia un paquete, compartm , con el que mediante un script se hacia un chroot en caliente al login, que es lo suyo, no vas a hacer uno por cada usuario de la maquina. * No se la situacion actual de openssh en cuanto a chrootear usuarios, pero me da que esas facilidades van por sftp no por ssh que es lo que necesita rsync ya que ha de ejecutar comandos, chmod, chown, mkdir, etc ...............
participants (2)
-
Enrique
-
jose maria