MENU

カテゴリー

LINUX使いならFTPサーバー位は構築出来ないとね!3分で出来るFTPサーバ構築!

ども。あいしんくいっと(@ithinkitnet)です。

Linuxサーバへのデータアップロードを考えた場合、SCPやWEBDAVといったものがありますが、中でも手軽でポピュラーなのがFTPです。
手軽に使えますし、SCPと違って暗号化しないぶん通信が高速ですから。
えっ、FTPは通信が暗号化されてないって?

大丈夫、オンプレなら許されるかも知れません(震え)

と言う訳で、今回はCENTOSでよく使われる「VSFTP」でFTPサーバーを3分で構築してみたいと思います。
とりあえず、セキュリティは一切無視で!

VSFTPDインストール

まず、VSFTPDがインストールされているかを確認します。

# rpm -qa | grep vsftpd

これで何も出力されない場合、VSFTPDはインストールされていませんので、yumでサクッとインストールしてしまいましょう。

# yum install -y vsftpd
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
nginx | 2.9 kB 00:00
~中略~
インストール:
vsftpd.x86_64 0:3.0.2-9.el7

完了しました!

これでVSFTPDのインストールは完了です。

VSFTPD設定

起動、自動起動

  • VSFTPD起動
  • # systemctl start vsftpd.service
  • VSFTPD起動確認
  • # systemctl status vsftpd.service
    vsftpd.service - Vsftpd ftp daemon
    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
    Active: active (running) since 土 2015-04-25 11:11:30 JST; 7min ago
    Main PID: 8168 (vsftpd)
    CGroup: /system.slice/vsftpd.service
    mq8168 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    
    4月 25 11:11:30 test001 systemd[1]: Starting Vsftpd ftp daemon...
    4月 25 11:11:30 test001 systemd[1]: Started Vsftpd ftp daemon.
  • 自動起動設定
  • # systemctl enable vsftpd.service
    ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
  • 自動起動確認
  • # systemctl list-unit-files -t service | grep vsftpd
    vsftpd.service enabled

    VSFTPD初期設定

    rootユーザでFTP接続出来るよう最低限の設定を行います。

  • user_list、ftpusers編集
  • # sed -i 's/root/#root/g' /etc/vsftpd/user_list /etc/vsftpd/ftpusers

    FTP接続確認

    簡単にFTPの接続確認を行うには、localhost宛にFTP接続出来るかを試すのが手っ取り早いです。

    # ftp localhost
    bash: ftp: コマンドが見つかりませんでした...

    うむむ。ftpコマンドが無いのか・・・。
    このようにftpコマンドが無ければインストールして下さい。

    # yum install -y ftp
    読み込んだプラグイン:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    * base: ftp.iij.ad.jp
    * extras: ftp.iij.ad.jp
    * updates: ftp.iij.ad.jp
    
    ~中略~
    
    インストール:
    ftp.x86_64 0:0.17-66.el7
    

    完了しました!

  • 接続確認
  • 
    [root@ithinkit ~]# ftp localhost
    Trying ::1...
    Connected to localhost (::1).
    220 (vsFTPd 3.0.2)
    Name (localhost:root): root
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    229 Entering Extended Passive Mode (|||18582|).
    150 Here comes the directory listing.
    -rw------- 1 0 0 1338 Mar 29 00:17 anaconda-ks.cfg
    226 Directory send OK.
    ftp>
    

    とりあえずはFTPでログインする事が出来ました。
    もし、繋がらない場合はfirewalld及びSelinuxが有効になっている可能性がありますので、必要に応じて設定/無効化します。
    手順については下記のエントリを参照してください。

    参考 EC2でCENTOS7の初期設定でやっておきたい7つの大罪

    これでセキュリティを一切無視したFTPサーバ構築は完了な訳ですが、もしセキュリティを意識するなら、root以外のユーザを作成し、SHELLを持たないFTP専用のユーザを作ったり、CHROOTさせて自分のホームディレクトリ以上には移動出来なくしたり、といった設定が必要になります。

    セキュリティ設定が必要な場合は下記のURL等を参考にしてください。

    参考 vsftpサーバ 設定ガイド

    以上、あいしんくいっとでした。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    *

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

    SHARE