Linux下如何禁用根登陆

介绍

小编给大家分享一下Linux下如何禁用根登陆,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强> 1。修改根用户的登陆壳

我们可以通过编辑/etc/passwd文件将根用户的登陆壳改为/sbin/nologin。

<>之前,美元sudo  vim /etc/passwd ,根:x: 0时:根:根://bin/bash ,用,根:x: 0时:根:根://sbin/nologin

癓inux下如何禁用根登陆"

此后,使用根用户登陆只会显示一条信息,“这个帐户目前不可用”。当然你也可以通过修改/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没有配置项。

癓inux下如何禁用根登陆"

然后,再重启SSHD服务让配置生效。

<>之前,美元sudo  systemctl  restart  sshd ,趁机,美元,sudo  service  sshd 启动

很明显,这种方法只会影响SSH, SCP, SFTP之类的SSH系列工具。

<强> 4。通过PAM模块禁止根用户访问登录和SSHD服务

我们可以通过/lib/security/pam_listfile。所以模块来限定指定用户禁止访问某些服务。其步骤如下:

<李>

,,创建一个需要禁止访问用户的文件,如:/etc/deniedusers。其中加上根或任意不想让它访问服务的用户名只

<>之前,美元sudo  echo  root  | tee  -a /etc/deniedusers <李>

,,设置这个文件的权限只

<>之前,美元sudo  chmod  600年,/etc/ssh/deniedusers <李>

,,在/etc/pam.d/登录或/etc/pam.d/sshd文件中加上如下的配置只

 auth ,,, required ,,,,,, pam_listfile.so  \,,,,,,,,, onerr=succeed ,项=user ,感觉=deny ,文件=/etc/ssh/deniedusers 

以上是“Linux下如何禁用根登陆”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

Linux下如何禁用根登陆