Red Hat Training

A Red Hat training course is available for RHEL 8

24.3. 非特権ユーザーが特定のコマンドを実行できるようにする

権限のないユーザーが特定のワークステーションで特定のコマンドを実行することを許可するポリシーを設定できます。このポリシーを設定するには、sudoers.d ファイルを編集する必要があります。

前提条件

  • root アクセス

手順

  1. root で、/etc/ の下に新しい sudoers.d ディレクトリーを作成します。

    # mkdir -p /etc/sudoers.d/
  2. /etc/sudoers.d ディレクトリーに新規ファイルを作成します。

    # visudo -f /etc/sudoers.d/file-name

    file-name は、作成するファイルの名前に置き換えます。ファイルは自動的に開きます。

  3. 新たに作成されたファイルに次の行を追加します。

    username hostname = /path/to/the/command

    username は、ユーザー名に置き換えます。hostname は、ホスト名に置き換えます。/path/to/the/command は、コマンドへの絶対パス (例: /usr/bin/yum) に置き換えます。

  4. 変更を保存し、エディターを終了します。

    例24.1 特権のないユーザーが yum および dnf でプログラムをインストールできるようにする手順

    sudo 特権で yum ユーティリティーおよび dnf ユーティリティーを使用して、ユーザー sarahlocalhost.localdomain ワークステーションにプログラムをインストールするには、以下を使用します。

    1. root で、/etc/ の下に新しい sudoers.d ディレクトリーを作成します。

      # mkdir -p /etc/sudoers.d/
    2. /etc/sudoers.d ディレクトリーに新規ファイルを作成します。

      # visudo -f /etc/sudoers.d/sarah

      ファイルは自動的に開きます。

    3. 以下の行を /etc/sudoers.d/sarah ファイルに追加します。

      sarah localhost.localdomain = /usr/bin/yum, /usr/bin/dnf

      2 つのコマンドパスがコンマ (,) とスペースで区切られていることを確認します。

    4. オプション: ユーザー sarahsudo 特権の使用を試みるたびにメール通知を受け取るには、以下の行をファイルに追加します。

      Defaults    mail_always
      Defaults    mailto="email@domain.com"
    5. ユーザー sarahsudo 権限で yum コマンドを実行できるかどうかを確認するには、アカウントを切り替えます。

      # su sarah -
    6. sudo yum コマンドを入力します。

      $ sudo yum
      [sudo] password for sarah:

      ユーザー sarahsudo パスワードを入力します。

    7. システムは、yum コマンドおよびオプションの一覧を表示します。

      ...
      usage: yum [options] COMMAND
      ...

      sarah is not in the sudoers file.This incident will be reported. のメッセージを受信する場合は、設定が正しく完了しませんでした。この手順を root で実行し、手順が確実に実行されたことを確認します。