web-dev-qa-db-ja.com

chroot jailでユーザーのホームディレクトリ外の操作を無効にしますか?

Chroot jailを使用して、ユーザーをgclegalという特定のディレクトリに制限しようとしています。 /etc/vsftpd.confファイルの行のコメントを解除しました

chroot_local_user=YES

kgという新しいユーザーを作成しました:

$ Sudo groupadd xenomai
$ Sudo useradd -d /var/www/html/gclegal -g xenomai kg
$ Sudo passwd kg 

この構成では、vsftpdを介してkgユーザーでログインできますが、親ディレクトリに戻ってそれらを/var/www/htmlまで変更することもできます。

ユーザーのホーム(/var/www/html/gclegal)外ですべての操作を無効にするにはどうすればよいですか?

5
UserK

vsftpdバージョン2.2.2から作業すると、ユーザーをchroot刑務所に留めるための2つのオプションがあります。

  • chroot_list_enable

ユーザーをchrootリストに追加するだけです。 (/etc/vsftpd/chroot_listchroot jailに配置したいもの。

  • chroot_local_user

これにより、すべてのローカルユーザーがchroot jail、howeverに配置されます。これが設定されている場合、chroot_listDO NOTのユーザーのリストになります= chroot jailに入ります。

したがって、chroot_local_user=YESを構成している場合は、リストにユーザーkgが含まれていないことを確認してください。

明らかに構成変更を行った後、vsftpdデーモンを再起動します。

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

Vsftpdをchrootユーザーに設定しました。これらは私が使用した/etc/vsftpd.conf設定です(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

注:/etc/vsftpd.chroot_listまたは/etc/vsftpd/chroot_listが空であることを確認します。


それが機能するようになったら、ftpログインを追跡したい場合は、session_support=YESを設定できます。これらは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)

注-utmpおよびwtmpのサポートは、PAM対応のビルドでのみ提供されます。

7
geedoubleya