Ich versuche, einen Benutzer gclegal
mithilfe eines Chroot-Jails auf ein bestimmtes Verzeichnis zu beschränken. Ich habe die Zeile in der /etc/vsftpd.conf
Datei auskommentiert
chroot_local_user=YES
Es wurde ein neuer Benutzer mit dem Namen erstellt kg
:
$ sudo groupadd xenomai
$ sudo useradd -d /var/www/html/gclegal -g xenomai kg
$ sudo passwd kg
Mit dieser Konfiguration kann ich mich über vsftpd mit kg
dem Benutzer anmelden, aber ich kann auch zu den übergeordneten Verzeichnissen zurückblättern und sie ändern, bis /var/www/html
.
Wie kann ich sämtliche Vorgänge außerhalb des Zuhauses des Benutzers ( /var/www/html/gclegal
) deaktivieren?
Antwort1
Ab vsftpd
Version 2.2.2 gibt es zwei Möglichkeiten, Benutzer in einem chroot
Jail zu halten:
chroot_list_enable
Fügen Sie einfach Benutzer zur chroot
Liste hinzu, zB ( /etc/vsftpd/chroot_list
), die Sie in einem platzieren möchten chroot jail
.
chroot_local_user
Dadurch werden alle lokalen Benutzer in ein chroot
Gefängnis gesteckt.Jedoch, wenn dies gesetzt ist, chroot_list
wird eine Liste von Benutzern erstellt, dieNICHTgeh in ein chroot jail
.
Überprüfen Sie daher, dass Ihre Liste keine Benutzer enthält, kg
falls Sie diese chroot_local_user=YES
konfiguriert haben.
vsftpd
Starten Sie den Daemon nach dem Vornehmen von Konfigurationsänderungen natürlich neu .
Auszug aus 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
Ich habe vsftpd für chroot
Benutzer konfiguriert und dies sind die /etc/vsftpd.conf
Einstellungen, die ich verwendet habe ( 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
NOTIZ:
Stellen Sie sicher , /etc/vsftpd.chroot_list
dass oder /etc/vsftpd/chroot_list
leer sind.
Wenn Sie es zum Laufen gebracht haben und die Anmeldungen verfolgen möchten ftp
, können Sie diese mit dem folgenden Befehl festlegen. session_support=YES
Diese sollten dann angezeigt werden :last
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)
HINWEIS: utmp- und wtmp-Unterstützung wird nur bei PAM-fähigen Builds bereitgestellt.
Antwort2
Ich habe selinux auf eingestellt permissive
und neu gestartet vsftpd.service
, wodurch das Problem behoben wurde.