CentOS7でFTPサーバを構築した時の覚書です。
インストール
yumでサクッとインストール
# yum -y install vsftpd
インストールできたか確認
# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64
無事にvsftpd-3.0.2がインストールできました。
初期設定
FTPサーバの設定ファイルvsftpd.confを設定します。
設定は下記のサイトを参考にさせていただきました。
# gedit /etc/vsftpd/vsftpd.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 12行目:匿名ログインの禁止 anonymous_enable=NO # 82、83行目:アスキーモードでの転送を許可 ascii_upload_enable=YES ascii_download_enable=YES # 100、101行目:chroot有効 chroot_local_user=YES chroot_list_enable=YES # 103行目:chrootリストの場所を指定 chroot_list_file=/etc/vsftpd/chroot_list # 109行目:ディレクトリ毎の一括転送を許可 ls_recurse_enable=YES # 114行目:IPv4のソケットを使うのでYESに変更 listen=YES # 123行目:IPv4のソケットは使わないのでNO listen_ipv6=NO # 以下は追加 # ルートディレクトリを指定 local_root=public_html # seccomp filter をオフにする ( ログインに失敗する場合はオフにする ) # カーネルのバージョンが3.5以上のときはONにしないといけないらしい。 seccomp_sandbox=NO # 日本時間を使う use_localtime=YES |
# gedit /etc/vsftpd/chroot_list
ルートディレクトリの変更が出来るユーザー名を入力
(1行に1ユーザ)
SElinuxと Firewallの設定
# firewall-cmd –add-service=ftp –permanent
# firewall-cmd –add-port=21/tcp –permanent 上でサービスとしてftpを登録したのでポートは開ける必要はないかもしれませんが一応開ける。
# firewall-cmd –reload 設定を適用
# setsebool -P ftpd_full_access on
サービスの起動
# systemctl start vsftpd 起動
# systemctl enable vsftpd 自動起動に設定
これでFTPサーバ構築完了のはずでしたが・・・
# systemctl start vsftpd
Job for vsftpd.service failed because the control process exited with error code. See “systemctl status vsftpd.service” and “journalctl -xe” for details.
起動しない・・・
詳細を見ろと言われるのでとりあえずステータスを確認すると、
vsftpd.confがおかしいようだ。
# systemctl status vsftpd.service
Process: 11832 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=2)
・
・
・
起動できない原因は?
起動できない原因をいろいろ調べた結果、vsftpd.confの文末に追加した
local_root=public_html
seccomp_sandbox=NO
use_localtime=YES
の後ろにスペースが入っていただけでした。
追加した3文はWebで見つけてコピーしてきたものを貼りつけていたので、
後ろのスペースが入っていたことに全く気付きませんでした。
横着はよくないです。
最近のコメント