UserAとUserBという2人のユーザーがいます。 userBはuserAでいくつかのコマンドを実行する必要があります。これらのオプションを/etc/sudoers
次のように指定しました。
userA ALL=(ALL) ALL
userB ALL=(vinoth) /sbin/fdisk
userBでこのコマンドを実行します。
sudo -u userA fdisk -l
ユーザーBのパスワードを尋ねます。パスワードを入力した後、コマンドはfdisk出力を提供しません。
答え1
構成で次のことを許可します。
userA
任意のユーザーで任意のコマンドを実行するuserB
fdisk
次に実行vinoth
fdisk
デフォルトではデバイスへのアクセス権が必要です。たとえば、root
実行できませんuserA
。実行できますが、fdisk -l
結果は印刷されません。最終
sudo
コマンドは遷移的ではありません。userB
accountを使用してアカウントでコマンドを実行すると、資格情報を使用して実行され、設定が定義されているというsudo -u userA <command>
事実<command>
はuserA
このコマンドには適用されません。userA
sudoers
使用sudo -u
userB
コマンドの実行を許可するには、userA
次のように入力する必要がありますsudoers
。
userB ALL=(userA) /usr/bin/whoami
次に、シェルにログインし、userB
次を実行します。
$ sudo -u userA whoami
userA
ただし、userA
実行権限がある場合はwhoami
実行されます。そうではありませんfdisk
。
fdisk
一般ユーザーに対して有効
fdisk
root
アカウント自体に限定されませんが、ディスクデバイス(/dev
保存されていて一般ユーザーがアクセスできない場所)へのアクセスが必要です。ユーザーに実行権限を付与するには、fdisk
次のようにします。
sudo
アカウントに対して有効にします。sudo fdisk -l
効率的に運営するということは、fdisk
アカウント別に運営することを意味しますroot
。disk
グループにアカウントを追加すると、fdisk -l
アカウントの資格情報なしで実行できますsudo
。