ファイル転送と言えば昔からFTPが使われています。遠隔地に居る人に大容量のデータを送りたい時にはメールに添付する訳には行きません。個人的なデータ転送であれば、ブラウザ上で操作できる無料ファイル転送サービスなんかがありますが、自分のウェブサーバへのデータアップロードにはやはりFTPを使用する必要があります。

 

 

 

# apt-get install vsftpd

 

次に、FTPユーザを追加します。ここで作成したユーザ名とパスワードはそのままFTPへのログイン名とパスワードになります。 この設定例では公開ディレクトリとユーザ名は適当に作成しました。もちろん、任意のディレクトリとユーザが設定できます

 

/etc/shellsに下記の文字を追加します。これでユーザ登録の際に、シェルを/bin/falseと指定されたユーザは FTPログインが出来てFTPコマンドは通りますが、一般シェルの操作は出来ないので、余計な操作をされるのを防ぎます

#vi /etc/shells
/bin/false ←追加する

 

FTP用ディレクトリ作製

# mkdir /mnt/ftp/
# mkdir /mnt/ftp/pub/

 

FTPユーザ登録

グループを作成する(グループ名はなんでもいいです)

# groupadd ftpgroup

 

ユーザを追加する。ユーザ追加コマンドの-dのあとに先ほど作成したディレクトリを指定(このディレクトリが公開されます)、この例ではftpmanという名前のユーザを作成しています。作成するユーザはFTPのためだけに作成するものと考えてください。

# useradd -d /mnt/ftp/pub -g ftpgroup -s /bin/false ftpman

 

パスワードを設定 ここで設定したパスワードがFTPへのログインパスワードになります

# passwd ftpman ←エンターを押して続けてパスワードを入力する

 

FTP用ディレクトリのアクセス権限を変更

/mnt/ftp/pub/のグループをftpgroupにする

# chgrp ftpgroup /mnt/ftp/pub/

 

/mnt/ftp/pub/のオーナーをftpmanにする

# chown ftpman /mnt/ftp/pub/

 

 

#vi /etc/vsftpd.conf

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のファイルを作成します。

#vi /etc/vsftpd.chroot_list

何も記載せずに :wq コマンドで保存終了させる

 

再起動させて設定を反映させる。

# /etc/init.d/vsftpd restart

 

あとはファイアウォールの設定で20番、21番、50000から50029番のポートを開放させ、 かつポートフォワーディングの設定も行います。
外部からftp://xxx.xxxx.xxx(サーバのアドレス)にブラウザからアクセスすれば公開フォルダの中身が閲覧できます。 または 「FFFTP」のようなFTPクライアントソフトを使用しても同様です。ユーザ名とパスワードは上記作成したものを使用します。

 

 

図解でわかる Linuxサーバ構築・設定のすべて図解でわかる Linuxサーバ構築・設定のすべて
一戸 英男

図解でわかるLinux環境設定のすべて プロのための Linuxシステム構築・運用技術 (Software Design plus) 改訂 新Linux/UNIX入門 Linuxエンジニア養成読本 [仕事で使うための必須知識&ノウハウ満載!] (Software Design plus) はじめてのCentOS6 Linuxサーバ構築編 (TECHNICAL MASTER)

by G-Tools