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
)外ですべての操作を無効にするにはどうすればよいですか?
vsftpd
バージョン2.2.2から作業すると、ユーザーをchroot
刑務所に留めるための2つのオプションがあります。
chroot_list_enable
ユーザーをchroot
リストに追加するだけです。 (/etc/vsftpd/chroot_list
)chroot jail
に配置したいもの。
chroot_local_user
これにより、すべてのローカルユーザーがchroot
jail、howeverに配置されます。これが設定されている場合、chroot_list
はDO 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対応のビルドでのみ提供されます。