9

Я знаю, как отредактировать /etc /sudoers так, чтобы я мог запускать команду как sudo без необходимости ввода пароля, однако есть способ разрешить запуск программы полностью без sudo всеми пользователями группы. (Программы, которые я хочу запустить, это "mount" и "umount").

1 ответ1

11

Предположим, я хотел добавить группу пользователей, которым разрешено запускать 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 связаны между собой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .