slm*_*slm 19 linux password sudo
我最近设置了 Fedora 28 和 Ubuntu 18.04 系统,并想在这两个系统上配置我的主要用户帐户,以便我可以在sudo不提示输入密码的情况下运行命令。
我怎样才能在各自的系统上做到这一点?
slm*_*slm 28
如果您使用wheel在 Fedora 系统上调用的特殊 Unix 组,这将非常简单。您只需执行以下操作:
将您的主要用户添加到wheel组
$ sudo gpasswd -a <primary account> wheel
Run Code Online (Sandbox Code Playgroud)为%wheel组启用 NOPASSWD/etc/sudoers
$ sudo visudo
Run Code Online (Sandbox Code Playgroud)
然后注释掉这一行:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
并取消注释这一行:
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
该文件保存为Shift+ Z+ Z。
注销并重新登录
注意:最后一步是强制性的,以便您的桌面和任何相应的顶级 shell 重新执行,显示您的主帐户现在是wheelUnix 组的成员。
Rui*_*iro 22
传统上,在基于 Debian 的发行版(例如 Debian/Ubuntu/Mint/Kali/Antix)上,sudo 的默认组是sudo.
因此,要将sudo启用无密码的用户添加到基于 Debian 的系统,步骤如下:
安装 sudo
在 Debian 中,根据安装选项的不同,您通常会sudo默认没有安装。
如果sudo未安装该软件包(例如您没有/etc/sudoers),请以 root 身份运行:
# apt install sudo
Run Code Online (Sandbox Code Playgroud)将用户添加到 sudo 组
将用户添加到 sudo 组,如果它不在 sudo 组中(Ubuntu 和衍生产品会自动将安装中创建的用户添加到 sudo 组)。
设置第一个 sudo 用户时,您必须将第一个用户设置为root:
# gpasswd -a <primary account> sudo
Run Code Online (Sandbox Code Playgroud)
当您已经有一个sudo用户时,建议作为良好的安全实践,通过该用户设置 sudo 组中的其他用户:
$ sudo gpasswd -a <primary account> sudo
Run Code Online (Sandbox Code Playgroud)修改/etc/sudoers添加 NOPASSWD 指令
然后就可以编辑在默认的行/etc/sudoers为sudo组:
$ sudo visudo
Run Code Online (Sandbox Code Playgroud)
并将其更改为:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)
到:
# Allow members of group sudo to execute any command, no password
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)注销并重新登录
如果已登录系统,则目标用户必须注销并登录,以使属于该sudo组的用户的更改生效。
注意:在 Debian 中,该组wheel通常用于将 PAM 中的使用限制su为一个组,而不是sudo像在基于 RedHat/SuSE 的发行版中那样将其用于命令。
传统上,在基于 Debian 的发行版中,对于sudo您使用sudo组的命令。
大多数发行版在/etc/sudoers/以下方面都有这一行:
#includedir /etc/sudoers.d
Run Code Online (Sandbox Code Playgroud)
因此,添加一个用户的一种简单方法是在/etc/sudoers.d/目录中创建一个合适的文件;我通常为要添加的用户命名:
add_sudoer() {
if ! test -n "$1"
then echo "Usage: $0 <user>" >&2; return
fi
printf >"/etc/sudoers.d/$1" '%s ALL= NOPASSWD: ALL\n' "$1"
}
Run Code Online (Sandbox Code Playgroud)
您可能还想向文件添加Defaults:%s !lecture, !authenticate\n和/或其他选项。