ユーザ作成及びsudo設定

スポンサーリンク
RockyLinux
この記事は約8分で読めます。
ランキングに参加しています。応援よろしくお願いします。
ブログランキング・にほんブログ村へ 人気ブログランキングへ FC2ブログランキングへ
スポンサーリンク
この記事が気に入ったら
フォローしよう
最新情報をお届けします。

前回の「アップデート及び初期状態の確認」に引き続き、Rocky Linux 9 サーバ構築手順次のステップは「初期設定編」として以下の項目について説明します。

当ブログサイトを運用しているサーバは、「KAGOYA JAPAN」で提供されている「KAGOYA CLOUD VPS」を利用しています。

前提条件

  1. ユーザの追加
# useradd maruuser
  1. パスワードの設定
# passwd maruuser
Changing password for user maruuser.
New password:                    # 新しいパスワードを入力
Retype new password:             # 再度パスワードを入力
passwd: all authentication tokens updated successfully.

補足

  • パスワードは安全性を考慮して、8文字以上で英数字記号を組み合わせることを推奨
  • ユーザ名「maruuser」は任意の名前に変更可能
useradd [オプション] ユーザー名

主要オプション:

  • -m : ホームディレクトリを作成(通常は自動作成される)
  • -s : ログインシェルを指定(例:-s /bin/bash
  • -g : プライマリグループを指定
  • -G : セカンダリグループを指定
  • -d : ホームディレクトリのパスを指定
  • -c : ユーザーのフルネームやコメントを追加

作成したユーザーの情報を確認します。

# id maruuser
uid=1001(maruuser) gid=1001(maruuser) groups=1001(maruuser)

出力の説明:

  • uid=1001(maruuser) : ユーザーID(UID)1001番、ユーザー名「maruuser」
  • gid=1001(maruuser) : プライマリグループID(GID)1001番、グループ名「maruuser」
  • groups=1001(maruuser) : 所属グループ一覧
  1. ユーザをwheelグループに追加
# usermod -G wheel maruuser
  1. 設定確認
# id maruuser
uid=1001(maruuser) gid=1001(maruuser) groups=1001(maruuser),10(wheel)
# usermod [オプション] ユーザー名

主要オプション:

  • -G : セカンダリグループを指定(複数指定可能)
  • -a : グループを追加(-Gと組み合わせて使用)
  • -g : プライマリグループを変更
  • -s : ログインシェルを変更
  • -d : ホームディレクトリを変更
  • -l : ユーザー名を変更

注意点

  • -Gオプションのみを使用すると、既存のセカンダリグループから削除される
  • グループを追加する場合は-a -Gオプションを組み合わせる
  • 例:usermod -a -G wheel,users maruuser
  1. PAM設定ファイルの編集
# vi /etc/pam.d/su
  1. 以下の行のコメントアウトを削除して有効化
auth        required   pam_wheel.so use_uid

設定の説明:

  • wheelグループ: 管理者権限を持つユーザのグループ
  • PAM設定: wheelグループのメンバーのみがsuコマンドを使用可能にする設定

PAMは認証処理を柔軟に設定できるシステムです。

PAMの主要設定ファイル

  • /etc/pam.d/su : suコマンドの認証設定
  • /etc/pam.d/sudo : sudoコマンドの認証設定
  • /etc/pam.d/login : ログイン認証設定
  • /etc/pam.d/passwd : パスワード変更時の認証設定

PAM設定の構文

タイプ 制御フラグ モジュール  引数
auth  required  pam_wheel.so use_uid
  • タイプ : auth(認証)、account(アカウント)、password(パスワード)、session(セッション)
  • 制御フラグ : required(必須)、optional(任意)、sufficient(十分)
  • モジュール : 実際の認証処理を行うモジュール
  • 引数 : モジュールに渡すパラメータ

作成したユーザーのsudo権限を確認します。

# sudo -l -U maruuser
Matching Defaults entries for maruuser on v133-18-226-221:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
    HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
    LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User maruuser may run the following commands on v133-18-226-221:
    (ALL) ALL

各行の説明:

1行目:sudo -l -U maruuserでユーザー「maruuser」のsudo権限を確認
2行目以降:sudo実行時のデフォルト設定が表示
最下行:(ALL) ALLは全てのコマンドを全てのユーザーとして実行可能

# sudo [オプション] コマンド

主要オプション:

  • -l : 実行可能なコマンドを一覧表示
  • -U ユーザー名 : 指定ユーザーのsudo権限を確認
  • -u ユーザー名 : 指定ユーザーとしてコマンドを実行
  • -s : シェルを起動
  • -i : ログインシェルを起動(環境変数をリセット)
  • -v : sudo認証をリフレッシュ

Defaults設定の説明:

  • !visiblepw : パスワード入力時にアスタリスクを表示しない
  • always_set_home : 常にHOME環境変数を設定
  • match_group_by_gid : グループIDでマッチング
  • env_reset : 環境変数をリセット
  • env_keep : 保持する環境変数を指定
  • secure_path : sudo実行時のPATH環境変数を制限

権限設定の説明:

(ALL) ALL
  • 第1フィールド (ALL) : 実行可能なユーザー(ALLは全ユーザー)
  • 第2フィールド ALL : 実行可能なコマンド(ALLは全コマンド)

sudo権限の詳細設定は/etc/sudoersファイルで管理されています。

# visudo

主要な設定例:

# wheelグループのユーザーに全権限を付与
%wheel  ALL=(ALL)   ALL

# パスワード入力なしでsudo実行(セキュリティリスクあり)
%wheel  ALL=(ALL)   NOPASSWD: ALL

# 特定のコマンドのみ実行許可
username ALL=(ALL) /bin/systemctl, /usr/bin/dnf

visudoコマンドの重要性

  • /etc/sudoersファイルは直接編集せず、必ずvisudoコマンドを使用
  • 構文チェック機能により、設定ミスを防止
  • 複数人での同時編集を防止

作成したユーザーでログインし、sudo動作を確認します。

$ sudo whoami
[sudo] password for maruuser:
root

確認手順:

  1. 一般ユーザー「maruuser」でログイン
  2. sudo whoamiコマンドを実行
  3. パスワードを入力
  4. 「root」と表示されれば、sudo権限が正常に動作

sudoを使用する際の注意事項:

  • 必要最小限の権限のみを付与
  • 定期的にsudo権限を見直し
  • sudo実行ログを監視
  • 不要になったユーザーは速やかに削除
  • パスワードの定期変更

ログ確認:

# sudo実行ログの確認
$ sudo journalctl -f | grep sudo

この記事では、Rocky Linux 9における一般ユーザーの作成、管理者権限の設定、sudo権限の確認について詳しく解説しました。

実施した内容

  1. 一般ユーザー作成 : useraddコマンドでユーザー追加
  2. 管理者用一般ユーザ設定 : wheelグループへの追加とsu制限設定
  3. sudo設定確認 : 作成ユーザーのsudo権限確認

これらの設定により、セキュリティを保ちながら管理作業を行える環境が整いました。
次回は「SELinux無効化、開発ツールパッケージのインストール及びシステムアップデート自動化」についてです。

コメント

タイトルとURLをコピーしました