①インストール $ sudo apt-get install vsftpd
②vsftpd.confの設定設定先
/etc/vsftpd.conf
設定ファイルを編集前にバックアップを取っておく。
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.1
$ ll /etc | grep vsftpd
-rw-r--r-- 1 root root 5385 2010-09-04 02:08 vsftpd.conf
-rw-r--r-- 1 root root 5385 2010-12-19 17:41 vsftpd.conf.1
条件
1.匿名ユーザログイン不可
2.一般ユーザのログイン許可
3.書き込み可
設定箇所
anonymous_enable=NO :匿名ユーザログイン不可
local_enable=YES :一般ユーザのログイン許可
write_enable=YES :書込み(および削除)許可
chroot_local_user=YES :ホームディレクトリ以外はアクセス不可
chroot_list_file=/etc/vsftpd.chroot_list :ホームディレクトリ以外アクセス不可とするユーザリストの絶対パスを指定
local_umask=022 :デフォルトのアクセス権(DIR 755、FILE 644)
xferlog_enable=YES :ログ作成を許可
xferlog_file=/var/log/vsftpd.log :ログファイルの絶対パスを指定
ascii_upload_enable=YES :アスキーモードでアップロード
ascii_download_enable=YES :アスキーモードでダウンロード
ls_recurse_enable=YES :ディレクトリの一括削除を許可
変更が終わったら設定ファイルを保存する。
③chroot_listの設定「②」で
・chroot_local_user
・chroot_list_file
を設定している場合、「chroot_list_file」に指定したファイルを編集または作成する。
sudo vi /etc/vsftpd.chroot_list
アクセスを制限したいユーザ名を次のように列記する。
user1
user2
user3
…
編集が終わったら保存する。
④サービスの再起動変更を有効にするため、サービスを再起動する。
$ sudo service vsftpd restart
⑤動作確認ホストOSから動作確認する。コマンドプロンプト(cmd.exe)からFTPを利用する。
> ftp 192.168.56.102
次のようなメッセージが表示されれば成功。
192.168.56.102 に接続しました。
220 (vsFTPd 2.3.0)
ユーザー (192.168.56.102:(none)): # ホスト名を特に設定していないのでnoneと表示される
331 Please specify the password.
パスワード:
230 Login successful.
ftp> pwd :chroot_listが有効になっているか確認する
257 "/"
ftp> bye
221 Goodbye.
以上。
[0回]
PR