Category Archives: Linux ~ Apache ~ samba

一旦、埋没か。ProFTPD (☍﹏⁰)。

今日も、CentOS 7の再インストールから始めました。

問題の ftpd.passwd の生成に失敗する件に、じっくりと

取り組んで、ついに解決しました。

なぜ、できなかったかについては

./ftpasswd –passwd –file=/usr/local/proftpd/etc/ftpd.passwd –name=hoge \  –uid=500 –gid=100 –home=/home/hoge –shell=/bin/bash

というような長い文字列を参考ページからコピペする際、

参考ページにおいても、三行ぐらいに分かれていたりするので

ついつい、よぶんな半角スペースが紛れ込んでしまった可能性が

高いかなと思ってます。ちなみに、スタイルシートのせいでしょうけど

– と横棒になっている部分は、「 ‐ ‐ 」と、ハイフン二つが並んでいます。

きょうも、このせいで ProFTPD のインストール中に

パッケージ ?enablerepo=epel は利用できません。

というエラーが出て、エライ遠回りをさせられました。? の部分が

実は、「 ‐ ‐ 」でした。

こうして、ユーザー追加もグループ追加もウマクいったのに、今度は

ProFTPD が起動しないというトラブルが発生。これも、設定ファイルに

参考ページに書いてあるとおりに追加した項目のひとつをコメントアウトすれば

起動できることを見つけ出して切り抜けました。

最後の最後に、 パスワードファイル権限を変更して、これで

行けるに違いないと確信しながら、接続を試みましたが……ダメでした。

万策尽きました。また、しばらく地下に潜ることになりそうです。

また、地上に出てくる日があれば再会いたしましょう。へばっ!

あきもせずふたたびのCentOS7再インストール

行き詰まったら、最初から。

懲りもせず、CentOS7 をまたまた新規インストール。

今回は、CentOS7 インストール時に vsftpd をインストールせず、

ソフトウェアの選択では、ベーシック Web サーバーを選んで

Apache をインストールしておきます。

ネットワーク設定もしておきましたが、ホスト名を変更するのを

忘れてました。

インストール完了後、selinuxを無効にしたり、ホスト名を変更したり

他にも、インストール後におこなうLinuxの基本設定をある程度

取捨選択しながら行いました。たとえば、インストール時に

わざわざ、オプションで Kdump をインストールしたのに、

# systemctl disable kdump

しちゃったら、意味ないですよね。

とりあえず、CentOS7 のインストールと設定が終わったら真っ先に

ProFTPD をインストール。最初に epelを導入。

[root@CentOS-7-Server ~]# yum install epel-release

そして、ProFTPD のインストール。

[root@CentOS-7-Server ~]# yum install –enablerepo=epel proftpd

インストールが完了したら ProFTPD の設定。

[root@CentOS-7-Server ~]# vi /etc/proftpd.conf

ServerName
ServerAdmin
DefaultRoot

を編集して、Anonymous 接続を拒否するために、

<IfDefine ANONYMOUS_FTP> から </IfDefine> までを

全てコメントアウトしておきました。その他、こまごまとした設定やら

セキュリティ対策は繋がってからのお楽しみ。

[root@CentOS-7-Server ~]# firewall-cmd –add-port=21/tcp
success
[root@CentOS-7-Server ~]# firewall-cmd –add-port=22/tcp
success
[root@CentOS-7-Server ~]# firewall-cmd –list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp10s0
  sources:
  services: dhcpv6-client ssh
  ports: 21/tcp 22/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ftp の標準ポートを開けます。あとで、このポートは変更します。

ここまでの設定では、 繋がらない! ことは確認済み。

ユーザーに関する設定が、どこか間違えているのであろうと考えて

CentOS7にProFTPDをインストール・設定してみた(ftpasswd利用)

とか、

proftpdで専用パスワードファイルを利用

というページを何度も何度も読み返したり、掲載されてる ftpasswd を

実際に利用してみたりしたものの教科書通りには進まず、打破できません。

ftpd.group は生成されるのに、ftpd.passwd の生成に失敗して

しまうことが鍵だと思うんですが、どうやっても開かないんです。ぷぇ。

まだまだ続けるCentOS 7 で FTP(9)

できるかな?

[root@CentOS-7-Server ~]# yum remove proftpd
読み込んだプラグイン:fastestmirror, langpacks
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ proftpd.x86_64 0:1.3.5e-12.el7 を 削除
–> 依存性解決を終了しました。
base/7/x86_64                                            | 3.6 kB     00:00
epel/x86_64/metalink                                     | 8.0 kB     00:00
epel/x86_64                                              | 4.7 kB     00:00
epel/x86_64/updateinfo                                   | 1.0 MB     00:08
epel/x86_64/primary_db                                   | 7.0 MB     01:08
extras/7/x86_64                                          | 2.9 kB     00:00
updates/7/x86_64                                         | 2.9 kB     00:01

依存性を解決しました

================================================================================
 Package          アーキテクチャー
                                  バージョン               リポジトリー    容量
================================================================================
削除中:
 proftpd          x86_64          1.3.5e-12.el7            @epel          9.7 M

トランザクションの要約
================================================================================
削除  1 パッケージ

インストール容量: 9.7 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : proftpd-1.3.5e-12.el7.x86_64                    1/1
警告: /etc/xinetd.d/xproftpd は /etc/xinetd.d/xproftpd.rpmsave として保存されま した。
警告: /etc/proftpd.conf は /etc/proftpd.conf.rpmsave として保存されました。
警告: /etc/ftpusers は /etc/ftpusers.rpmsave として保存されました。
  検証中                  : proftpd-1.3.5e-12.el7.x86_64                    1/1

削除しました:
  proftpd.x86_64 0:1.3.5e-12.el7

完了しました!

できるじゃん!じゃあ、

[root@CentOS-7-Server ~]# yum remove xinetd
読み込んだプラグイン:fastestmirror, langpacks
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ xinetd.x86_64 2:2.3.15-14.el7 を 削除
–> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package         アーキテクチャー
                                 バージョン                リポジトリー    容量
================================================================================
削除中:
 xinetd          x86_64          2:2.3.15-14.el7           @base          261 k

トランザクションの要約
================================================================================
削除  1 パッケージ

インストール容量: 261 k
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : 2:xinetd-2.3.15-14.el7.x86_64                   1/1
  検証中                  : 2:xinetd-2.3.15-14.el7.x86_64                   1/1

削除しました:
  xinetd.x86_64 2:2.3.15-14.el7

完了しました!

これで、汚れを知らないあの頃に戻れました。そして

[root@CentOS-7-Server ~]# yum install –enablerepo=epel proftpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * epel: ftp.riken.jp
 * extras: ftp-srv2.kddilabs.jp
 * updates: ftp-srv2.kddilabs.jp
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ proftpd.x86_64 0:1.3.5e-12.el7 を インストール
–> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package          アーキテクチャー
                                  バージョン                リポジトリー   容量
================================================================================
インストール中:
 proftpd          x86_64          1.3.5e-12.el7             epel          3.7 M

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 3.7 M
インストール容量: 9.7 M
Is this ok [y/d/N]: y
Downloading packages:
proftpd-1.3.5e-12.el7.x86_64.rpm                           | 3.7 MB   00:45
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : proftpd-1.3.5e-12.el7.x86_64                    1/1
  検証中                  : proftpd-1.3.5e-12.el7.x86_64                    1/1

インストール:
  proftpd.x86_64 0:1.3.5e-12.el7

完了しました!

要するに、proftpd と xinetd を削除して、あらたに proftpd を

インストールし直しました。

道に迷ったら、出発点に戻るのは鉄則ですよね。

[root@CentOS-7-Server ~]# vi /etc/proftpd.conf

ServerName                      "ProFTPD server"
↓↓↓
ServerName                      "FTP server"

DefaultRoot                     ~ !adm
↓↓↓
#DefaultRoot                     ~ !adm
DefaultRoot                     /管理しやすい場所    ユーザー名

[root@CentOS-7-Server ~]# systemctl start proftpd
[root@CentOS-7-Server ~]# systemctl status proftpd
proftpd.service – ProFTPD FTP Server
   Loaded: loaded (/usr/lib/systemd/system/proftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 金 2023-01-06 22:04:25 JST; 1min 30s ago
  Process: 2072 ExecStart=/usr/sbin/proftpd $PROFTPD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2073 (proftpd)
   CGroup: /system.slice/proftpd.service
           mq2073 proftpd: (accepting connections)

 1月 06 22:04:24 CentOS-7-Server systemd[1]: Starting ProFTPD FTP Server…
 1月 06 22:04:25 CentOS-7-Server proftpd[2073]: 192.168.1.** – ProFTPD 1…
 1月 06 22:04:25 CentOS-7-Server systemd[1]: Can't open PID file /run/pr…y
 1月 06 22:04:25 CentOS-7-Server systemd[1]: Started ProFTPD FTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

やれば、できるじゃん。よし!繋いでみる!

繋がりません!

とりあえず続けるCentOS 7 で FTP(8)

朝ドラも朝刊もないと毎朝のルーティンに大きな穴が開いてしまいます。

行き詰まった感が、ぬぐえない状況ですが vsftpd ではウマクいかないと

なれば、再び、 ProFTPD にチャレンジしてみるしかありませんか。でも

せっかく順調に動いている vsftpd も捨てがたく、同時に二つの ftpd を

動かしてみる!に箱根駅伝を見ながら挑戦してみたいと思います。

最初は、proftpd.conf の編集から。前回の編集との整合性が気になりますが、

とりあえず、参考ページのままに進めて、あとで前回の編集を引っ張り出して

検討するという手順でやってみたいと思います。

[root@CentOS-7-Server ~]# vi /usr/local/etc/proftpd.conf

では、開くことができなくて、パッケージをインストールしているので、

[root@CentOS-7-Server ~]# vi /etc//proftpd.conf

でした。しかし、使ってる ProFTPD のバージョンが古くて読み替えが

大変だったりしたので 参考ページを変えてみましたが、進みません。

途切れ途切れに数時間はガンバったものの、繋がらずじまいでした。

また、気力をチャージすることにします。

CentOS 7 で FTP(7)

さて、昨夜起きたことの回収です。

CentOS7 を再起動して、USB 外付けHDDを接続して

試しに

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb2 /管理しやすい場所1

マウントしてみると……できました。Windows で ntfs にフォーマットしたHDDをそのまま

CentOS7 で、やっぱり、使えるんじゃん。適当なファイルを数個 /管理しやすい場所1 に

FTPでアップロードします。一旦、シャットダウンして USB 外付けHDDを Windows機に

つなぎ替えてみましたがエクスプローラでは認識できず。ひょっとして、ドライブレターを

つけてないからでは?と、つけてみると今度はエクスプローラで開くことができて、

先ほどアップロードしたファイルも見ることができました。

前にやろうとしたことは、間違いじゃなかったんだという思いと、じゃあ、なぜ

できなかったんだという謎が生まれましたが、探求はいたしません。

他のパーティションにも、ドライブレターを追加して Windows機から

外します。起動させたCentOS7 機に接続して

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb2 /管理しやすい場所2
[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb3 /管理しやすい場所3

ボリューム(T:) とボリューム(U:) もマウントします。

続けて UUID を調べて

[root@CentOS-7-Server ~]# vi /etc/fstab

fstab の該当部分のコメントアウトを外し、新しい UUID に書き換えて再起動。

[root@CentOS-7-Server ~]# df
ファイルシス            1K-ブロック    使用    使用可 使用% マウント位置
devtmpfs                    1868672       0   1868672    0% /dev
tmpfs                       1881244       0   1881244    0% /dev/shm
tmpfs                       1881244    9040   1872204    1% /run
tmpfs                       1881244       0   1881244    0% /sys/fs/cgroup
/dev/mapper/centos-root    52403200 2635932  49767268    6% /
/dev/sda2                   1038336  154916    883420   15% /boot
/dev/sda1                    204580   11464    193116    6% /boot/efi
/dev/sdb2                 524287996  120348 524167648    1% /管理しやすい場所1
/dev/sdb3                 524287996  110344 524177652    1% /管理しやすい場所2
/dev/sdb4                 904805372  127160 904678212    1% /管理しやすい場所3
/dev/mapper/centos-home   430553700   33168 430520532    1% /home
tmpfs                        376252       0    376252    0% /run/user/0

ふふふ……。自動マウントできてます。

じゃあ調子に乗って、CTU の穴開けを「IPv4パケットフィルタ設定」ではなく

「静的IPマスカレード設定」に変更したら繋がるんじゃないだろうかと期待しましたが

繋がりません!

そこまで世の中、あまくないですね。

さて、どう対処するかを探るためにネットをうろついてみてると

「 vsftpd は、NATルータ越えでPASVモ-ドでのFTPサービスを公開するのに難がある」

という情報を見つけたので、 vsftpd の代わりに ProFTPD を入れてみることに

しました。

[root@CentOS-7-Server ~]# systemctl stop vsftpd

まず、vsftpd を停止して

[root@CentOS-7-Server ~]# systemctl disable vsftpd.service

vsftpd の自動起動設定も off にしておきます。

そして、ProFTPDをインストールします。

[root@CentOS-7-Server ~]# yum -y install proftpd

完了しました!

ProFTPDの起動をスーパーサーバーである xinetd で管理するそうなのて、

xinetdをインストールします。

[root@CentOS-7-Server ~]# yum -y install xinetd

完了しました!

このあたりは、参照したページに、おんぶに抱っこ。

続いて、 xinetdが起動しているか否か確認 するそうです。

[root@CentOS-7-Server ~]# systemctl status xinetd
● xinetd.service – Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

xinetdが起動していないようなので、起動させて、 再度、xinetdの起動状態を確認します。

[root@CentOS-7-Server ~]# systemctl start xinetd.service
[root@CentOS-7-Server ~]# systemctl status xinetd
xinetd.service – Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: active (running) since 土 2022-12-31 13:48:55 JST; 14s ago
  Process: 2016 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2017 (xinetd)
   CGroup: /system.slice/xinetd.service
           mq2017 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing discard
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing discard
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing echo
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing echo
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing tcpmux
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing time
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing time
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: removing ftp
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: xinetd Version 2.3.15 star…
12月 31 13:48:55 CentOS-7-Server xinetd[2017]: Started working: 0 availab…
Hint: Some lines were ellipsized, use -l to show in full.

起動しているようです。

ProFTPD 設定ファイルを編集します。以下は参照したページの丸写しです。

DefaultRoot                    ~ !adm
 ↓ 変更する
DefaultRoot                     ~ !wheel

###▼ 以下、最終行に追記する
##★ サーバータイプ : スーパーサーバーモード(xinetd)での起動
ServerType                  inetd

##★ 追記する | PASVモード用のポート番号を指定 今回は、50010~50030 を指定
PassivePorts                50010 50030

##★ 追記する | アクセスログを記録する
ExtendedLog                 /var/log/proftpd/access.log WRITE,READ default

##★ 追記する | 認証ログを記録する
ExtendedLog                 /var/log/proftpd/auth.log AUTH auth

##★ 追記する | タイムゾーンを日本時間に設定
TimesGMT                     off
SetEnv                      TZ :/etc/localtime

ただし、SSL/TLS の設定については、すべて省略しました。

次は、xinetd 設定ファイルを編集。どうせ、丸写しするだけなので註含みの丸写し。


[root@vm ~]# vi /etc/xinetd.d/xproftpd

#————————————————–
# default: off
# description: The ProFTPD FTP server serves FTP connections. It uses \
#       normal, unencrypted usernames and passwords for authentication.
service ftp
{
 flags           = REUSE
 socket_type     = stream
 wait            = no
 user            = root
 server          = /usr/sbin/in.proftpd

 ##★ log_on_success
 log_on_success  += DURATION
          ↓ 変更する
 log_on_success  += DURATION HOST PID
 log_on_success  += HOST USERID PID 

ProFTPDの自動起動の設定を ON にします。

[root@CentOS-7-Server ~]# chkconfig xproftpd on

自動起動 設定再確認

[root@CentOS-7-Server ~]# chkconfig –list xproftpd


注記: この出力に含まれるのは SysV サービスのみです。ネイティブな
      systemd サービスは含まれません。SysV の設定データはネイティブな
        systemd 設定で上書きされる場合があります。
      systemd サービスを一覧表示する場合は 'systemctl list-unit-files' を使用し ます。
      特定のターゲットで有効になっているサービスを確認する場合は
      'systemctl list-dependencies [target]'を使用します。

xproftpd        on

次は、xinetd デーモン再起動

[root@CentOS-7-Server ~]# systemctl restart xinetd.service

おっと。うっかり忘れるところでした。/etc/proftpd.conf に変更したポートを

書き込みました。

Port          10021

というような行を追加します。

ここらで、繋いでみる。

繋がりません!

例によって、困ってからのネット頼み。しかし、数時間にわたって徘徊するも

出口が見えませんでした。やむを得ません。ここは撤収です。

無事に帰還できるか。

[root@CentOS-7-Server ~]# systemctl stop xinetd.service

[root@CentOS-7-Server ~]# chkconfig xproftpd off
[root@CentOS-7-Server ~]# chkconfig –list xproftpd

注記: この出力に含まれるのは SysV サービスのみです。ネイティブな
      systemd サービスは含まれません。SysV の設定データはネイティブな
        systemd 設定で上書きされる場合があります。
      systemd サービスを一覧表示する場合は 'systemctl list-unit-files' を使用し ます。
      特定のターゲットで有効になっているサービスを確認する場合は
      'systemctl list-dependencies [target]'を使用します。

xproftpd        off

[root@CentOS-7-Server ~]# systemctl stop xinetd.service

[root@CentOS-7-Server ~]# systemctl status xinetd
● xinetd.service – Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 土 2022-12-31 16:40:13 JST; 2min 58s ago
  Process: 2247 ExecReload=/usr/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
  Process: 2193 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2194 (code=exited, status=0/SUCCESS)

12月 31 16:23:09 CentOS-7-Server xinetd[2194]: removing tcpmux
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: removing time
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: removing time
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: removing ftp
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: Swapping defaults
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: service ftp deactivated
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: ftp: svc_release with 0 count
12月 31 16:23:09 CentOS-7-Server xinetd[2194]: Reconfigured: new=0 old=0 …
12月 31 16:40:13 CentOS-7-Server systemd[1]: Stopping Xinetd A Powerful ….
12月 31 16:40:13 CentOS-7-Server systemd[1]: Stopped Xinetd A Powerful R….
Hint: Some lines were ellipsized, use -l to show in full.

これでいいのかな?

今度は昼寝中の vsftpd を起こします。

[root@CentOS-7-Server ~]# systemctl start vsftpd
[root@CentOS-7-Server ~]# systemctl enable vsftpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

reboot します。

繋がりました!

どうやら、帰って来ることができたようです。

さて、次なる試行錯誤ですが、NATルータ越えでのPASVモ-ドに難があるなら

アクティブモードなら、どうだとやってみることにしました。

ついでに待ち受けポートだけじゃなく、 データ転送用ポート番号も変更して

少しでもセキュリティを高めようとしました。しかし、LAN 内からは接続できるんですが

WAN 側からは、どうしても接続できません。続きは、来年ですね。

CentOS 7 で FTP(6)

[root@CentOS-7-Server ~]# mkfs -t ntfs /dev/sdb4
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% – Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

寝てる間に /dev/sdb4 のフォーマット完了。

マウントし直しです。

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb2 /管理しやすい場所1
[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb3 /管理しやすい場所2
[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb4 /管理しやすい場所3

[root@CentOS-7-Server ~]# df
ファイルシス            1K-ブロック    使用    使用可 使用% マウント位置
devtmpfs                    1868672       0   1868672    0% /dev
tmpfs                       1881244       0   1881244    0% /dev/shm
tmpfs                       1881244    9012   1872232    1% /run
tmpfs                       1881244       0   1881244    0% /sys/fs/cgroup
/dev/mapper/centos-root    52403200 2634784  49768416    6% /
/dev/sda2                   1038336  154916    883420   15% /boot
/dev/sda1                    204580   11464    193116    6% /boot/efi
/dev/mapper/centos-home   430553700   33168 430520532    1% /home
tmpfs                        376252       0    376252    0% /run/user/0
/dev/sdb2                 524287996   81984 524206012    1% /管理しやすい場所1
/dev/sdb3                 524287996   81984 524206012    1% /管理しやすい場所2
/dev/sdb4                 904805372   93600 904711772    1% /管理しやすい場所3

しっかり、マウントできました!

では、NextFTP で繋いでみると、User 2 は繋がるけど、User 1 は繋がりません。

やはり、一筋縄ではいきませんねぇ。

NextFTP のエラーメッセージは

このエラーメッセージをそのまま検索語にしてみると答えがありました。

[root@CentOS-7-Server ~]# vi /etc/vsftpd/vsftpd.conf

vsftpd.conf に

allow_writeable_chroot=YES

の一文を追加して

[root@CentOS-7-Server ~]# systemctl restart vsftpd

繋がりました!

これで安心して、vsftpdの自動起動設定(enable)

[root@CentOS-7-Server ~]# systemctl enable vsftpd

続いて、サーバーを再起動しても再び外付けHDDを自動マウントするための設定。

最初に外付けHDDの各パーティションの UUID を調べます。調べる方法は

幾通りもあるようですが、私は

[root@CentOS-7-Server ~]#  ls -l /dev/disk/by-uuid

を使いました。

lrwxrwxrwx 1 root root 10 7月 10 20:42 02C3-21D2 -> ../../sda1
lrwxrwxrwx 1 root root 10 7月 10 20:42 3ef369b1-0330-4175-8651-f2db0a60ac01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 7月 10 20:42 c1d418de-eb86-45a0-9841-76b135104c85 -> ../../sda3
lrwxrwxrwx 1 root root 10 7月 10 20:42 gfd2862c-029b-41b5-8677-0cb8eb8751c1 -> ../../sda2

↑↑↑ のように表示(ダミーです)されます。色を変えた部分が UUID です。

UUID がわかったら、/etc/fstab に

UUID=【/dev/sdb2 のUUID】 /管理しやすい場所1 ntfs defaults 0 0
UUID=【/dev/sdb3 のUUID】 /管理しやすい場所2 ntfs defaults 0 0
UUID=【/dev/sdb4 のUUID】 /管理しやすい場所3 ntfs defaults 0 0

を追記して、reboot して確認します。

バッチリ、繋がりました!

次に、WAN から FTP への接続ですが、CTU の穴開けがマズイのかどうか

わかりませんが、もっと、他の理由なのか……

繋がりません!

もちろん、この件を解決するために動くべきですが、気になることが

ありまして、外付けHDDを外して Windows 機に繋いだら中身を見ることは

できるのかという問題を明らかにするために、一度、シャットダウンして、

HDD を Windows 機に繋いでみると、当然のことながら見えません。

そこで、パーティションの切り直しとクイックフォーマットしました。

HDD を CentOS 機に繋いで起動させたら

Welcome to emergency mode! After in logging in ,type “journalctl-xb” to view system logs ,
“systemctl reboot” to reboot , “systemctl default” or ^D to try again to boot into default mode.
Give root password for maintenance.
(or type Control -D to continue):

というメッセージが出ました。エマージェンシーモードです。

なぜ、こうなったかについては、私が GPT をフォーマットしちゃった犯人ですから

わかります。ログインして

# mount -o remount,rw /

読み取り専用モードを書き込み可能なモードにするためにマウントし直します。

# vi /etc/fstab

できもしない、三個のパーティションへの自動マウントをしろと書いてあるので

CentOS7 は、これは緊急事態だと思ったわけです。

fstab の該当部分を

# UUID=【/dev/sdb2 のUUID】 /管理しやすい場所1 ntfs defaults 0 0
# UUID=【/dev/sdb3 のUUID】 /管理しやすい場所2 ntfs defaults 0 0
# UUID=【/dev/sdb4 のUUID】 /管理しやすい場所3 ntfs defaults 0 0

コメントアウトして保存します。 編集したfstabを反映させるために

# mount -a

再起動

# reboot

無事(でもないけど)、正常起動できたので今夜はここまで。

CentOS 7 で FTP(5)

煮詰まったので、昨日は一日休んで、再挑戦。

なんだか、ことごとく、yum インストールに失敗するので

じゃあ、 wget で!

って、ウマクいきません。エラーメッセージを斜め読みしてみると

どうやら、DNS を見つけられないっぽい……ので、いろいろやってみても

(いつも通り)失敗。で、サーバーを再起動してみると、あっさり DNS に

繋がりました。なんだったん?

前回、ntfs を認識できていなかったようなので

wget で、NTFS-3Gをインストール。

最新バージョンが ntfs-3g_ntfsprogs-2022.10.3 だったので

[root@CentOS-7-Server ~]# wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz

解凍します。

[root@CentOS-7-Server ~]# tar xvfz ntfs-3g_ntfsprogs-2022.10.3.tgz

# cd ntfs-3g_ntfsprogs-2022.10.3.tgz/
# mkdir build
# ./configure
# make && make install ; echo $?

makeinstall しました。

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sba1 /管理しやすい場所
ntfs-3g: Failed to access volume '/dev/sba1': そのようなファイルやディレクトリ はありません

まあ、そんなに甘くは、ございませんね。

[root@CentOS-7-Server ~]# dmesg

をしてみると、USB 外付けHDD を認識していないようなので

シャットダウンして、一度 USBケーブルを抜いて再起動後に再び # dmesg

            :
            :
[   47.385554] usb 1-1.2: new high-speed USB device number 3 using ehci-pci
[   47.531130] usb 1-1.2: New USB device found, idVendor=04bb, idProduct=016c, b            cdDevice= 0.08
[   47.531140] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber            =3
[   47.531146] usb 1-1.2: Product: I-O DATA HDCZ-UT
[   47.531152] usb 1-1.2: Manufacturer: I-O DATA DEVICE, INC.
[   47.531157] usb 1-1.2: SerialNumber: 0000300000246274
[   47.672576] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[   47.673074] scsi host6: usb-storage 1-1.2:1.0
[   47.673186] usbcore: registered new interface driver usb-storage
[   47.688735] usbcore: registered new interface driver uas
[   48.674343] scsi 6:0:0:0: Direct-Access     I-O DATA HDCZ-UT          0008 PQ            : 0 ANSI: 6
[   48.675440] sd 6:0:0:0: Attached scsi generic sg2 type 0
[   48.684155] sd 6:0:0:0: [sdb] Spinning up disk…
[   49.684361] ….ready
[   52.700570] sd 6:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.            81 TiB)
[   52.701659] sd 6:0:0:0: [sdb] Write Protect is off
[   52.701669] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00
[   52.702855] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, does            n't support DPO or FUA
[   52.920906]  sdb: sdb1 sdb2 sdb3 sdb4
[   52.925272] sd 6:0:0:0: [sdb] Attached SCSI disk

[root@CentOS-7-Server ~]# fdisk -l

            :
            :

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1  4294967295  2147483647+  ee  GPT

ここまでは、変わりなし。

もう、あれだ。マウントしてみよう。

[root@CentOS-7-Server ~]# mount /dev/sdb1 /管理しやすい場所
mount: /dev/sdb1 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog – try
       dmesg | tail or so.

やっぱり、read-only だけど、後半のメッセージが少し変わってる。だからって

前進した感じがありません。検索すると、前回は、マウントしたまま USB ケーブルを

抜いたせいで、今回は、フォーマットできてないせいとか、そんな感じのことが

書いてあったりします。いずれにしろ、フォーマットしてみることから始めるべき

なんですが、とりあえず精神力をチャージしなければ次に進むことができません。

しばし、パソコン部屋で遊んで少しばかり充電出来ました。

[root@CentOS-7-Server ~]# mkfs -t ntfs -Q /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

うん?できた?ここは、あわてずに次。

[root@CentOS-7-Server ~]# mkfs -t ntfs -Q /dev/sdb2
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

どうなんだろ。次。

[root@CentOS-7-Server ~]# mkfs -t ntfs -Q /dev/sdb3
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

どうも、よくわかりません。いろいろ、検索してみると

「ntfs-3gはフォーマットには対応していない」という記事がありました。

[root@CentOS-7-Server ~]# yum install –enablerepo=epel ntfsprogs

ntfsprogsパッケージをインストールしてみて、クイックフォーマットではなく

[root@CentOS-7-Server ~]# mkfs -t ntfs /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% – Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

なんだか、できてるっぽくない?ではでは!

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb2 /管理しやすい場所1

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb2 /管理しやすい場所2

[root@CentOS-7-Server ~]# mount -t ntfs-3g /dev/sdb3 /管理しやすい場所3

さて、中身を見てみると

[root@CentOS-7-Server ~]# df
ファイルシス            1K-ブロック    使用    使用可 使用% マウント位置
devtmpfs                    1868672       0   1868672    0% /dev
tmpfs                       1881244       0   1881244    0% /dev/shm
tmpfs                       1881244    9012   1872232    1% /run
tmpfs                       1881244       0   1881244    0% /sys/fs/cgroup
/dev/mapper/centos-root    52403200 2633956  49769244    6% /
/dev/sda2                   1038336  154916    883420   15% /boot
/dev/sda1                    204580   11464    193116    6% /boot/efi
/dev/mapper/centos-home   430553700   33168 430520532    1% /home
tmpfs                        376252       0    376252    0% /run/user/0
/dev/sdb1                    131068    2500    128568    2% /管理しやすい場所1
/dev/sdb2                 524287996   81984 524206012    1% /管理しやすい場所2
/dev/sdb3                 524287996   81984 524206012    1% /管理しやすい場所3

あー。それで、sdb4 まであったのか。

つまり、sdb1 は、GUID パーティション テーブル(GPT)だったんですね。

2TBを超えるHDDが現れる前は、 マスター ブート レコード(MBR)が

パーティションを管理してました。もう少し詳しく知りたい方は、

「MBR と GPT」などの検索語で調べてみてください。私などは、生半可な

知識で MBR を削除したら HDDが、まるごとひとつ中身が消えてしまった

ことがあるので、ちょっとだけ明確なイメージを持っています。

となると

[root@CentOS-7-Server ~]# umount /dev/sdb1
[root@CentOS-7-Server ~]# umount /dev/sdb2
[root@CentOS-7-Server ~]# umount /dev/sdb3

[root@CentOS-7-Server ~]# mkfs -t ntfs /dev/sdb4
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes:   1%

あー。クイックフォーマットすれば良かった。続きは次回ですね。

CentOS 7 で FTP(4)

FTP に繋がるようにはなりましたが、FTPユーザーがホームディレクトリより上を

参照できて、サーバー内すべてをうろつくことができるようになっています。

これはまずい、非常にまずいので、このあたりの設定をします。その前に、

FTPユーザーが、SSH認証できてしまうと、まずいどころの話ではないので

sshd_config を編集して制限をかけました。

さて、なぜ、上位階層へのアクセスを拒否できないのか、その原因は

chroot_local_user=YES にした場合、

/etc/vsftpd/chroot_list に記載されているアカウントには
chroot 機能が働きません。

なんじゃぁあ!そりゃあ!

「CentOS 7 で FTP(3)」 で

/etc/vsftpd/chroot_list にFTPユーザーの名前を書き入れることで

接続できるようになったわけですから、書き込まないわけにはいきません。

これを解決するには、chroot_local_user=NO にしなければならない……

そんなこと、わかるわけないじゃん!

怒りを鎮めて作業を続けます。

手持ちのUSB HDD(2TB)をWindows機で3個のパーティションを

作って、ntfs でフォーマットしておきました。

CentOS7から、この HDD を使えるようにします。まず、

EPEL リポジトリを追加

[root@CentOS-7-Server ~]# yum install epel-release

次に、ntfs-3g パッケージをインストール

[root@CentOS-7-Server ~]# yum install ntfs-3g

mkdir コマンドを使って追加したパーティションぶんのマウントポイントを

作ります。

[root@CentOS-7-Server ~]# dmesg

[    0.000000] microcode: microcode updated early to revision 0x2f, date = 2019-02-17
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-1160.71.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Jun 28 15:37:28 UTC 2022
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=ja_JP.UTF-8
[    0.000000] Disabled fast string operations
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable
[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000c8feffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c8ff0000-0x00000000cae9efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000cae9f000-0x00000000caf9efff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000caf9f000-0x00000000caffefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cafff000-0x00000000caffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000f80f8000-0x00000000f80f8fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000012fdfffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] e820: update [mem 0xc320d018-0xc321d057] usable ==> usable
            :
            :
            :

[111262.873882] usb 1-1.2: new high-speed USB device number 3 using ehci-pci
[111263.019206] usb 1-1.2: New USB device found, idVendor=04bb, idProduct=016c, bcdDevice= 0.08
[111263.019217] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[111263.019225] usb 1-1.2: Product: I-O DATA HDCZ-UT
[111263.019232] usb 1-1.2: Manufacturer: I-O DATA DEVICE, INC.
[111263.019238] usb 1-1.2: SerialNumber: 0000300000246274
[111263.412925] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[111263.413020] scsi host6: usb-storage 1-1.2:1.0
[111263.413119] usbcore: registered new interface driver usb-storage
[111263.429042] usbcore: registered new interface driver uas
[111264.416725] scsi 6:0:0:0: Direct-Access     I-O DATA HDCZ-UT          0008 PQ: 0 ANSI: 6
[111264.417458] sd 6:0:0:0: Attached scsi generic sg2 type 0
[111264.422035] sd 6:0:0:0: [sdb] Spinning up disk…
[111265.422817] …ready
[111267.450487] sd 6:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[111267.451655] sd 6:0:0:0: [sdb] Write Protect is off
[111267.451665] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00
[111267.452798] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[111267.640292]  sdb: sdb1 sdb2 sdb3 sdb4
[111267.644272] sd 6:0:0:0: [sdb] Attached SCSI disk

何度見ても、ただただ、行が多いというだけでうっとおしいのですが

文字色を変えた部分が大切(なんだそうです)それにしても、

分けたパーティションの数よりも、ひとつ多くて sdb4 まであります。

なぜ?という疑問は解けるのでしょうか。とりあえず次。

[root@CentOS-7-Server ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
Disk label type: gpt
Disk identifier: 3C161873-2731-418B-941B-2881D4E611B0


#         Start          End    Size  Type            Name
 1         2048       411647    200M  EFI System      EFI System Partition
 2       411648      2508799      1G  Microsoft basic
 3      2508800    976773119  464.6G  Linux LVM

Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト


Disk /dev/mapper/centos-swap: 4026 MB, 4026531840 bytes, 7864320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト


Disk /dev/mapper/centos-home: 441.1 GB, 441102368768 bytes, 861528064 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト


Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1  4294967295  2147483647+  ee  GPT

なるほど。

[root@CentOS-7-Server ~]# mount /dev/sdb1 /管理しやすい場所
mount: /dev/sdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'

あれ?read-only になってる。それに、ファイルシステムが '(null)' って……

これは、前途多難だということだけは、わかります。

CentOS 7 で FTP(3)

「せっかくダウンロードしたのならUSBメモリとかSDカードとかで
インストールできないの?」

というコメントをいただき、それもそうだと思ったのです。

私の頭の中のUSBメモリは、最初に入手したものが 8MB だったので

そのまま凍結状態で、容量については、DVD > USBメモリという

刷り込みから逃れることができないままだったのです。よく見ると

CentOS 7 のインストール用に用意したUSBメモリは、16GBでした。

十数時間もかけてダウンロードした

CentOS-7-x86_64-DVD-2207-02.isoCentOS-7-x86_64-DVD-2207-02.iso

をインストールしてみることにしました。

また、最初っから?と思われる方が多いと思いますが、現在のFTPが

なぜ接続できないかを追及するより、最初っからのほうが簡単なことって

多いのです。

前回は、ポートを開く方法は、あちこちに書いてあるけど閉じる方法を

わかりやすく書いてあるところを探すのはむつかしいと書きましたが、

前へ前へと進むのは簡単でも後ろに下がるっていうか元に戻していく

作業って意外と困難なことが多いのです。

だから、もう一度、インストールから始めるって大変っぽくっても、

すべてを元に戻す一番簡単な方法でもあるのです。

それに、今回はネットインストールするために

CentOS-7-x86_64-NetInstall-2009.iso

を使ったわけですが、DVD 版なら、2207-02.iso が使えます。

新しいほうが、必ずしもいいわけではないし、最新のパソコンに

インストールするのでなければ、大勢の方が使っている

2009.iso のほうが安心感は強いし情報も多いのですが

=====
NOTE:
=====
The *2207* ISOs are only provided for xtra hardware support or Time Zones
not supported in September 2020 when the older 2009 ISOs were released.
You should only use the 2207 ISOs if you are having issues with the
2009 ISOs.

ということなんだそうです。ネット翻訳しただけでは、よくわかりません。ハハハ……

な~んてことを書いているうちに、USBメモリの準備ができたようです。

インストール開始です。「ソフトウェアの選択」では、今度こそ

インフラストラクチャサーバー

を選びました。FTPサーバーも、ここでインストールします。

たった、三日前と同じ事をするだけなのに「CentOS インストールタスクの確認」に

50分もかかってしまいました。おまけに IPアドレスを固定にする設定を間違えて

起動後に、手動で設定し直さなければなりませんでした。

[root@CentOS-7-Server ~]# nmcli device
DEVICE   TYPE      STATE     CONNECTION
デバイス名  ethernet  接続済み  デバイス名
lo       loopback  管理無し  —
wlp11s0  wifi      管理無し  —

↑↑↑ でデバイス名を確認して

# nmcli con mod デバイス名 ipv4.addresses "192.168.1.**/24"
# nmcli con mod デバイス名 ipv4.gateway "192.168.1.1"
# nmcli con mod デバイス名 ipv4.method manual
# nmcli con down デバイス名 ; nmcli con up デバイス名

で、自動的に再起動して設定した固定アドレスに変更されていました。

selinuxを無効にして、 vsftpd.conf を編集しました。

FTP ユーザーとユーザ設定ファイルの作成

このプロセスで Apache httpd がインストールされていないことがわかったので

最新バージョンをインストールしておきました。

そして、FTPとfirewall の設定を済ませて繋いでみたら……

繋がりません!

しばし、奮闘。っていうか、すごく長時間奮闘。

…… 繋がりました!

いろいろあったのですが、Next FTP が

500 OOPS: priv_sock_get_result

というエラーを吐いてくれるまでになり

/etc/vsftpd/chroot_list にFTPユーザーの名前を

書き忘れていたことが判明したんです。

メリークリスマス!

CentOS 7 で FTP(2)

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 接続できなくなりました。(涙の海)