首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在linux中为某些cli命令设置密码

无法在linux中为某些cli命令设置密码
EN

Unix & Linux用户
提问于 2020-03-19 02:32:21
回答 1查看 115关注 0票数 1

计算机环境

操作系统: Arch linux - Manjaro

外壳: zsh

AIM

我正在尝试为我的主用户帐户启用以下命令不需要输入密码: ab

代码语言:javascript
复制
sudo systemctl stop NetworkManager
sudo systemctl start NetworkManager

失败尝试

我已经阅读并尝试了一些在线帮助,并通过使用sudo -i创建文件/etc/sudoers.d/ab实现了以下目标:

代码语言:javascript
复制
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检查所做的更改,并且总是打开一个新的终端来尝试该命令,每次尝试以下内容的组合时,仍然需要输入密码:

代码语言:javascript
复制
sudo systemctl start NetworkManager
sudo /bin/systemctl start NetworkManager
systemctl start NetworkManager
/bin/systemctl start NetworkManager

问题

启动新终端是否足够,还是需要重新启动整个系统来启动更改?

还是我忘了另一步?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-03-19 07:44:18

/etc/sudoers.d/ab中的行可能应该如下所示:

代码语言:javascript
复制
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文件以允许它。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/573686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档