ftp用のユーザを作成します。
useradd ftp-user #ユーザ作成
passwd ftp-user #パスワード
[root@CentOS-7-Server ~]# useradd ftp-user
[root@CentOS-7-Server ~]# passwd ftp-user
ユーザー ftp-user のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは 8 未満の文字列です。
新しいパスワードを再入力してください:
パスワードが一致しません。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
CentOS7に叱られながらも、新しいユーザーを追加できました。
[root@CentOS-7-Server ~]# vi /etc/vsftpd/chroot_list
chroot_list を新しく作って新しいユーザーを記入します。
ユーザ設定ファイルを作成します。
mkdir /etc/vsftpd/user_conf
vi /etc/vsftpd/user_conf/ftp-user #ftpユーザ名のファイルを作成
local_root=/外付けHDDのマウントポイント
#FTP起動
systemctl start vsftpd
NextFTP で接続してみます。
接続できません。いちいち、泣いてる場合じゃないので、試しに
[root@CentOS-7-Server ~]# vi /etc/vsftpd/vsftpd.conf
listen=YES → NO
listen_ipv6=NO → YES
に変えてみて(「centos7 vsftpd 接続できない」に大ハマリ 参照)
[root@CentOS-7-Server ~]# systemctl restart vsftpd
ダメでした。listen を元に戻しました。
home ディレクトリの下に ftpユーザーのディレクトリもちゃんとあります。
じゃあ、firewall
[root@CentOS-7-Server ~]# firewall-cmd —add-service=ftp –permanent
success
[root@CentOS-7-Server ~]# firewall-cmd —permanent —add-port=60001-60010/tcp
success
[root@CentOS-7-Server ~]# systemctl restart firewalld.service
[root@CentOS-7-Server ~]# firewall-cmd —list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp10s0
sources:
services: dhcpv6-client ftp ssh
ports: 60001-60010/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
今度は、NextFTP で 繋がりました!
※ 注意!: —permanent などのコマンドの前にあるのは、一本の横棒に見えますが
正しくは ‐ ‐ のハイフンが2個並んだものです。WordPress のテーマによる
仕様だと思うのですが、このままコピペして使うとエラーになります。
ポートの追加などについて説明してあるページを見つけて、必ず、
その表記に従ってください。
ここで、サーバーを再起動して
[root@CentOS-7-Server ~]# systemctl restart vsftpd
[root@CentOS-7-Server ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
vsftpd の自動起動設定をしておきました。
さて、ここからは、セキュリティ対策を行っていきますが詳細は書きません。
たとえば、制御コネクション用とデータコネクション用のポートをこの記事に
書いたものとは変更して、それに合わせて firewall の設定も直します。
とは言うもののポートを開くことはできても閉じるのってどうするの?って
言うときにピッタリの答えを書いてるサイトって、けっこう見つけにくいです。
[root@CentOS-7-Server ~]# firewall-cmd –permanent –remove-service=ftp
success
[root@CentOS-7-Server ~]# firewall-cmd –reload
[root@CentOS-7-Server ~]# firewall-cmd –remove-port=60001-60010/tcp
success
[root@CentOS-7-Server ~]# firewall-cmd –runtime-to-permanent
success
[root@CentOS-7-Server ~]# firewall-cmd –reload
success
私は、↑↑↑ んな感じで閉じました。で、新たに定めたポートを解放していく
ことになります。
……と、いろいろやっていたら、再び、FTP 接続できなくなりました。(涙の海)