操作系统: Arch linux - Manjaro
外壳: zsh
我正在尝试为我的主用户帐户启用以下命令不需要输入密码: ab
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更改为ALLsystemctl更改为/bin/systemctlsudo每次进行编辑和保存时,我都会cat /etc/sudoers.d/ab检查所做的更改,并且总是打开一个新的终端来尝试该命令,每次尝试以下内容的组合时,仍然需要输入密码:
sudo systemctl start NetworkManager
sudo /bin/systemctl start NetworkManager
systemctl start NetworkManager
/bin/systemctl start NetworkManager启动新终端是否足够,还是需要重新启动整个系统来启动更改?
还是我忘了另一步?
发布于 2020-03-19 07:44:18
/etc/sudoers.d/ab中的行可能应该如下所示:
ab ALL=(root) NOPASSWD: /bin/systemctl stop NetworkManager
ab ALL=(root) NOPASSWD: /bin/systemctl start NetworkManager对于sudo和本地存储的sudoers.d文件(而且没有像LDAP服务器中存储的sudoers信息那样先进的文件),对sudoers文件的任何更改都应该立即生效,不需要注销/登录、启动新的终端或诸如此类的东西。
通常,sudo会记录成功和失败的尝试使用它,所以您应该查看来自sudo的消息的适当日志文件(通常是/var/log/secure或/var/log/auth.log,这取决于发行版)。这些消息将包括用户试图通过sudo执行的命令,确切的形式是您需要将其写入sudoers文件以允许它。
https://unix.stackexchange.com/questions/573686
复制相似问题