web-dev-qa-db-ja.com

細かいsudoers構成(コマンドライン引数を許可)

ユーザーが実行できるようにする簡単な方法はありますか(たとえば)

/usr/bin/pacman -S -u

rootとして、実行を許可せずに

/usr/bin/pacman -S -u some_package

この線

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u

両方を許可し、

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u ""

意味的に同等であるように見えます。

20
nisc

あなたの場合は次のようなことを試してください:

Cmnd_Alias PACMAN = /usr/bin/pacman -S -u, ! /usr/bin/pacman -S -u some_package
user ALL=(root) NOPASSWD: PACMAN

Sudoersファイルで[a-z]、[0-9]、*などのシェルglobパターンを使用して、特定のパターンに一致するパッケージを除外できます。

27
matthias krull

必要なことを実行するスクリプトを作成し、Sudoにスクリプトへのアクセスを許可します。

また、これが実行される環境がネットワークにまったくアクセスできないことを確認します。または、独自のDNSを使用してミラーを偽装し、pacmanによってインストールされたときにルートとして任意のコードを実行できます。

3
Daenyth