Unix 是否忽略sudoers文件NOPASSWD条目?
我的sudoers文件似乎被忽略了。我通过vim(Unix 是否忽略sudoers文件NOPASSWD条目?,unix,sudo,Unix,Sudo,我的sudoers文件似乎被忽略了。我通过vim(sudovisudo)附加了这两行代码: 但当我运行任一命令时,系统会提示我键入密码: $ sudo -n networksetup -setsocksfirewallproxy "Wi-Fi" localhost 3000 sudo: a password is required sudoers文件只查找您给它的命令。您试图使用sudoers文件中未定义的额外参数运行它;这就是为什么会提示您输入密码 试着这样做: theonlygusti A
sudovisudo
)附加了这两行代码:
但当我运行任一命令时,系统会提示我键入密码:
$ sudo -n networksetup -setsocksfirewallproxy "Wi-Fi" localhost 3000
sudo: a password is required
sudoers文件只查找您给它的命令。您试图使用sudoers文件中未定义的额外参数运行它;这就是为什么会提示您输入密码 试着这样做:
theonlygusti ALL = NOPASSWD : /usr/sbin/networksetup -setsocksfirewallproxy *, /usr/sbin/networksetup -setsocksfirewallproxystate *
bash不负责查看您的
sudoers
文件中的内容,而是由sudo
二进制文件进行查找;你可以用一个不同的shell或者没有shell来复制这个bug(作为一个没有shell的例子),考虑下面的Python:<代码>子进程。调用([ Sudo','NETWorkStudio ','StSoksFieldWestPosiv','Wi-Fi’,'LoalHoal',''' 3000)] < Downvote >……当你询问时,通知的人是最后一个评论的人,不是被否决的人。也就是说,就质量而言,我个人的观点是:我确实认为这个问题有资格接近主题(因为它是关于标准UNIX工具的使用,而不是软件开发),但我不认为有任何特别的理由对它投反对票(这是因为“不清楚或没有用处,或者没有显示研究成果”;这些显然都不适用)点头OP可能会混淆,因为零参数案例有一个隐式通配符,除非显式附加了“
”以禁用该行为。@CharlesDuffy yes,大致描述了发生的情况。谢谢你的编辑,我不知道sudoers和bash没有任何关系。
theonlygusti ALL = NOPASSWD : /usr/sbin/networksetup -setsocksfirewallproxy *, /usr/sbin/networksetup -setsocksfirewallproxystate *