小编给大家分享一下Linux下如何禁用根登陆,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强> 1。修改根用户的登陆壳强>
我们可以通过编辑/etc/passwd文件将根用户的登陆壳改为/sbin/nologin。
<>之前,美元sudo vim /etc/passwd ,根:x: 0时:根:根://bin/bash ,用,根:x: 0时:根:根://sbin/nologin
此后,使用根用户登陆只会显示一条信息,“这个帐户目前不可用”。当然你也可以通过修改/etc/nologin.txt来自定义出错信息。
这种方法只能禁止那些需要外壳用户的登陆场景,但像Sudo, FTP之类的操作依然可以使用根账户。
<强> 2。禁止根用户在任何终端设备上登陆强>
Linux下PAM模块中有一个叫做pam_securetty的模块,它可以限定根用户只能在安全终端上登陆。
而所谓的安全终端由/etc/securetty来决定,该文件由包含数行tty设备名(每行一个设备名,前面不加/dev/),只有这些设备名才可允许根用户登录。
因此,我们可以通过清空安全终端列表的方式来禁止根用户登陆。
<>之前,美元sudo mv /etc/securetty /etc/securetty.orig ,,美元sudo touch /etc/securetty ,,美元sudo chmod 600年,/etc/securetty这种方法只会影响需要分配终端的程序,比如登录,gdm/kdm/一棵树之类的显示管理器等,像苏,Sudo, SCP, SFTP, SSH之类的操作则无效。
<强> 3。禁止根用户通过SSH登陆强>
修改SSH的配置文件/etc/ssh/sshd_config,在其中加上PermitRootLogin没有配置项。
然后,再重启SSHD服务让配置生效。
<>之前,美元sudo systemctl restart sshd ,趁机,美元,sudo service sshd 启动很明显,这种方法只会影响SSH, SCP, SFTP之类的SSH系列工具。
<强> 4。通过PAM模块禁止根用户访问登录和SSHD服务强>
我们可以通过/lib/security/pam_listfile。所以模块来限定指定用户禁止访问某些服务。其步骤如下:
- <李>
,,创建一个需要禁止访问用户的文件,如:/etc/deniedusers。其中加上根或任意不想让它访问服务的用户名只
李>- <李>
,,设置这个文件的权限只
李>- <李>
,,在/etc/pam.d/登录或/etc/pam.d/sshd文件中加上如下的配置只
李>auth ,,, required ,,,,,, pam_listfile.so \,,,,,,,,, onerr=succeed ,项=user ,感觉=deny ,文件=/etc/ssh/deniedusers
以上是“Linux下如何禁用根登陆”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!