Estoy intentando restringir a un usuario a un directorio específico llamado gclegal
usando una cárcel chroot. He descomentado la línea en el /etc/vsftpd.conf
archivo.
chroot_local_user=YES
Creó un nuevo usuario llamado kg
:
$ sudo groupadd xenomai
$ sudo useradd -d /var/www/html/gclegal -g xenomai kg
$ sudo passwd kg
Con esta configuración puedo iniciar sesión a través de vsftpd con kg
el usuario, pero también puedo volver a los directorios principales y modificarlos hasta /var/www/html
.
¿Cómo puedo desactivar todas las operaciones fuera del hogar del usuario ( /var/www/html/gclegal
)?
Respuesta1
A partir de la vsftpd
versión 2.2.2, hay dos opciones para mantener a los usuarios en una chroot
cárcel:
chroot_list_enable
Simplemente agregue usuarios a la chroot
lista, por ejemplo ( /etc/vsftpd/chroot_list
), que desea colocar en un archivo chroot jail
.
chroot_local_user
Esto colocará a todos los usuarios locales en una chroot
cárcel,sin embargo, si esto está configurado entonces se chroot_list
convierte en una lista de usuarios queNOir en un chroot jail
.
Por lo tanto, verifique que su lista no contenga usuarios kg
si los ha chroot_local_user=YES
configurado.
Obviamente reinicie el vsftpd
demonio después de realizar cambios de configuración.
Extracto de man vsftpd.conf
chroot_list_enable
If activated, you may provide a list of local users who are placed in a chroot() jail in their home directory upon login. The meaning is slightly different if
chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list
is /etc/vsftpd/chroot_list, but you may override this with the chroot_list_file setting.
Default: NO
chroot_local_user
If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning: This option has security implications, especially
if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They
apply to all FTP daemons which offer to put local users in chroot() jails.
Default: NO
He configurado vsftpd para chroot
los usuarios y estas son las /etc/vsftpd.conf
configuraciones que utilicé ( Ubuntu 14.04
):
listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
allow_writeable_chroot=YES
NOTA:
Asegurar /etc/vsftpd.chroot_list
o /etc/vsftpd/chroot_list
están vacíos.
Una vez que lo haga funcionar, si desea realizar un seguimiento de ftp
los inicios de sesión, puede configurarlos session_support=YES
y estos deberían aparecer usando el last
comando:
username vsftpd:12025 IP address Tue Oct 14 14:05 - 14:10 (00:05)
username vsftpd:12011 IP address Tue Oct 14 14:04 - 14:05 (00:00)
NOTA: la compatibilidad con utmp y wtmp solo se proporciona con compilaciones habilitadas para PAM.
Respuesta2
Configuré selinux permissive
y reinicié vsftpd.service
, lo que solucionó el problema.