gclegal
chroot 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_list
chroot 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
、問題は解決しました。