Проблемы с установкой пароля для некоторых команд cli в Linux

Проблемы с установкой пароля для некоторых команд cli в Linux

Компьютерная среда

ОС: 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, чтобы разрешить ее.

Связанный контент