在Linux系统中,为了提高系统的安全性,通常需要限制root用户进行远程登录。以下是禁止root远程登录的详细操作步骤:
方法一:修改SSH配置文件
1.打开SSH配置文件:
使用命令`sudo vi /etc/ssh/sshd_config`或`sudo nano /etc/ssh/sshd_config`(根据系统安装的文本编辑器而定)来打开SSH配置文件。
2.修改配置文件:
在文件中找到`PermitRootLogin`选项。如果这一行被注释掉了(前面有`#`号),需要去掉注释。然后,将`yes`改为`no`,如下所示:
PermitRootLogin no
3.保存并退出编辑器:
在vi编辑器中,按`Esc`键,然后输入`:wq`并按回车保存并退出。在nano编辑器中,按`Ctrl+O`保存文件,然后按`Ctrl+X`退出。
4.重启SSH服务:
使用以下命令重启SSH服务,使更改生效:
sudo systemctl restart sshd
或者在某些系统中使用:
sudo service ssh restart
方法二:使用PAM模块限制远程登录
1.编辑PAM配置文件:
使用命令`sudo vi /etc/pam.d/sshd`或相应的编辑器打开PAM配置文件。
2.添加限制规则:
在文件开头添加以下行,以限制root用户的远程登录:
auth required pam_listfile.so item=user sense=deny file=/etc/ssh/denyusers onerr=succeed
3.创建denyusers文件:
在`/etc/ssh/`目录下创建一个名为`denyusers`的文件,并将root用户添加到该文件中:
sudo vi /etc/ssh/denyusers
添加以下行:
root
4.保存并退出编辑器。
5.重启SSH服务:
使用命令`sudo systemctl restart sshd`或`sudo service sshrestart`重启SSH服务。
方法三:创建只能使用sudo命令的普通用户
1.创建普通用户:
使用命令`sudo adduser username`(将`username`替换为所需的用户名)创建一个新的普通用户。
2.赋予管理员权限:
编辑sudoers文件,赋予新用户管理员权限。使用命令`sudo visudo`打开sudoers文件,然后找到以下行:
%sudoALL=(ALL:ALL) ALL
在下面添加新用户:
usernameALL=(ALL:ALL) ALL
3.禁用root远程登录:
按照方法一或方法二中的步骤禁用root远程登录。
注意事项
在禁止root远程登录之前,请确保至少有一个具有管理员权限的用户可以远程登录系统,以便进行系统管理和维护。
禁用root远程登录后,如果需要执行需要root权限的操作,可以先使用普通用户登录,然后使用`sudo`命令提升权限。