/sbin/nologin
データーの大移動中で終了まで手が空いたので
エントリしています。
サーバー移行しています。と書いたら早速
自前サーバーを運用していて、まさに移行中の
友人から連絡があり、同じくハマっている
MySQL・PHPバージョン問題(動かなくなる
アプリやプラグインがある件)についての
質問の嵐でした。💦
それとは別にユーザー移行の際にvipwで
直接編集して大失敗したとのこと。
電話ではさらっとしか話せなかったので、
補足の意味でここに書いておきます。
SSHログインさせないアカウントを作る
例えばメールしか使わないユーザーを
作成場合など、セキュリティの観点からも、
そのユーザーをSSHでログインさせないことが
推奨されます。
例えばhogeというユーザーを作成
するとします。
よく見かける
#useradd hoge
というコマンドではユーザーhogeは
ディフォルトでログインできてしまいます。
#vipw で確認すると
hoge:x:1000:1000:x:/home/hoge:/bin/bash
となっていて、末尾が/bin/bashですが、ログイン
させないためには/sbin/nologinでなくてはいけません。
(/bin/falseについては次の機会に)
正解はユーザー作成時に
#useradd -s /sbin/nologin hoge
と -sオプションで指定してやれば良いのですが、
すでに/bin/bashのユーザーを作成してしまい、
後から/sbin/nologinに変更したいケースもあるでしょうし、
またその逆のケースもあるでしょう。
編集はusermodで
vipwコマンドは/etc/passwdを編集中に他のプロセスから
変更されないようロックをかけてくれます。
ただし不適切な編集を行うと、友人が陥った例の通り
システムに全くログインできなくなる可能性があるため、
拙生はusermodコマンドでやります。
hoge:x:1000:1000:x:/home/hoge:/bin/bash
これを
hoge:x:1000:1000:x:/home/hoge:/sbin/nologin
に編集するには
#usermod -s /sbin/nologin hoge
これでOKです。
もちろん逆に
#usermod -s /bin/bash hoge
で/bin/bashに戻せます。
ちなみにすでに/sbin/nologinなのに
hoge:x:1000:1000:x:/home/hoge:/sbin/nologin
とやると
usermod: 変更はありません
とご親切に教えてくれます。w
もも三昧
右手のみでリードとスマホは厳しい。💦
恐る恐る左手でリード持ってみました。
1日に数回アップするときもある連れ合いインスタグラム
拙生のインスタ ⇒ こちら
(要ログイン)