前の関連記事:linuxBean14.04(178)SambaでWindowsのファイルサーバーにする
vsftpdのインストール
sudo apt-get install vsftpd
これでインストール完了です。
vsftpd.confの編集
ファイルマネージャで/etcにあるvsftpd.confを右クリック→Leafpad(root)。
変更したのは以下のところです。
設定行の間にスペースは挟んではいけません。
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
これらはコメントアウトを外すだけです。
local_enable=YESでlinuxBeanのアカウントでログインできるようになります。
chroot_local_user=YESとchroot_list_enable=YESで、FTPクライアントからアクセスできるフォルダを限定できます。
xferlog_enable=NO
家庭内LANだけで使う予定で、ディスク容量を節約したいのでログの取得はNOにしました。
local_root=public
FTPクライアントからログインしたときのルートディレクトリです。
相対パスで指定するとログインユーザーのホームディレクトリからの相対パスになります。
今回の設定では~/publicフォルダがルートディレクトリになります。
allow_writeable_chroot=YES
これがないとルートディレクトリの書き込み可の状態でのログインを拒否されます(vsftpdの設定で謎のエラーにハマった - TomoProgの技術書)。
(2018.9.23追記。
write_enable =YES
FTPでログインしたユーザーが書き込むにはこの行のコメントアウトが必要でした。)
これでvsftpd.confの編集は完了です。
最後に、/etcフォルダにvsftpd.chroot_listという名前の空ファイルを作成しておきます。
ルートディレクトリを限定した設定のときはこのファイルがないとログインできません。
sudo service vsftpd restart
これでvsftpd.confの変更が反映されます。
Windows10のコマンドラインでftpコマンドが使えるのでそこからアクセスできることを確認しました。
(2018.9.13追記。
Sambaサーバーと兼ねたFTPサーバーにはマシン名を使ってWindowsのftpコマンドで接続できました。
SambaサーバーがWindowsとやりとりしてマシン名をIPアドレスに変換しているようでpingもマシン名で通りました。
linuxBean14.04のftpコマンドでは、ホスト名でFTPサーバーに接続しようとしてもName or service not knownといわれて接続することはできませんでした。
IPアドレスではいずれの場合でも接続できましたが、IPアドレスを固定にしないと毎回サーバーのIPアドレスを調べる手間が発生します。
ということでクライアントがWindowsだけならSambaサーバーも導入していればIPアドレスを固定しなくてよいようです。
WindowsのコマンドラインでもlinuxBean14.04のTerminalでも日本語は文字化けしていました。)
参考にしたサイト
vsftpdの設定で謎のエラーにハマった - TomoProgの技術書
500 OOPS: vsftpd: refusing to run with writable root inside chroot()への対策。
FTPサーバ vsftpdの設定(vsftpd.conf)
vsftpd.confの解説。すべての設定の解説があるわけではありません。
0 件のコメント:
コメントを投稿