Table of Contents
Chroot users, ejemplo para EADB
reescrito porque tenia errores antes
Lo que quiero hacer
Quiero que cada usuario de eadb entre en su directorio y no vea absolutamente mas nada. Voy a crear un subsistema basico para cada usuario y cuando entre va a parecer que esta solo en la maquina.
Como lo hago
Ejemplo, usuario: eadb2. Para crear un entorno virtual en /nas/eadb/eadb2 ,
[root@detritus ~]# mkdir -p /nas/eadb/eadb2 [root@detritus ~]# mkdir -p /nas/eadb/eadb2/var/lib/rpm [root@detritus ~]# rpm --rebuilddb --root=/nas/eadb/eadb2 [root@detritus ~]# rpm -i --root=/nas/eadb/eadb2 --nodeps centos-release-6-10.el6.centos.12.3.x86_64.rpm warning: centos-release-6-10.el6.centos.12.3.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY [root@detritus ~]# yum --installroot=/nas/eadb/eadb2 install -y rpm-build yum Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process ....
y ahora hemos de crear los dispositivos virtuales, dar permisos correctos, etc
[root@detritus ~]# cd /nas/eadb/eadb2/ [root@detritus eadb2]# chown root:root /nas/eadb/eadb2 [root@detritus eadb2]# chmod 0755 /nas/eadb/eadb2 -R [root@detritus eadb2]# mknod -m 666 null c 1 3 [root@detritus eadb2]# mknod -m 666 tty c 5 0 [root@detritus eadb2]# mknod -m 666 zero c 1 5 [root@detritus eadb2]# mknod -m 666 random c 1 8
Ahora ya creas el usuario
[root@detritus eadb2]# useradd -d /home/eadb2 eadb2 [root@detritus eadb2]# passwd eadb2 Changing password for user eadb2. New password: Retype new password: passwd: all authentication tokens updated successfully.
Ahora copias el user y el skeleton al home de la maquina virtual,
[root@detritus eadb2]# grep eadb2 /etc/passwd >> etc/passwd [root@detritus eadb2]# grep eadb2 /etc/group >> etc/group [root@detritus eadb2]# cp -r /home/eadb2 home/
ahora se ha de editar el /etc/ssh/sshd_config y añadir estas lineas al final
Match User eadb2 ChrootDirectory /nas/eadb/eadb2
y reiniciar el sshd
[root@detritus eadb2]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
Donde pongo lo que quiero compartir:
Aunque el usuario tendra en principio acceso a la maquina virtual en si, lo que se desee compartir debe ir, en este caso a:
/nas/eadb/eadb2/home/eadb2/