Menu Close
Settings Close

Language and Page Formatting Options

22.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/dnf) に置き換えます。

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

    例22.1 特権のないユーザーによる dnf を使用したプログラムのインストール

    sudo 特権で 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/dnf

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

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

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

      # su sarah -
    6. sudo dnf を実行します。

      $ sudo dnf
      [sudo] password for sarah:

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

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

      ...
      usage: dnf [options] COMMAND
      ...

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