Unix/Linux系统下的nobody用户与nologin详细介绍

 更新时间:2018年10月12日 15:56:12   投稿:wdc  
linux系统下的nobody用户是什么用户,nologin又是什么?本文为大家详细介绍了这两个no字辈

Unix/Linux系统下的nobody用户是什么?

1、Windows系统在安装后会自动建立一些用户帐户,在Linux系统中同样有一些用户帐户是在
系统安装后就有的,就像Windows系统中的内置帐户一样。

2、它们是用来完成特定任务的,比如nobody和ftp等,我们访问LinuxSir.Org的网页程序时,官网的服务器就是让客户以'nobody'身份登录的(相当于Windows系统中的匿名帐户);

我们匿名访问ftp时,会用到用户ftp或nobody。

3、首先,nobody是一个普通用户,非特权用户。 使用nobody用户名的'目的'是,使任何人都可以登录系统,但是其 UID 和 GID 不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。

4、其次,许多系统中都按惯例地默认创建一个nobody,尽量'限制它的权限至最小',当服务器向外服务时,可能会让client以nobody的身份登录。

5、nobody就是一个普通账户,因为默认登录shell是'/sbin/nologin',所以这个用户是无法直接登录系统的,也就是黑客很难通过漏洞连接到你的服务器来做破坏。此外这个用户的权限也给配置的很低。因此有比较高的安全性。一切都只给最低权限。这就是nobody存在的意义。

Unix/Linux系统下用户shell为/sbin/nologin是什么意思?

如果一个用户的默认shell设置为/sbin/nologin 则这个用户是禁止登陆系统的;

这个nologin的作用就是限制某些用户通过ssh登陆到shell上。

比如日常可以将 nginx mysql php-fpm这些应用的用户默认shell设定为/sbin/nologin

主要是提升系统安全性

系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行。

所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。

有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆。假如有账号试图连接我的主机取得shell,我们就可以拒绝。

有时可以用使用 /etc/nologin 文件临时禁止其他用户登录,具体做法是在/etc/目录下创建一个名称为 nologin 的文件。

例如:

 #touch /etc/nologin

这样将禁止随后的用户登录到系统中。
禁止用户登录时,/etc/nologin 文件中的内容将会显示给用户,会一闪而过。

例如,在 /etc/nologin文件中加入以下内容:

#vi /etc/nologin
disable login by admin temperarily!

当用户试图登陆时,将会给用户显示"disable login by admin temperarily!",当系统维护结束以后,再删除/etc/nologin文件,其他用户就又可以恢复登陆了,这只是限于能登陆shell的用户来说的

对于那些登陆shell为/sbin/nologin的用户来说没有影响,因为他们本身就无法登陆shell。

另外,如果我想要让某个具有 /sbin/nologin 的用户知道,他们不能登陆主机时,可以新建 /etc/nologin.txt 这个文件,在文件内面写上不能登陆的原因,当用户登录时,屏幕上就会出现这个文件里面的内容。

例如:

 #vi /etc/nologin.txt
 This account is system account or mail account.
 #su - mail

会提示"This account is system account or mail account."

补充:

/etc/nologin 和/etc/nologin.txt这两个文件的作用并不相同。

当/etc/nologin文件存在时,则任何一个一般身份帐号在尝试登入时,都仅会获得/etc/nologin的内容,而无法直接登入主机。

即当建立/etc/nologin ,并且内容设定为『This Linux server is maintaining....』,则任何尝试登录者,会看到这些提示内容,而不能登录进系统。

直到删除/etc/nologin文件后,一般用户才可以正常登录。

总结:

nobody是linux/unix系统下的匿名用户,只能访问服务器上的公共内容

/sbin/nologin是linux/unix系统下的一种shell设置项对于登陆shell为/sbin/nologin的用户是不允许登录系统的

/etc/nologin.txt只针对shell为/sbin/nologin的用户

/etc/nologin可以理解为针对所有普通用户

相关文章

  • Linux推荐使用Xfce桌面环境的8个原因

    Linux推荐使用Xfce桌面环境的8个原因

    今天小编就为大家分享一篇关于Linux推荐使用Xfce桌面环境的8个原因,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • centos iso镜像文件安装教程

    centos iso镜像文件安装教程

    这篇文章主要为大家详细介绍了centos iso镜像文件安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • linux操作系统原理 linux系统基础教程

    linux操作系统原理 linux系统基础教程

    很多对linux操作系统有兴趣的朋友想有一个深入的学习,本篇文章给大家详细讲解了linux操作系统的原理,希望能够对你有所帮助。
    2018-01-01
  • 在Linux服务器上安装Anaconda超详细教程

    在Linux服务器上安装Anaconda超详细教程

    本文档详细介绍了如何在Linux服务器上安装Anaconda,并创建及激活虚拟环境,以及如何在环境中安装Pytorch,从下载Anaconda安装包到解决可能出现的bug,再到设置环境变量和验证安装成功,每个步骤都配有清晰的说明和操作指令,需要的朋友可以参考下
    2025-02-02
  • Nginx出现500 Internal Server Error 错误的解决方案

    Nginx出现500 Internal Server Error 错误的解决方案

    这篇文章主要介绍了Nginx出现500 Internal Server Error 错误的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Linux两个服务器实现数据同步方案

    Linux两个服务器实现数据同步方案

    这篇文章主要介绍了Linux两个服务器实现数据同步方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • linux如何查看僵尸进程

    linux如何查看僵尸进程

    这篇文章主要介绍了linux如何查看僵尸进程问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Linux备份及恢复及Linux文件权限详解

    Linux备份及恢复及Linux文件权限详解

    这篇文章主要介绍了Linux备份及恢复及Linux文件权限详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • CentOS8 安装 jdk8 / java8的教程(推荐)

    CentOS8 安装 jdk8 / java8的教程(推荐)

    CentOS8上使用 yum 直接安装,环境变量自动配置好 ,本文主要给大家介绍 CentOS8 安装 jdk8 / java8的教程,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-10-10
  • 对send(),recv()函数的全面理解

    对send(),recv()函数的全面理解

    下面小编就为大家带来一篇对send(),recv()函数的全面理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论