去年末に CentOS の最新版「CentOS 8」がリリースされたわけですが。
php も 7.4 へ上げようかなと思っているので、このタイミングで CentOS 7 から CentOS 8 へ乗り換えることに。
さっそく CentOS 8 の環境を準備しもろもろの設定を開始。
いつものようにデフォルトシェルに「/sbin/nologin」を指定した FTP 用のユーザーを作成。
すると FTP に接続した際に
530 Login incorrect.
と表示されログインができず。
調べてみたところ、setup-2.8.71-10.el7.noarch 以降は /etc/shells 内に /sbin/nologin が記述されていないため、FTP にログインしようとした際に拒否されるとのこと。
確認してみると、確かに /etc/shells の中に /sbin/nologin がありませんでした。
なので /etc/shells の中に /sbin/nologin を追記。
何かしら意味があって /etc/shells の中から /sbin/nologin が無くなったと思うので、追記するのはいかがなのかというモヤモヤ感がありますが、他に解決方法もなさそうなのでこれで解決とします。
■追記
どうやら「CVE-2018-1113」対策として /etc/shells の中から /sbin/nologin が無くなったようです。
/sbin/nologin を指定しているユーザーでも、特定の状況下でシステムにアクセスできてしまうそうな。
そのため、やはりセキュリティ的には /sbin/nologin を追記するのはあまり良くないようです。