Это правило sudo позволит пользователю обновлять систему и ничто больше?

Я хочу разработать правило sudo, которое позволит пользователю ricardo обновить системное использование aptitude, но препятствуйте тому, чтобы он использовал sudo для выполнения любой другой команды (он - трудный пользователь). Там какие-либо ловушки к этому правилу, что я отсутствую?

ricardo  ALL=(root) /usr/bin/aptitude

Ricardo только использует aptitude, нет apt-get. Кроме того, мне не установили Ubuntu нигде в данный момент, таким образом, я понимаю это /usr/bin/aptitude не мог бы быть точный правильный файл для разрешения.

Если существуют ловушки к этому правилу, как я могу улучшить его?

4
задан 21 February 2013 в 09:41

3 ответа

Эта команда ограничит пользователя в использовании aptitude для чего-либо кроме обновления кэша репозитория и выполнения безопасного обновления системы.

ricardo ALL=(root) /usr/bin/aptitude update, /usr/bin/aptitude safe-upgrade

Подобная команда позволит пользователю выполнять полное обновление, но ничто больше:

ricardo ALL=(root) /usr/bin/aptitude update, /usr/bin/aptitude full-upgrade

На документацию способности (10.04), safe-upgrade:

Обновления установили пакеты на своей новой версии. Установленные пакеты не будут удалены, если они не будут не использованы

Напротив, full-upgrade:

Обновления установили пакеты на своей новой версии, удалив или установив пакеты по мере необходимости. Эта команда менее консервативна, чем безопасное обновление и таким образом более вероятно выполнить нежелательные действия. Однако это способно к пакетам обновления, которые не может обновить безопасное обновление.

Используйте свое лучшее решение, за которым пользователю нужно разрешить работать. Если Вы не уверены, используйте первое правило, которое только позволяет safe-upgrade.

Обратите внимание, что, если Вы хотите позволить пользователю устанавливать пакеты (который значительно уменьшает любое преимущество для безопасности, но гипотетически), необходимо включать a * после aptitude команда, т.е.

ricardo ALL=(root) /usr/bin/aptitude update, /usr/bin/aptitude safe-upgrade, /usr/bin/aptitude install *

Иначе Вы получите сообщение об ошибке тот пользователь ricardo не позволяется выполнить команду /usr/bin/aptitude install <package_name>.

5
ответ дан 23 November 2019 в 11:43

Можно использовать sudo -l видеть, каким командам пользователь позволяют работать. Например, для наблюдения, какие команды ricardo могут работать:

sudo -ll -U ricardo

видеть, может ли он выполнить способность,

sudo -ll -U ricardo /usr/bin/aptitude

это или распечатает название команды, поскольку оно расширено sudo или выходом с кодом 1, если пользователю не разрешают использовать команду.

Это должно работать в любой недавней находящейся в debian системе на Вас для тестирования; синтаксис не является определенным для Ubuntu.

источник: человек sudo

4
ответ дан 23 November 2019 в 11:43

Я не могу на самом деле видеть ничто плохого с этим sudoers строка. К сожалению, я не бездельничал с sudoпараметры конфигурации так очень, так в этом случае, мой совет не может быть надежным. К счастью, то, что я могу сделать, дают Вам строку, которую я действительно знаю, безопасно:

ricardo ALL=/usr/bin/aptitude

Эта строка, как гарантируют, только позволит ricardo выполниться aptitude как корень, целый ricardo не является членом sudo-поддерживающей группы, такой как sudo или admin.

Источник: 8 способов настроить и настроить Sudo на Ubuntu - фанат с практическими рекомендациями.

2
ответ дан 23 November 2019 в 11:43

Другие вопросы по тегам:

Похожие вопросы: