¿Cómo configurar sftp para que un usuario no pueda salir de su directorio de inicio, asegurándose de que ningún otro usuario se vea afectado? Bueno, hay una manera fácil de hacerlo. Podemos chroot todos los usuarios locales al directorio $HOME predeterminado o hacerlo solo para usuarios específicos. Esta publicación enumera específicamente los pasos para chroot vsftpd solo para usuarios específicos.
CentOS / RHEL:cómo configurar chroot jail para vsftp para todos los usuariosEstablezca chroot jail en el directorio $HOME predeterminado para todos los usuarios locales excepto unos pocos
1. En el archivo de configuración del servidor VSFTP /etc/vsftpd/vsftpd.conf, configure:
# vi /etc/vsftpd/vsftpd chroot_local_user=YES chroot_list_enable=YES
2. Agregue usuarios que NO requieran chroot jail en /etc/vsftpd/chroot_list expediente. Para este ejemplo, agregaremos los usuarios usuario01 y usuario02:
# cat /etc/vsftpd/chroot_list user01 user02
3. Reinicie el servicio vsftpd en el servidor VSFTP:
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. Pruebe un usuario user01 que esté configurado para chroot jail y cree un directorio en el directorio chroot:
# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user01 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" ftp> ls 227 Entering Passive Mode (192.168.149.10,61,227) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (192.168.149.10,61,163) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail 257 "/chroot_jail" created ftp>
5. Verifique el directorio creado en el servidor VSFTP:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. Pruebe un usuario user03 que esté excluido de chroot jail:
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user03 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/user03" ftp> cd / 250 Directory successfully changed. ftp> mkdir chroot_jail 257 "/chroot_jail" created ftp>
7. Verifique el directorio creado en el servidor VSFTP:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail
Establezca chroot jail en el directorio $HOME predeterminado solo para algunos usuarios locales
1. En el archivo de configuración del servidor VSFTP /etc/vsftpd/vsftpd.conf , establecer:
chroot_list_enable=YESNota :Asegúrese de que “chroot_local_user ” es NO establecido en “SÍ “.
2. Enumere los usuarios que requirieron chroot jail en /etc/vsftpd/chroot_list , agregue los usuarios usuario01 y usuario02:
[root@ftp_host ~]# cat /etc/vsftpd/chroot_list user01 user02
3. Reinicie el servicio vsftpd en el servidor VSFTP:
[root@ftp_host ~]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. Pruebe un usuario user01 que esté configurado para chroot jail y cree un directorio en el directorio chroot:
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user01 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" ftp> ls 227 Entering Passive Mode (192.168.149.10,238,61) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (192.168.149.10,83,211) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail 257 "chroot_jail" created ftp>
5. Verifique el directorio creado en el servidor VSFTP:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. Pruebe un usuario user03 que esté excluido de chroot jail:
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user03 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/user03" ftp> ls 227 Entering Passive Mode (192.168.149.10,231,117) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> mkdir chroot_jail 257 "chroot_jail" created ftp>
7. Verifique el directorio creado en el servidor VSFTP:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail