关于 Linux 的 nobody 用户

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

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

3、首先,nobody 是一个普通用户,非特权用户。 使用nobody用户名的’目的’是,使任何人都可以登录系统,但是其 UID 和 GID 不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。
4、其次,许多系统中都按惯例地默认创建一个 nobody,尽量’限制它的权限至最小’,当服务器向外服务时,可能会让 client 以 nobody 的身份登录。

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

CENTOS 7 解决”不在 sudoers 文件中。此事将被报告”的问题

在win10新安装了虚拟机,并在虚拟机上安装了centos 7。

登录centos的时候,默认使用的是非root账号,在sudo命令时收到centos如下的警告:

不在 sudoers 文件中。此事将被报告

sudo命令的含义是:使用sudo命令的账号,将拥有root账户的权限来执行某项命令或者程序。但是不是所有的账号都可以使用sudo命令的。

对此debian系统采用了一个办法,利用一个专门的文件来管理某些账号是否能使用sudo命令。

显然,这个文件只有root账号才能修改和管理的。这个文件就是/etc/sudoers。

我们要做的就是切换到root账号,然后将平常用的非root账号添加到这个文件中。

很多人都会强制使用vim修改“/etc/sudoers”文件,但是其实centos自带命令visudo,意思就是调用vim来修改“/etc/sudoers”文件,从而达到增加账号权限的目的。

相比之下,这个命令应该会做些保护和隔离,所以更加安全。

现在我们使用su命令,切换到root账号,然后再调用visudo命令来添加账号。

在visudo命令调出的vim编辑窗口中,找到如下行:

root    ALL=(ALL:ALL) ALL

在下面添加你自己的账号,后面部分和root一样即可。

保存退回到你自己的账号,重新尝试sudo吧!