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

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

gclegalchroot jailを使用して、ユーザーを特定のディレクトリに制限しようとしています。/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

答え1

バージョン 2.2.2以降ではvsftpd、ユーザーを jail に保持するためのオプションが 2 つありますchroot

  • chroot_list_enable

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

  • chroot_local_user

これにより、すべてのローカルユーザーが刑務所に入れられchrootしかし、これが設定されている場合、はchroot_listユーザーのリストになりますしないでくださいに入りますchroot jail

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

当然ですが、vsftpd設定を変更した後はデーモンを再起動してください。

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

chroot私はユーザーに対して vsftpd を設定しており、/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 対応ビルドでのみ提供されます。

答え2

selinux を に設定しpermissiveて再起動するとvsftpd.service、問題は解決しました。

関連情報