您的位置: 翼速应用 > 业内知识 > 运维 > 正文

一起聊聊linux中的nobody用户

一起来了解下linux中的nobody用户吧!nobody是一个匿名用户,非特权用户,只能访问服务器上的公共内容。使用nobody用户名的“目的”是:使任何人都可以登录系统,但是其UID和GID不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。因为默认登录shell是“/sbin/nologin”,所以nobody用户是无法直接登录系统的,也就是黑客很难通过漏洞连接到你的服务器来做破坏。


一起聊聊linux中的nobody用户


本文适用于linux7.3系统、Dell G3电脑。


一起聊聊linux中的nobody用户


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


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


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中的nobody用户之解析就到这里,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题