Я знаю, как отредактировать /etc /sudoers так, чтобы я мог запускать команду как sudo без необходимости ввода пароля, однако есть способ разрешить запуск программы полностью без sudo всеми пользователями группы. (Программы, которые я хочу запустить, это "mount" и "umount").
1 ответ
Предположим, я хотел добавить группу пользователей, которым разрешено запускать mount
и umount
без паролей.
Поэтому я сначала хочу добавить группу под названием "любое имя"
sudo groupadd anyname
Далее нам нужно отредактировать /etc/group
и добавить пользователей
anyname:x:407:
будет присутствовать, следовательно, добавьте пользователей, которых вы хотите добавить пользователей, разделенных запятыми.
anyname:x:407:user1,user2,...
Теперь нам нужно настроить sudo, чтобы позволить членам группы "anyname" фактически вызывать команды mount
и umount
.
Вам просто нужно добавить следующие строки в /etc /sudoers
%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount
Теперь sudo mount
будет спрашивать пароль, но, поскольку постоянно вводить sudo очень сложно, мы можем избежать этого, выполнив следующее:
Я могу создать следующий скрипт с именем "/usr/bin/mount" (и аналогичный скрипт для umount)
#! /bin/sh
sudo /sbin/mount $*
Чтобы сделать это немного более безопасным, мы могли бы захотеть изменить владельца этих сценариев на группу "anyname".
chgrp anyname /usr/bin/mount /usr/bin/umount
а затем сделать их исполняемыми только для группы "anyname"
chmod g+x /usr/bin/mount /usr/bin/umount
РЕДАКТИРОВАТЬ: В зависимости от используемой ОС, пожалуйста, проверьте, где расположены команды mount и umount. Это может быть в /bin / вместо / sbin.Так что, возможно, вам придется внести необходимые изменения
ВАЖНО: КСТАТИ не запускайте сценарий в системах на основе Arch, где все папки bin связаны между собой.