システム管理のデーモンサービスなどを実行するシステムアカウントは、ログインしてシェルを実行することはないので、セキュリティを考慮し、シェルの使用を無効に設定します。
シェルの使用を無効にするには?
/etc/passwdのシェルの設定で下記のように設定します。
/sbin/nologin、/bin/false、/dev/null
パスワードをロックするには?
シェルは利用できるようにしておき、パスワードをロックしてログインできないようにする事も出来ます。
# usermod -L アカウント名
設定例
①/etc/passwdからアカウント名、ユーザーID、シェルの情報のリストを出力
$ awk -F: '{print $1 ":" $3 ":" $7}' /etc/passwd root:0:/bin/bash bin:1:/sbin/nologin daemon:2:/sbin/nologin adm:3:/sbin/nologin : :
②①の結果からシステムアカウント(通常はUIDが500未満のroot以外のユーザーアカウント)などシェルが不要なアカウントのシェルが無効になっているか確認
③必要に応じてアカウントのパスワードをロック
# usermod -L アカウント名
④必要に応じてアカウントのシェルを無効にする
# usermod -s /sbin/nologin アカウント名