最近在折腾玩客云,刷了一个Armbian Linux系统,顺手将 root 远程登录也给禁用了,这里记录一下方法。
创建新管理账户
创建账户
useradd -m admin
设置密码
passwd admin
添加到系统管理员组
#CentOS/RHEL
usermod -aG wheel admin
#Debian/Ubuntu
usermod -aG sudo admin
禁用root账户
禁用 root 有很多中方式,这里简单列两种
1.修改 root 用户的登陆 Shell
vim /etc/passwd
找到 root 那一行,将末尾的/bin/bash
改为 /sbin/nologin
。
比如
root:x:0:0:root:/root:/bin/bash
改为
root:x:0:0:root:/root:/sbin/nologin
此方法可以禁止 root 用户通过 shell 登录,即禁止 root 用户 ssh 远程登录和通过普通用户切换到 root 用户。
此后, root 用户登陆,会显示一条信息 “This account is currently not available” 。
这是默认消息,但是,你可以更改它并在文件中设置自定义消息 /etc/nologin.txt
。
2.禁止 root 用户通过 ssh 登陆
编辑 sshd_config 将 PermitRootLogin 改为 no,如果是 PermitRootLogin 是注释状态,取消注释,然后将其设置为 no,如果不存在直接新增一条即可。
vim /etc/ssh/sshd_config
如:
PermitRootLogin no
然后重启 SSHD 服务让配置生效
systemctl restart sshd
此方法仅禁止用户通过 ssh 登录, 但仍可以使用普通用户切换到 root。