AlmaLinux9 root昇格制限 wheel設定
Linuxではroot昇格を制限することは伝統的に可能。その仕組みの一つである wheelグループ所属の設定がシンプルで簡単である。
Linuxで wheel
グループを利用するメリット
1. root昇格の権限をシンプルに管理できる
/etc/sudoers
に1行書くだけで「wheel グループ所属者は sudo 可能」というルールが完成。%wheel ALL=(ALL) ALL
- 個別ユーザーごとに sudo 権限を設定しなくてよいため、グループ単位での一括管理が容易。
2. 伝統的で他のUnix系とも互換性がある
- FreeBSD や macOS でも「管理者は wheel グループに属する」が共通ルール。
- Linux でも
sudo
グループやadmin
グループの代わりにwheel
を使えば、異なるUnix系OS間での運用ルールが統一しやすい。
3. su
と sudo
の両方に対応できる
su
に対してpam_wheel.so
を使うと、wheel グループに入っていないユーザーは root に su できない。sudo
に対しても/etc/sudoers
の%wheel
で制御可能。
→ **「su でも sudo でも昇格できるのは wheel だけ」**という共通ルールを作れる。
4. セキュリティを強化できる
- wheel に所属しないユーザーは、たとえ root パスワードを知っていても
su
で昇格できない。 - 内部不正やアカウント乗っ取り対策として有効。
sudo
と組み合わせればログ監査も可能(誰がいつ root 権限を使ったか記録)。
5. 管理者アカウントをひと目で確認できる
getent group wheel
を見るだけで「root昇格可能ユーザー一覧」が取れる。- ユーザーが増えたり削除されたりしても、グループを見れば即確認できる。
- 運用上の監査や権限レビューが楽。
⚖️ 他方式との比較
- Ubuntu系の
sudo
グループ
→ wheel と同じ発想。ディストリごとに呼び方が違うだけ。 - ユーザーごとに sudoers 設定
→ 柔軟だが、ユーザー追加・削除のたびに sudoers を編集する必要があり、運用コストが上がる。
🔑 結論
Linuxで wheel
グループを利用するメリットは、
- root昇格権限をシンプルに一元管理できる
- 他のUnix系と共通の管理ルールを作れる
- セキュリティ強化と監査性向上につながる
といえます。
特に複数管理者がいる環境では「wheelに所属=管理者」とできるのが大きな利点です。
vi /etc/pam.d/subashCopy
auth sufficient pam_wheel.so trust use_uid
auth required pam_wheel.so use_uid
コメントを外す
[@localhost ~]$ su -
Password:
su: Permission denied
usermod -G wheel [[root昇格可能アカウント]]
[@localhost ~]$ su -
Last login: Sat Aug 30 19:21:29 JST 2025 on pts/2
Last failed login: Sat Aug 30 19:40:12 JST 2025 on pts/1
There was 1 failed login attempt since the last successful login.
wheelグループから外す
# 現在所属しているグループを確認する
id -Gn [[root昇格可能アカウント]]
# 所属しているグループから wheel を外して登録しなおす
usermod -G [[root昇格可能アカウント]] [[root昇格可能アカウント]]
# usermod -G shinohara,example1,example2 shinohara
wheelグループに対してもrootパスワード入力を要求することはできる。しかし、rootパスワードを知らせるというリスクがあるため推奨されていない。
1. su
の場合
/etc/pam.d/su
に以下の行を有効にします。
auth required pam_wheel.so use_uid
- wheel グループ以外 → root に su できない
- wheel グループ所属者 → root に su できるが root のパスワード入力が必須
👉 メリット: 管理者は root パスワードを共有する形。sudo よりシンプルだが、パスワード漏洩リスクはある。
2. sudo
の場合
デフォルトでは「sudo を実行した人自身のパスワード」を求めるのが一般的です。
しかし「wheel グループのユーザーにも root パスワードを要求」したいなら、/etc/sudoers
に以下を追加します:
Defaults targetpw
ALL ALL=(ALL) ALL
- wheel グループのユーザーが
sudo <コマンド>
を打つと、root のパスワードが要求される。 - つまり「sudo は使えるが、root の秘密を知っていないと昇格できない」運用にできる。
⚖️ まとめ
- su + pam_wheel.so
→ wheel グループ所属者だけ su できる。root パスワード必須。 - sudo + Defaults targetpw
→ wheel グループ所属者に sudo を許可しつつ root パスワード必須にできる。
🔐 セキュリティ観点:
- root パスワードを複数人で共有する必要があるため、監査性(誰が実行したかの追跡)や秘密保持のリスクが出る。
- 一般的には「sudo + 各ユーザー自身のパスワード」の方が望ましいですが、ポリシー上 root パスワード必須にするなら上記の設定が使えます。