目? ? ? ? ? ?录
?????? 在前面一篇文章“Linux安全问题,如何查看哪个用户是可疑用户?如何批量删除这些用户?( http://t.csdnimg.cn/e3zKy)”中,有一段描述:
第三个参数:1000以上的,就是后面建的用户了,也就是普通用户;其它则为系统的用户.可以使用如下命令:
??????? awk -F: '$3>1000{print $1,$3}' /etc/passwd
实际操作效果如下:
[yunwei@ecs-52a1 ~]$ awk -F: '$3>1000{print $1,$3}' /etc/passwd
nobody 65534
clamav 1001
vidisit 1002
yunwei 1003
????????这里有一个nobody 65534,文章中没有详细解释。所以有的伙伴就问了,这个nobody是不是可疑用户啊,你的机器是不是被人入侵了?
????????首先感谢伙伴们的关心和支持,其实我们机器一切正常。这里nobody其实是一个特殊的用户,它是系统里面的,不是可疑用户。下面,我们就详细解释一下nobody。
?????? 在Linux系统中,“nobody”是一个特殊的用户名,通常用于运行那些不需要(也不应该)具有系统级权限的服务或进程。它是一个非特权用户,这意味着它没有任何特殊的系统权限。其UID(用户标识符)和GID(组标识符)也不提供任何特权,通常只能访问人人皆可读写的文件。在passwd文件中,nobody的那一行表述如下: ?
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin?
????????nobody是一个特殊用户,UID 和 GID都是65534,它的shell设置为/usr/sbin/nologin,表示这个用户不能登录系统。
????????由此可以看出,nobody的特点有:
????????1、权限很低,用户ID和组ID都是65534,接近最低权限,也就是任何人都可以用这个账号访问某个服务,但是其 UID 和 GID 不提供任何特权,该uid和gid只能访问人人皆可读写的文件。
????????2、用户描述是Kernel Overflow,表示该用户是一个低权限账户,用于运行可能存在风险的服务或进程。
????????3、是nologin,也就是它是不允许登录系统的。
? ? ? ?Linux的?一些服务进程如apache,aquid,nginx等都采用一些特殊的帐号来运行,比如nobody, news, games等等,这是就可以防止程序本身有安全问题的时候,不会被黑客获得root权限。
????????“nobody”用户的设计初衷其实为了增强系统的安全性。通过使用这个用户来运行服务或进程,可以实现权限最小化,防止潜在的攻击者利用漏洞获得过多的系统权限。即使攻击者成功地利用了某个以“nobody”用户身份运行的服务的漏洞,他们也只能获得非常有限的访问权限,无法对系统造成严重的破坏。
?????????“nobody”用户还用于隔离风险。通过将不同的服务或进程以不同的用户身份运行,可以实现风险的隔离,确保一个服务的安全漏洞不会影响到其他服务。
????????使用“nobody”用户运行服务或进程有以下几个安全相关的特点:
????????总之,“nobody”是Linux系统中的一个特殊用户名,用于增强系统的安全性和隔离风险, 是Linux系统中的一个重要安全机制,它有助于减少系统的安全风险并提高系统的整体安全性。
????????因此,nobody用户的存在,对linux不断没有风险,而且由于有了nobody的这种机制,对系统是安全的。