VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

デーモン用アカウントなどに対しシェルを使用を無効にするには?

システム管理のデーモンサービスなどを実行するシステムアカウントは、ログインしてシェルを実行することはないので、セキュリティを考慮し、シェルの使用を無効に設定します。

シェルの使用を無効にするには?


 
/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 アカウント名

モバイルバージョンを終了