ファイル転送と言えば昔からFTPが使われています。遠隔地に居る人に大容量のデータを送りたい時にはメールに添付する訳には行きません。個人的なデータ転送であれば、ブラウザ上で操作できる無料ファイル転送サービスなんかがありますが、自分のウェブサーバへのデータアップロードにはやはりFTPを使用する必要があります。
次に、FTPユーザを追加します。ここで作成したユーザ名とパスワードはそのままFTPへのログイン名とパスワードになります。 この設定例では公開ディレクトリとユーザ名は適当に作成しました。もちろん、任意のディレクトリとユーザが設定できます
/etc/shellsに下記の文字を追加します。これでユーザ登録の際に、シェルを/bin/falseと指定されたユーザは FTPログインが出来てFTPコマンドは通りますが、一般シェルの操作は出来ないので、余計な操作をされるのを防ぎます
FTP用ディレクトリ作製
# mkdir /mnt/ftp/pub/
FTPユーザ登録
グループを作成する(グループ名はなんでもいいです)
ユーザを追加する。ユーザ追加コマンドの-dのあとに先ほど作成したディレクトリを指定(このディレクトリが公開されます)、この例ではftpmanという名前のユーザを作成しています。作成するユーザはFTPのためだけに作成するものと考えてください。
パスワードを設定 ここで設定したパスワードがFTPへのログインパスワードになります
FTP用ディレクトリのアクセス権限を変更
/mnt/ftp/pub/のグループをftpgroupにする
/mnt/ftp/pub/のオーナーをftpmanにする
anonymous_enable=NO アノニマスでのアクセスを許可しない
local_enable=YES サーバで登録したユーザ名でアクセスする
write_enable=YES FTPサーバに書き込みを許可する
ls_recurse_enable=YES コメントアウトをはずしてサブディレクトリの処理も行えるようにする
local_umask=022 FTPユーザが書き込んだファイルの権限を-rw-r--r--にする
pasv_enable=yes 追加:PASVモードを有効
pasv_min_port=50000(例) 追加:PASVモードで使用するポートを指定(範囲始め)
pasv_max_port=50029(例) 追加:PASVモードで使用するポートを指定(範囲終わり)
chrootの設定。この設定をしないとFTPでログインしたディレクトリより上位のディレクトリへ移動できてしまいます
chroot_local_user=YES 追加
chroot_list_enable=YES 追加
chroot_list_file=/etc/vsftpd.chroot_list 追加
上記vsftpd.confファイル内のchroot設定で指定した/etc/vsftpd.chroot_listのファイルを作成します。
何も記載せずに :wq コマンドで保存終了させる
再起動させて設定を反映させる。
あとはファイアウォールの設定で20番、21番、50000から50029番のポートを開放させ、 かつポートフォワーディングの設定も行います。
外部からftp://xxx.xxxx.xxx(サーバのアドレス)にブラウザからアクセスすれば公開フォルダの中身が閲覧できます。 または 「FFFTP」のようなFTPクライアントソフトを使用しても同様です。ユーザ名とパスワードは上記作成したものを使用します。
![]() | 図解でわかる Linuxサーバ構築・設定のすべて 一戸 英男 ![]() ![]() ![]() ![]() ![]() by G-Tools |