我需要在没有密码的情况下以 sudo 的形式运行一些东西,所以我使用visudo并将其添加到我的sudoers文件中:
MYUSERNAME ALL = NOPASSWD: /path/to/my/program
Run Code Online (Sandbox Code Playgroud)
然后我试了一下:
$ sudo /path/to/my/program
[sudo] password for MYUSERNAME:
Run Code Online (Sandbox Code Playgroud)
为什么它要求输入密码?如何在不要求密码的情况下以非 root 用户身份以 root 身份运行/使用命令?
我通过使用“系统设置”中的“用户帐户”创建了一个新用户。我如何授予权限,以便这个新用户可以拥有与 root 相同级别的访问权限?
我已使用以下命令将自己添加到 sudoers 用户列表中
root@debian:/home/oshirowanen#adduser oshirowanen sudo
Run Code Online (Sandbox Code Playgroud)
如果我再次尝试运行该命令,
root@debian:/home/oshirowanen# adduser oshirowanen sudo
The user `oshirowanen' is already a member of `sudo'.
root@debian:/home/oshirowanen#
Run Code Online (Sandbox Code Playgroud)
到目前为止一切看起来都很好。
当我退出 root 用户并尝试使用我自己的帐户安装/删除/搜索某些内容时,它不起作用并抱怨我不是 sudoer ......例如
root@debian:/home/oshirowanen# exit
exit
oshirowanen@debian:~$ sudo aptitude search ice
[sudo] password for oshirowanen:
oshirowanen is not in the sudoers file. This incident will be reported.
oshirowanen@debian:~$
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
这是我得到的 visudo
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# …Run Code Online (Sandbox Code Playgroud)