Vorgänge außerhalb des Benutzer-Home-Verzeichnisses mit Chroot-Jail deaktivieren?

Vorgänge außerhalb des Benutzer-Home-Verzeichnisses mit Chroot-Jail deaktivieren?

Ich versuche, einen Benutzer gclegalmithilfe eines Chroot-Jails auf ein bestimmtes Verzeichnis zu beschränken. Ich habe die Zeile in der /etc/vsftpd.confDatei 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 kgdem 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 vsftpdVersion 2.2.2 gibt es zwei Möglichkeiten, Benutzer in einem chrootJail zu halten:

  • chroot_list_enable

Fügen Sie einfach Benutzer zur chrootListe 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 chrootGefängnis gesteckt.Jedoch, wenn dies gesetzt ist, chroot_listwird eine Liste von Benutzern erstellt, dieNICHTgeh in ein chroot jail.

Überprüfen Sie daher, dass Ihre Liste keine Benutzer enthält, kgfalls Sie diese chroot_local_user=YESkonfiguriert haben.

vsftpdStarten 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 chrootBenutzer konfiguriert und dies sind die /etc/vsftpd.confEinstellungen, 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_listdass oder /etc/vsftpd/chroot_listleer 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=YESDiese 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 permissiveund neu gestartet vsftpd.service, wodurch das Problem behoben wurde.

verwandte Informationen