Компьютерная среда
ОС: Arch Linux - Manjaro
Оболочка: zsh
ЦЕЛЬ
Я пытаюсь включить следующие командыне требовать ввода паролядля моей основной учетной записи пользователя:аб
sudo systemctl stop NetworkManager
sudo systemctl start NetworkManager
НЕУДАЧНАЯ ПОПЫТКА
Я прочитал и попытался следовать некоторым рекомендациям онлайн-справки и дошел до этого, sudo -i
создав файл /etc/sudoers.d/ab
со следующим кодом:
ab ALL=(root) NOPASSWD: sudo systemctl stop NetworkManager
ALL=(root) NOPASSWD: sudo systemctl start NetworkManager
ПОПЫТКИ УСТРАНЕНИЯ НЕПОЛАДОК
Я попытался внести следующие изменения, но безуспешно:
- меняется
root
наALL
- меняется
systemctl
на/bin/systemctl
- удаление
sudo
Каждый раз, когда я вношу изменения и сохраняю их, я cat /etc/sudoers.d/ab
проверяю, были ли внесены изменения, и всегда открываю новый терминал, чтобы попробовать команду, каждый раз пробуя комбинацию из следующих команд, при этом меня все равно просят ввести пароль:
sudo systemctl start NetworkManager
sudo /bin/systemctl start NetworkManager
systemctl start NetworkManager
/bin/systemctl start NetworkManager
ВОПРОСЫ
Достаточно ли запустить новый терминал или мне нужно перезапустить всю систему, чтобы изменения вступили в силу?
Или, может быть, я забыл еще один шаг?
решение1
Строки, /etc/sudoers.d/ab
вероятно, должны быть такими:
ab ALL=(root) NOPASSWD: /bin/systemctl stop NetworkManager
ab ALL=(root) NOPASSWD: /bin/systemctl start NetworkManager
При использовании sudo
обычных локально хранящихся файлов sudoers.d (и ничего более сложного, вроде информации sudoers, хранящейся на сервере LDAP) любые изменения в файлах sudoers должны вступить в силу немедленно, без необходимости выходить из системы/входить в нее, запускать новые терминалы или что-либо подобное.
Обычно sudo
регистрирует как успешные, так и неудачные попытки его использования, поэтому вам следует просмотреть соответствующий файл журнала (обычно /var/log/secure
или /var/log/auth.log
, в зависимости от дистрибутива) на предмет сообщений от sudo
. Эти сообщения будут включать команду, которую пользователь пытается выполнить через sudo
, в той точной форме, в которой вам нужно будет записать ее в файл sudoers, чтобы разрешить ее.