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

Cod*_*Med 7 ssh terminal centos sshd

我正在阅读本教程,并尝试创建一个具有 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
Run Code Online (Sandbox Code Playgroud)

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

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

然后我输入了systemctl reload sshd.service因为/etc/init.d/sshd reloadCentOS 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 登录,并使设置真正起作用。

m_k*_*sic 7

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

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

sudo usermod -aG wheel username

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

sudo passwd -l username


Chr*_*her 5

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

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

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

怎么visudo行不通?


小智 5

这些步骤对我有用。

添加用户:

useradd user
Run Code Online (Sandbox Code Playgroud)

添加密码:

passwd user
Run Code Online (Sandbox Code Playgroud)

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

user ALL=(ALL)       ALL
Run Code Online (Sandbox Code Playgroud)

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

ALL ALL=(ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)

然后,切换到该用户

su user
Run Code Online (Sandbox Code Playgroud)

并请求 root 权限:

sudo su - 
Run Code Online (Sandbox Code Playgroud)

输入新用户的密码:

[sudo] password for user:
Run Code Online (Sandbox Code Playgroud)