конфігурація тонкозернистих судорів (дозволені аргументи командного рядка)


20

чи є прямий спосіб дозволити користувачеві працювати (наприклад)

/usr/bin/pacman -S -u

як корінь, не дозволяючи йому бігати

/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 ""

видається семантично рівнозначним.

Відповіді:


27

Для вашого випадку спробуйте щось подібне:

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

Ви можете використовувати шаблони глобальних оболонок на зразок [az], [0-9], * тощо у вашому файлі sudoers, щоб виключити пакунки, які відповідають певному шаблону.


3

Напишіть сценарій, який виконує те, що ви хочете, і надайте доступу до нього sudo.

Також переконайтесь, що в якому б середовищі не було запущено взагалі немає доступу до мереж, або вони можуть просто використовувати власний dns для підробки дзеркала, а потім запустити довільний код як корінь, коли він буде встановлений Pacman.


це не елегантний спосіб, sudo підтримує за замовчуванням точно вказаний випадок
Matthias krull

1
Не найкраще рішення, але +1 для попередження безпеки
Aaron J Lang
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.