当前位置:首页 > 编程技术 > 正文内容

linux nobody是啥用户

yc8881年前 (2022-11-23)编程技术270

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

更多linux教学就到:Linux教学


本教程操作环境:linux7.3系统、Dell G3电脑。

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

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

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

Unix/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 的文件。

例如:

1

#touch /etc/nologin

这样将禁止随后的用户登录到系统中。

禁止用户登录时,/etc/nologin 文件中的内容将会显示给用户,会一闪而过。

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

1

2

#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 这个文件,在文件内面写上不能登陆的原因,当用户登录时,屏幕上就会出现这个文件里面的内容。

例如:

1

2

3

#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是啥用户的详细内容,更多请关注编程笔记其它相关文章!


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10082.html

标签: Linux
分享给朋友:

“linux nobody是啥用户” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】vagrant实现linux虚拟机的安装并配置网络

【说站】vagrant实现linux虚拟机的安装并配置网络

一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...