CentOS 7 添加具有root权限的新用户

CentOS 7 添加具有root权限的新用户

我在读本教程,并尝试创建一个具有 root 权限的新用户,然后在 CentOS 7 服务器中通过 ssh 阻止 root 访问。问题是新用户被阻止执行 root 操作,例如nano /etc/sudoers.另外,我似乎无法删除 root 登录的阻止。因此,我预先存在的开放 root 会话是我对 root 功能的唯一访问权限,直到它终止。 如何成功给新用户添加root权限?如何成功开启/关闭root登录?

这是我到目前为止所拥有的:

在 中/etc/sudoers,我有:

## Allow root to run any commands anywhere
root    ALL=(ALL)   ALL
newusername  ALL=(ALL)  ALL

请注意,我进行了编辑,/etc/sudoers因为/usr/sbin/visudo不起作用。

/etc/ssh/sshd_config有,PermitRootLogin yes因为我想重新打开 root 登录,直到我可以获得新用户名以拥有 root 权限。另外,文件的最后一行是AllowUsers newusername.

然后我输入,systemctl reload sshd.service因为/etc/init.d/sshd reload在 上抛出了一个错误CentOS 7

问题是目前newusername没有root权限,但我也无法登录root。因此,我预先存在的连接是root我控制机器的唯一方法。

编辑#1

我能够sudo为新用户授予权限,但即使我已经登录gpasswd -a newusername wheel,我仍然无法以 root 身份登录。 PermitRootLogin yes/etc/ssh/sshd_config我怎样才能CentOS 7尊重 中的设置/etc/ssh/sshd_config我应该能够随意打开和关闭 root 登录,并使设置真正起作用。

答案1

CentoOS 向用户授予 root(所有)权限的方式是将他们放入wheel组中。当您创建一个用户帐户并选择使该用户成为管理员的框时,就会发生这种情况。

您可以将用户放入一个组中:

sudo usermod -aG wheel username

要禁止帐户登录,包括root您可以通过设置不可用的密码来锁定帐户。

sudo passwd -l username

答案2

我正在阅读本教程,并尝试创建一个具有 root 权限的新用户,然后在 CentOS 7 服务器中通过 ssh 阻止 root 访问。问题是新用户被阻止执行诸如 nano /etc/sudoers 之类的 root 操作。另外,我似乎无法删除 root 登录的阻止。因此,我预先存在的开放 root 会话是我对 root 功能的唯一访问权限,直到它终止。如何成功给新用户添加root权限?如何成功开启/关闭root登录?

  1. 严格来说,真正的用途sudo是配置某些特定命令的执行给某些特定的用户或组。在某些发行版中,分布式和配置的方式sudo可能会有些误导,因为要成为 root 用户,我们只需键入su -而不涉及sudo.这需要输入用户的密码,, 和不是用户的密码。所以你可以用这个。
  2. visudo除了直接编辑之外,尽量不要使用任何东西/etc/sudoers。否则,您可能会完全破坏身份验证,直到您将其权限更改回0400(在您注销后不使用某种救援系统就无法执行此操作)。 ( 所使用的编辑器visudo可由环境变量控制VISUAL。要将其与 一起使用nano,一个选项是VISUAL=nano visudo。)
  3. 新用户已经可以成为root(第1点),但是要让该用户通过sudo成为root,只需将该用户添加到正确的组中即可。在 CentOS 7 上,传统的组名称为车轮用于允许该组的成员成为通过 sudo: usermod -a -G wheel codemedic.使用man usermod了解更多详细信息。您可以通过读取配置文件来确定该组名称:cat /etc/sudoers
  4. 拒绝访问通过 SSH,编辑/etc/ssh/sshd_config并确保只有一个未注释的实例PermitRootLogin可用,并将其设置为值: PermitRootLogin no。保存文件并重新启动 Secure Shell 守护程序:systemctl restart sshd

请注意,我编辑了 /etc/sudoers,因为 /usr/sbin/visudo 不起作用。

怎么visudo行不通?

答案3

这些步骤对我有用。

添加用户:

useradd user

添加密码:

passwd user

/etc/sudoers使用以下命令将以下行添加到文件中visudo

user ALL=(ALL)       ALL

或者,无需输入密码即可成为 root 用户,

ALL ALL=(ALL) NOPASSWD:ALL

然后切换到该用户

su user

并请求 root 权限:

sudo su - 

输入新用户的密码:

[sudo] password for user:

相关内容