今回は色々あるFTPサーバーの中でもメジャーなVsftpdを入れてみた時の覚え書きです。

1.vsftpdのインストール

$ sudo apt-get install vsftpd

2.設定ファイルを開き設定

以下のように変更。(設定は色々あるでしょうから1例です)

$ sudo vi /etc/vsftpd.conf

listen=NO

listen_ipv6=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

ascii_upload_enable=YES

ascii_download_enable=YES

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

user_config_dir=/etc/vsftpd/user_conf

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list

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

ssl_enable=NO

seccomp_sandbox=NO

allow_writeable_chroot=YES

保存したらサーバーを起動

$ sudo service vsftpd start

または再起動

$ sudo service vsftpd restart

止めるのは

$ sudo service vsftpd stop

3.FTP専用のローカルユーザーを追加

FTPでアクセスするためのローカルアカウントを作成します。
新たなユーザーは、Raspbianにはルートログインは出来ないけれど、FTPにはログイン可能な専用ユーザーでなければならないので、まずは作ります。
ユーザー名:yamada
仮のhomeフォルダ:/home/yamada
とすると。

$ sudo adduser –shell /usr/sbin/nologin –home /home/yamada yamada

Adding user `yamada’ …
Adding new group `yamada’ (1003) …
Adding new user `yamada’ (1003) with group `yamada’ …
Creating home directory `/home/yamada’ …
Copying files from `/etc/skel’ …
Enter new UNIX password: (パスワード入力)
Retype new UNIX password:passwd:(パスワード再入力)
password updated successfully
Changing the user information for yamada
Enter the new value, or press ENTER for the default
Full Name []: (エンターで次へ)
Room Number []: (エンターで次へ)
Work Phone []: (エンターで次へ)
Home Phone []: (エンターで次へ)
Other []:Is the information correct? [Y/n]

続いて/usr/sbin/nologinのFTPログインを許可するように設定します。

$ sudo vi /etc/shells

開いたら最後の行に以下を追加

/usr/sbin/nologin

FTPにユーザーを追加を設定

最初に作ったFTPの設定ファイルvsftpd.confに書いてあるように、ユーザーリスト /etc/vsftpd.user_list にユーザーを書くとFTPログイン出来るようになる。

$ sudo vi /etc/vsftpd.user_list

開いたら次の一行(ユーザー名)を書く。

yamada

保存する。
同様にアカウントyamadaのホームディレクトリの場所を書いたユーザー毎の設定ファイルを以下のディレクトリ
/etc/vsftpd/user_conf に作ります。

$ sudo vi /etc/vsftpd/user_conf/yamada

local_root=/var/www/yamada

保存する。
しかしこの /var/www/yamada フォルダはまだ存在しないしアクセス権が設定されてないので設定します。

$ cd /var/www/
$ sudo mkdir yamada
$ sudo chown yamada:yamada yamada

FTPを再起動。

$ sudo service vsftpd restart

これでFTPが使えます。
FTPの場合外部からのアクセス目的でしょうからポートを空けて置くことを忘れずに!!

sambaによる共有フォルダへのアクセスは、また別の機会で...


関連記事

LinuxでNTFSファイルシステムのマウントでアクセス権限やファイルの所有者変更で悩まないために

前回作成したUDP通信コンポーネントでチャットソフトを作ってみる

C# Windowsショートカットをキーボード入力ではなくボタンのクリックで送る方法

C# UDP通信のためのコンポーネントの作成

C# 既定のブラウザでURLを開けずエラーの対処

DSO-TC3を買ってみた!!