なのでVSFTPDをインストールします。
EVERノートから引っ張り出してきます。
sudo apt-get install vsftpd
vsftpの設定
設定が完了するまで、vsftpを停止します。
sudo /etc/init.d/vsftpd stop
Stopping FTP server: vsftpd.
匿名ユーザーでのログインは禁止し、サーバーにアカウントのあるユーザーだけがログインできるようにします。
設定ファイルは以下
/etc/vsftpd.conf
sudo vi /etc/vsftpd.conf
修正する内容匿名ユーザーのログインの禁止
anonymous_enable=YES
↓
anonymous_enable=NO
anonymous_enable=YES
↓
anonymous_enable=NO
サーバーにアカウントのあるユーザーのログインを許可
#local_enable=YES
↓
local_enable=YES
#local_enable=YES
↓
local_enable=YES
アップロードをするので書き込みを許可する
#write_enable=YES
↓
write_enable=YES
#write_enable=YES
↓
write_enable=YES
書き込み時のパーミッションの設定
#local_umask=022
↓
local_umask=022
#local_umask=022
↓
local_umask=022
アスキーモードでのアップロードを許可
#ascii_upload_enable=YES
↓
ascii_upload_enable=YES
#ascii_upload_enable=YES
↓
ascii_upload_enable=YES
アスキーモードでのダウンロードを許可
#ascii_download_enable=YES
↓
ascii_download_enable=YES
#ascii_download_enable=YES
↓
ascii_download_enable=YES
ログインユーザーはchroot環境とする(ホームディレクトリより上の階層はアクセス不可)
#chroot_local_user=YES
↓
chroot_local_user=YES
#chroot_local_user=YES
↓
chroot_local_user=YES
chrootlistの指定
#chroot_list_file=/etc/vsftpd.chroot_list
↓
chroot_list_file=/etc/vsftpd.chroot_list
#chroot_list_file=/etc/vsftpd.chroot_list
↓
chroot_list_file=/etc/vsftpd.chroot_list
ディレクトリ単位の削除を許可
#ls_recurse_enable=YES
↓
ls_recurse_enable=YES
#ls_recurse_enable=YES
↓
ls_recurse_enable=YES
追加する内容
userlistをログイン許可リストとする(記載されていないユーザーはログインできない)
userlist_deny=NO
userlistの指定
userlist_file=/etc/vsftpd.user_list
タイムスタンプをローカル時刻とする
use_localtime=YES
パッシブモードを有効にする
pasv_promiscuous=YES
userlist_deny=NO
userlistの指定
userlist_file=/etc/vsftpd.user_list
タイムスタンプをローカル時刻とする
use_localtime=YES
パッシブモードを有効にする
pasv_promiscuous=YES
chroot対象外ユーザーの設定ホームディレクトリより上の階層へのアクセスを許可するユーザーのリストファイルを作成します。
# vi /etc/vsftpd.chroot_list
パーミッションを設定します。
sudo chmod 600 /etc/vsftpd.chroot_list
ログイン可能ユーザーの設定ログインを許可するユーザーを設定します。サーバーにアカウントがあっても、このファイルに記載されていないユーザーはログインができません。
sudo vi /etc/vsftpd.user_list
これもパーミッションを設定します。
sudo chmod 600 /etc/vsftpd.user_list
vsftpの起動FTPサーバーを起動します。クライアントマシンからFTPクライアントソフトやFTPコマンドで、接続ができれば完了です。
# /etc/init.d/vsftpd start
確認の為FTP接続
___
/ノ^, ^ヽ\
/ (・)) (・)) ヽ
/ ⌒(__人__)⌒::: l < 成功
⊂ ̄ヽ_| |r┬-| |
<_ノ_ \ `ー'´ /
ヽ  ̄V ̄ ̄ ⌒,
/____,、ノ /
/ (__/
( ( (
ヽ__,\_,ヽ
(_/(_/
vsftpd.chroot_list
vsftpd.user_list
二つのファイルを忘れる可能性があるので、大事なファイルなどは別ファイルに置いておく事にしおようと思う。
mkdir /user_mk_file
上のdirに作成、vsftpd.chroot_list vsftpd.user_list
2つのファイルをmvし、
vim /etc/vsftpd.conf
の
chroot_list_file=/etc/vsftpd.chroot_list
userlist_file=/etc/vsftpd.user_list
のディレクトリを変更
再起動後動くか実験した結果きちんと動いたのでOK
--------------------------------------------------------------------------
さて、整理
vsftpd.user_list
はFTP接続できるユーザを書き込むファイル。
vsftpd.chroot_list
は、自DIRより上に行けるユーザーを書き込むFILEだと認識しています
http://blog.sugulab.com/?p=1635
chroot は「上層ディレクトリにアクセスする権限」ではなく、「上層ディレクトリにアクセスさせない制限」らしい。
chroot_local_user=YES
と追記した場合、「ローカルユーザーは全員 chroot
#上の階層には行けない設定で
尚且つ、
/etc/vsftpd/chroot_list
に書かれているユーザーだけは上層に行ける設定
例:
--------------------------------------------------
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/●●/vsftpd.chroot_list
--------------------------------------------------
としなければならない。
起動しなかったのは
chroot_list_enable=YESが抜けていたからです。
その前に、vsftpd.user_listからアカウントを消して接続したら入れるですけど・・・?もう一度ネットで検索してみる事にする
http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/ftp/vsftpd%E3%81%A7%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E9%99%90.php
vsftpdで特定のユーザーのFTPサーバーへのアクセスを禁止する場合は、設定ファイルの「userlist_enable」ディレクティブを”YES”に設定します。
そもそも
userlist_deny=ではないっぽい
先に
userlist_enableを設定するみたいです。
例:ブラックリスト方式
*----------------------------------------------------------
userlist_enable=YES
userlist_deny=YES
userlist_file=※ユーザーリストファイルを指定
ユーザリストに書かれたユーザはログインが禁止される。
*----------------------------------------------------------
例:ホワイトリスト方式
*----------------------------------------------------------
userlist_enable=YES
userlist_deny=NO
userlist_file=※ユーザーリストファイルを指定
ユーザリストに書かれたユーザだけがログインできる。
*----------------------------------------------------------
主に使うのはホワイト方式だと思います。
早速試してみます。
成功
そして、chmodeの設定に戻ります。
そして /etc/vsftpd.chroot_list のパスを間違っていた為
♯500could not read chroot()のエラーを出してしまったが、解決し終了
検索で出てきたサイト
http://network.station.ez-net.jp/server/ftp/vsftpd/chroot.asp
お疲れ様でした。