konfigurasi sudoer berbutir halus (argumen baris perintah diizinkan)


20

apakah ada cara langsung untuk memungkinkan pengguna menjalankan (misalnya)

/usr/bin/pacman -S -u

sebagai root, tanpa membiarkannya berlari

/usr/bin/pacman -S -u some_package

?

Garis

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

memungkinkan keduanya, dan

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

tampaknya setara secara semantik.

Jawaban:


27

Untuk kasus Anda, coba sesuatu seperti ini:

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

Anda dapat menggunakan pola glob shell seperti [az], [0-9], * dll di file sudoers Anda untuk mengecualikan paket yang cocok dengan pola tertentu.


3

Tulis skrip yang melakukan apa yang Anda inginkan dan berikan sudo akses ke sana.

Juga pastikan bahwa lingkungan apa pun yang dijalankan tidak memiliki akses ke jaringan sama sekali, atau mereka hanya dapat menggunakan dns mereka sendiri untuk menipu cermin dan kemudian menjalankan kode arbitrer sebagai root ketika diinstal oleh pacman.


itu bukan cara yang elegan, sudo mendukung secara default kasus yang diberikan tepat
matthias krull

1
Bukan solusi terbaik, tetapi +1 untuk peringatan keamanan
Aaron J Lang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.