suを制限するwheelユーザー / Oracle Linux 8.10

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

さくらのVPS 2G にAlmaLinux9.4をインストールした覚書です。

今回は、wheel ユーザーの設定を行っていきたいと思います。

wheel ユーザーの設定をすると、 su するときにパスワードが不要になります。
また、 su で root になれるユーザーを制限することもできます。

なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。

環境

実施日2024-06-29
サーバVMwareESXi 6.7 U2
OSOracle Linux 8.10
cat /etc/redhat-release
Red Hat Enterprise Linux release 8.10 (Ootpa)
cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="8.10"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.10"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:10:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.10
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.10

概要

wheelユーザーとかこのあたりについて質問があったので、図を作ってみました。

一般的な会社を想像しながら見てください。
登場人物は、社長、従業員、変装した偽物、守衛、取締役です。
1234と番号を振っているので順に辿ってください。

なお、正確さよりも分かりやすさを優先しています。

原寸で開く

wheelユーザーの設定とは、この図で言う4番です。
「取締役に社長室の鍵を預ける」を本ページでは行います。

wheelを有効にする

vi /etc/pam.d/su
auth sufficient pam_wheel.so trust use_uid
auth required pam_wheel.so use_uid

コメントされているので、先頭の # を消して有効化します。

事前確認

追加する前に、wheelじゃなければsuできないことを確認しましょう

新しいターミナルを開いてログインします。

su しようとすると
su: Permission denied

wheelユーザーの確認

設定されている wheel ユーザーを確認します。

cat /etc/group | grep wheel

ユーザーをwheelグループに追加

当サイトでは、一般ユーザーとして shinohara を例にしています。

usermod -G wheel shinohara

実行したら、実際に su してみます。
root パスワードなしでrootになれます。

wheelユーザーを外す

設定されている wheel ユーザーを削除します。

ここではデフォルトで作成されている alma ユーザーを外してみましょう。

# 現在所属しているグループを確認する
id -Gn alma
# 所属しているグループから wheel を外して登録しなおす
usermod -G alma alma
# usermod -G alma,example1,example2 alma

usermod -G は、現在所属しているグループからすべて離脱して、そこで指定されたグループだけに所属するように設定されます。

確認

cat /etc/group | grep wheel