Запретить пользователю запускать определенную команду sudo

Если у вас автономная CentOS и вы хотите запускать приложения с графическим интерфейсом пользователя, войдя в систему удаленно, вам потребуется:

  1. yum install xorg-x11-xauth
  2. yum install xorg-x11-apps
  3. ssh -X yourserver
  4. xclock

Очевидно, вам нужно запустить ssh -X из системы, на которой запущен сервер X11.

  • Если вы работаете в Linux - никаких дополнительных действий не требуется.
  • Если у вас Mac OS X - установите XQuartz
  • Если вы работаете в Windows - используйте xming, mobaxterm, Exceed или что-нибудь еще, что добавляет поддержку X11.
2
20.04.2017, 21:05
2 ответа

РЕДАКТИРОВАТЬ: полностью переписать после того, как OP предоставил дополнительную информацию.

Укажите пользователя в / etc / sudoers как имеющего разрешение на выполнение / usr / sbin / sudo .

Это позволит им выполнить команду sudo, но у них не будет разрешений на выполнение каких-либо других команд.

Я только что протестировал это на CentOS-7.3.1611 с новой учетной записью пользователя:

testusr ALL = (ALL) NOPASSWD: / usr / sbin / sudo

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

1
27.01.2020, 22:18

Я думаю, что вы можете перечислить команды, которые может выполнять другой пользователь, только если вы можете выполнять произвольные команды от имени (ВСЕГО) этого пользователя. Поэтому вместо этого...

В sudoers:

non_sudo_user ALL=(ALL) NOPASSWD: /usr/bin/sudo -l

И перечислить их, запуская от имени не_sudo_user:

for target_user in user1 user2 user3... ; do
    sudo -u "$target_user" sudo -l
done
0
27.01.2020, 22:18

Теги

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