maintenance中、rootを除く一般userの新規loginを一時的に拒否し、理由messageを表示する。
既存sessionは強制終了しない。
利用するfileはどれか。
/etc/nologinが存在すると対応するlogin programは通常root以外のloginを拒否し、file内容をmessageとして表示する。
詳細解説
/etc/hosts.denyTCP Wrappers対象serviceの接続policyで全local loginを一時停止するfileではない。
誤り。hosts.denyはlibwrap対応network service単位のpolicyで、console等を含む一般login停止fileではない。
/etc/passwdaccount databaseでmaintenance message用fileではない。
誤り。passwd entryを一括編集する方法は不可逆性と誤りのriskが高く、maintenance messageも提供しない。
/etc/nologin存在時に多くのlogin serviceが非root loginを拒否し内容を表示する。
正しい。/etc/nologinの存在を対応login programが検知し、非root loginを拒否して内容を表示する。
/etc/inittabSysV init設定でlogin拒否messageを置くfileではない。
誤り。inittabはinit processのaction設定で、login拒否messageを置く標準fileではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' '/etc/nologin present -> deny new non-root logins in supporting services'期待される結果
/etc/nologin present -> deny new non-root logins in supporting services理解のポイント
- 一時的なlogin停止
- rootは通常除外
- 既存sessionは別管理
確認時の注意
- 確認環境: nologin fileの動作対応表
- 実際の/etc/nologinは作成しない。
基礎のおさらい
適用差
serviceがnologinを確認する実装である必要があり、すべての認証経路へ自動適用されるとは限らない。
解除
maintenance終了時はfileを確実に削除し、監視やchange procedureで残置を防ぐ。