gpt4 book ai didi

linux - 为端口命令设置 visudo nopasswd 后权限被拒绝

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:20 26 4
gpt4 key购买 nike

我试图阻止 bash 请求 sudo 权限来运行 port 命令(OSX 数据包管理器),将其添加到 visudo 中。我基本上试图遵循这个SO thread但我仍然收到错误

manfredo@cave05:~$ port selfupdate
---> Updating MacPorts base sources using rsync
Error: Error synchronizing MacPorts sources: command execution failed
Please run `port -v selfupdate' for details.
Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed

如果我sudo,相同的selfupdate命令可以顺利运行。

我的 visudo 有以下几行

# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: /opt/local/bin/port

我也尝试用

替换最后一行
<user_name> ALL=(ALL) NOPASSWD: /opt/local/bin/port

我错过了什么?另外有人可以解释一下 visudo 文件最后一行的语法。

最佳答案

您实际上想要实现两件事:

1。无需输入密码即可运行sudo port

您已经通过将以下行添加到 /etc/sudoers 解决了这个问题:

%admin ALL=(ALL) NOPASSWD: /opt/local/bin/port

2。无需显式输入 sudo

即可运行 sudo port

这可以通过 shell 别名来完成。由于问题被标记为 bash,我假设您的 shell 是 bash。在这种情况下,修改您的 .bashrc 并添加以下行:

alias port='sudo port'

启动一个新的 shell,它应该可以工作。

关于linux - 为端口命令设置 visudo nopasswd 后权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com