有一个服务器是前段时间设置的,我需要更改一些设置,其中一个是具有超级用户权限的用户。但是,我看到的任何地方都告诉我使用visudo
或编辑/etc/sudoers
,但是这台服务器上不存在这些东西。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ whereis visudo
visudo:
$ visudo
-bash: visudo: command not found
$ ls -l /etc/sudoers
ls: cannot access '/etc/sudoers': No such file or directory
该配置在哪里?
** 编辑 **
需要明确的是,用户可以su
在没有密码的情况下进行设置,但由于/etc/sudoers
不存在visudo
且未安装(也没有sudo
),那么该配置在哪里?
当然,除了 sudoers 之外的其他地方。它们是完全独立的命令——
su
有自己的授予 root 权限的逻辑,并且不使用 'sudo' 或 'sudoers' 来做任何事情,无论是否无密码。他们只是有相似的名字。常规的 Linux 'su' 主要依赖于 PAM 配置:如果您可以通过 PAM 身份验证,那么您可以获得 root 权限。现在通常将其设置为调用您常用的密码检查模块(pam_unix 或其他),但也可以使用其他模块 - 实际上,默认值
/etc/pam.d/su
通常有一个您正在寻找的无密码模式的示例:Arch Linux 的默认 /etc/pam.d/su:
因此,如果您的“su”是无密码的,那么它很可能在其 PAM 堆栈 (/etc/pam.d/su) 中使用 pam_wheel。检查是否是这种情况,如果是,请使用
gpasswd
“轮”组添加或删除人员。你没有
visudo
和sudoers
文件,因为你没有sudo
安装。以 root 身份使用以下命令安装它: