CentOS8 に FTP をインストールして利用できる

環境

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat/etc/redhat-release
CentOS Stream release 8
# cat/etc/redhat-release CentOS Stream release 8
# cat/etc/redhat-release
CentOS Stream release 8

操作方法
1.インストール前のポートの確認
OS に FTP サーバをインストールする前に、FTP で利用されるポートが空いているか下記のコマンドで確認します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# ss -atn
# ss -atn
# ss -atn

2. FTP 用のユーザを OS に作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# useradd ftpuser
# passwd ftpuser
ユーザー ftpuser のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
# useradd ftpuser # passwd ftpuser ユーザー ftpuser のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました。
# useradd ftpuser
# passwd ftpuser
ユーザー ftpuser のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

3.FTP 用のディレクトリを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# mkdir -p /var/www/ftpdir
# mkdir -p /var/www/ftpdir
# mkdir -p /var/www/ftpdir

権限を付与します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# chown ftpuser /var/www/ftpdir
# chmod 755 /var/www/ftpdir
# chown ftpuser /var/www/ftpdir # chmod 755 /var/www/ftpdir
# chown ftpuser /var/www/ftpdir
# chmod 755 /var/www/ftpdir

確認

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# ls -la /var/www/
# ls -la /var/www/
# ls -la /var/www/

4.ftpサーバをインストールします

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# yum -y install vsftpd
# yum -y install vsftpd
# yum -y install vsftpd

5.vsftpd の初期設定を行います

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf

下記を追加します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# userlist_file で指定したユーザを接続許可
userlist_enable=YES
# アクセスファイル(/etc/hosts.allow, /etc/hosts.deny)をアクセス制御に利用
tcp_wrappers=NO
# userlist_file で指定したユーザを接続許可 userlist_enable=YES # アクセスファイル(/etc/hosts.allow, /etc/hosts.deny)をアクセス制御に利用 tcp_wrappers=NO
# userlist_file で指定したユーザを接続許可
userlist_enable=YES
# アクセスファイル(/etc/hosts.allow, /etc/hosts.deny)をアクセス制御に利用
tcp_wrappers=NO

下記のファイルに OS に作成した FTP 用ユーザを記載します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/vsftpd/chroot_list
ftp-user → 追記
# vi /etc/vsftpd/chroot_list ftp-user → 追記
# vi /etc/vsftpd/chroot_list
ftp-user → 追記

FTP サーバを再起動します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl restart vsftpd
# systemctl restart vsftpd
# systemctl restart vsftpd

6.インストール後のポートの確認
FTP サーバをインストールして起動した後に FTP で利用される 21 番ポートが空いているか確認します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# ss -atn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:111 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
ESTAB 0 96 192.168.229.141:22 192.168.229.1:61572
LISTEN 0 128 [::]:111 [::]:*
LISTEN 0 32 *:21 *:*
LISTEN 0 128 [::]:22 [::]:*
# ss -atn State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:111 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* ESTAB 0 96 192.168.229.141:22 192.168.229.1:61572 LISTEN 0 128 [::]:111 [::]:* LISTEN 0 32 *:21 *:* LISTEN 0 128 [::]:22 [::]:*
# ss -atn
State         Recv-Q        Send-Q                   Local Address:Port                  Peer Address:Port         Process
LISTEN        0             128                            0.0.0.0:111                        0.0.0.0:*
LISTEN        0             128                            0.0.0.0:22                         0.0.0.0:*
ESTAB         0             96                     192.168.229.141:22                   192.168.229.1:61572
LISTEN        0             128                               [::]:111                           [::]:*
LISTEN        0             32                                   *:21                               *:*
LISTEN        0             128                               [::]:22                            [::]:*

7.FTP の接続確認
Windows のコマンドプロンプトでも FTP 通信することができるため、コマンドプロンプトを起動して次の手順でアクセスし、「230 Login successful.」が表示されれば FTP 接続に成功したことを確認できます。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
C:\Users\arkuser>ftp 192.168.229.141
192.168.229.141 に接続しました。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
ユーザー (192.168.229.141:(none)): ftpuser
331 Please specify the password.
パスワード:
230 Login successful.
C:\Users\arkuser>ftp 192.168.229.141 192.168.229.141 に接続しました。 220 (vsFTPd 3.0.3) 200 Always in UTF8 mode. ユーザー (192.168.229.141:(none)): ftpuser 331 Please specify the password. パスワード: 230 Login successful.
C:\Users\arkuser>ftp 192.168.229.141
192.168.229.141 に接続しました。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
ユーザー (192.168.229.141:(none)): ftpuser
331 Please specify the password.
パスワード:
230 Login successful.