pam wheelを使って 管理者のログインを 制限してみた

Pocket

pam wheelを使って 管理者のログインを 制限してみた
pam wheelを使って管理者のログインを制限してみた

はい。

UNIXの管理者といえば、root。

そして、古来のUNIXでパスワードさえわかれば、ログインできるのがroot。

これはかなりセキュリティ的に問題がありました。

パスワードさえわかれば、簡単にrootになれるからです。

そこで考えられたのが、「root(管理者)にログインできるユーザーを制限しよう。rootにログインできるユーザーをグループで管理しよう。」という結論です。

そのrootとしてログインできるユーザーの属しているグループが「wheel」です。

—-[ 追記 ]—–

なぜ、「wheel(車輪)」かというと、推測ですが、「管理者を管理しよう」という発想そのものが、「コロンブスの卵」「車輪の再発明」だったわけです。

当時、ビジネスで、社長などの管理者についてマネジメント革命が起こってました。

ドラッカーのせいです。

それに触発されて、root(管理者)を管理しよう、管理するためのグループを作ろう。

ということで、そのグループ名が「wheel(車輪)」となったと思われます。

——————

試しにwheelのユーザーを作ってみましょう。

まずはグループを作ります。

次に、管理者になれるユーザーを作成します。

次に、そのユーザーの第2グループをwheelにします。

ユーザーの第1グループは、セキュリティの関係上、ユーザー名と同じグループ名のグループで他のユーザーはこのグループにはなれません。

ユーザーの第1グループをユーザー名と同じグループ名のグループにすると、パーミッションでうっかりグループパーミッションを許可してしまっても、他のユーザーはそのグループではないので、読み取りも書き込みも実行もできず、セキュリティ上安全になる、というのが歴史上の理由です。

それでは、ユーザーの第2グループをwheelにしてみましょう。

これでユーザーがwheelグループに加わりました。

確認してみましょう。

最後に、pamというログイン時の認証モジュールで、「rootにログインできるユーザーを、wheelグループのユーザーに制限する」という設定を行います。

suというのは、「switch user」の略称で、ユーザーから別のユーザーにログインし直す(ユーザーをスイッチする)という意味です。

実際に「su」コマンドを実行するとパスワードを入力すれば、別のユーザーとしてログインできます。

/etc/pam.d/suの設定内容は以下の通りです。

以上のように、

がコメントアウトされてpam wheelが無効化されているので、このコメントアウトを解除し、pam wheelを有効化します。

最後に、以下のように「su」コマンドを実行して、rootにsuできるか確認します。

「-」は、「ログイン先の環境変数を使用する」という意味です。

要は、ログイン先のユーザーのPATHの設定を有効にし、完全にそのユーザーとしてログインし直すという意味です。

「-」を省いて「su」のみ実行した場合は、環境変数はログイン元のユーザーのものになります。

その場合、たとえばrootへログインしても、元の一般ユーザーの環境変数のままで、たとえばPATHに/sbinなどが含まれない状態になります。

そのため、通常は「su -」と実行します。

これで、晴れてrootにログインできるユーザーになりました。

他のユーザーはrootには絶対になれません。

なかなか便利な機能なので、ぜひ利用してみてください。

なお、/etc/pam.d/suの設定内容はCentOS7のものです。