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