見出し画像

🔷ざんねん、そのアカウント、ログインできませんから❗・・・でも問題なし❗❗

今回は、Linux サーバーにログインできないアカウントを作ったり、元々ログインできていたアカウントをログインできなくするお話です。

なんでそんなことを❓

画像1

一見謎ですよね。PCで考えたら、例えばWindows 10のパソコンにサインインできないユーザーを作成するということになりますから。

逆にログインできると困る😖

典型的な例は、メールサーバーです。細かなことを置いておくと、メールを送受信するサーバーです。こいつは、メールアドレスの提供とメールのやり取りだけしてくれればイイんです。サーバーにログインして作業する(管理者)アカウント以外はただメールアドレスになってくれればイイんです。

少し専門的な言葉を使うと『対話的ログインを禁止』することで実現します。

じゃあどうする❓ そうだ、ログイン制限をしよう🚫

1⃣最初からログインできないアカウントを作成

✔ useraddコマンド
# useradd アカウント(ID)名 -s /sbin/nologin 

📌新規で作成予定の「アカウント(ID)名」のユーザーに対して、ログインシェルを『sbin/nologin』に設定
        ⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇ 
  これでログインできないユーザーアカウントの出来上がりです❗

パスワードも設定しておこう

🟢 passwdコマンド
# passwd アカウント(ID)名

📌設定したいパスワードを入力します

2⃣既に存在するアカウントをログインできなくする

✔ usermodコマンド
🟢 ログインシェルを『sbin/nologin』に変更
# usermod -s /sbin/nologin アカウント(ID)名 

パスワードを変更したかったら

💡テキストエディタで直接ファイル編集
🟣 vi コマンド
# vi /etc/passwd

🟡 vipw コマンド 👈こちらの方が推奨
# vipw

(一時的にでも)無効化したかったら

🔴 アカウントをロックする
    ✔ usermodコマンド(-Lオプション)
    ✔ passwdコマンド
# usermod -L アカウント(ID)名
# passwd -l ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ(ID)名

ちなみに

/etc/nologin

というファイルを作成しておくと、ビルトインの最高権限アカウント(root)によるログイン以外は禁止できます。

あと、『sbin/nologin』ではなく

/bin/false

をログインシェルに設定することでも同様に対話的ログインを禁止できます。

メールサーバーとして構築しておくと

送信メールサーバーにはPostfix、受信メールサーバーにはDovecotがよく使われます。アプリは最悪どうでもイイとして、メールサーバーを構築・設定しておくと、ログインシェルを『sbin/nologin』に設定したメールアカウントが簡単に作成できます。(メール)サーバーであるLinuxにはログインできません。

# useradd アカウント(ID)名 -s /sbin/nologin 
# usermod -s /sbin/nologin アカウント(ID)名 
ドメイン:mevius.local

で設定してあれば

アカウント(ID)名@mevius.local

といったメールアドレスでメールの送受信ができます。

最後に

この記事は基本的に、検証環境とかでとりあえずメール環境を構築してメールアドレス(アカウント)がほしいってときに役立つ感じです。

セキュリティの面からは、こういったログイン制限をしたり、(一時的に)アカウントを封印(ロック)してしまうなども行われたりします。

最後まで読んでいただきありがとうございました😊

📖 関連記事 📖


もしこの記事が何かの参考になったもしくは面白かったという方は、応援していただけると大変嬉しいです😊 これからもよろしくお願いします。