Raspberry Pi でサーバー構築 (FTPでファイル転送)

2013/03/21

◆ vsftpのインストール

ファイルを転送するためにFTPサーバー(vsftp)を設置する。 ポート開放は済ましていることを確認してください。

 # apt-get -y install vsftpd

◆ vsftpdの設定(vsftpd.conf)

 # service vsftpd stop ← vsftpdの停止を確認する
 # cp /etc/vsftpd.conf /etc/vsftpd.conf.default ← バックアップをとっておく
 # vi /etc/vsftpd.conf

 文頭の#が赤い所は、#を削除してコメントアウトする。

 anonymous_enable=NO ← 匿名ユーザーのログイン禁止
 #local_enable=YES ← スタンドアロンモードでの起動
 #write_enable=YES ← ファイルシステム変更コマンドを許可
 #local_umask=022 ← ファイル作成時のパーミッションを755に設定
 #anon_upload_enable=YES
 #anon_mkdir_write_enable=YES
 dirmessage_enable=YES ← 接続時のコメントを許可
 use_localtime=YES ← ローカル時刻での表示
 xferlog_enable=YES ← 転送ログを作成
 connect_from_port_20=YES ← 標準接続ポートを使用
 #chown_uploads=YES
 #chown_username=whoever
 #xferlog_file=/var/log/vsftpd/vsftpd_xfer.log ← 転送ログファイルを指定
 #xferlog_std_format=YES ← 標準フォーマットでログを記録
 #idle_session_timeout=600
 #data_connection_timeout=120
 #nopriv_user=ftpsecure
 #async_abor_enable=YES
 #ascii_upload_enable=YES ← asciiモードでのアップロードを許可
 #ascii_download_enable=YES ← asciiモードでのダウンロードを許可
 #ftpd_banner=Welcome to ○○ FTP service. ← 接続時のメッセージを設定(好きな言葉で可)
 #deny_email_enable=YES
 #banned_email_file=/etc/vsftpd.banned_emails
 #chroot_local_user=YES
 #chroot_list_enable=YES ← 上コマンドと組み合わせリストで設定されたユーザーのみ上層へのアクセスを許可
 #chroot_list_file=/etc/vsftpd/chroot_list ← 上層へアクセスできるユーザーリストの指定
 #ls_recurse_enable=YES ← ディレクトリ削除の許可
 secure_chroot_dir=/var/run/vsftpd/empty ← ディレクトリ指定の無い接続に対してのディレクトリ
 pam_service_name=vsftpd ← pam認証時のサービス名
 rsa_cert_file=/etc/ssl/private/vsftpd.pem ← サーバー証明書の保存場y祖

 最下行に追加
 userlist_enable=YES ← ログイン許可ユーザーリストを使用する
 userlist_denny=NO ← ログイン禁止ユーザーリストを使用しない
 userlist_file=/etc/vsftpd/user_list ← ログイン許可ユーザーリストを指定
 log_ftp_protocol=NO ← xferログを使用するのでこちらのログは使用しない
 vsftpd_log_file=/var/log/vsftpd.log ← 一応ログファイルを指定
 dual_log_enable=YES ← vsftpd形式とwu-ftpd形式のログを保存する

◆ ユーザーリストを作成

 # mkdir /etc/vsftpd ← ディレクトリを作成
 # echo ユーザー名 >> /etc/vsftpd/user_list ← 接続許可ユーザーリストへ追加
 # echo ユーザー名 >> /etc/vsftpd/chroot_list ← chroot許可ユーザーリストへ追加

◆ 実行と自動起動の設定

 # service vsftpd start
 # update-rc.d -f vsftpd defaults ← 電源投入時に自動起動を設定

◆ 起動の検証

別のパソコンまたは外部のパソコンよりFTP接続の確認をする。 自分はFFFTPを使用しているが好きなものを使えばよい。