进入第0组意味着什么?


11

我继承的系统中的几个用户在/ etc / passwd中将其组设置为0。这意味着什么?他们本质上是否获得完整的root特权?

系统正在运行CentOS 5,并且用户似乎主要是与系统有关的事情,尽管该组中也有前管理员:

$ grep :0: /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash
$

Answers:


12

与用户0(root用户)不同,组0在内核级别没有任何特殊特权。

传统上,第0组在许多unix变体上都具有特殊特权-要么拥有su成为root 的权利(在键入root密码后),要么成为没有输入密码就成为root的权利。基本上,第0组中的用户是系统管理员。当组0具有特殊特权时,称为wheel

在Linux下,组0对于特权升级实用程序(例如sudo和)也没有任何特殊含义su。请参阅默认情况下为什么Debian不创建'wheel'组?

据我所知,在CentOS下,第0组没有特殊意义。默认sudoers文件中未引用它。该系统上的管理员可能已决定模仿Unix传统,并向组0的成员授予一些特殊权限。检查PAM配置(/etc/pam.conf/etc/pam.d/*)和sudoers文件(/etc/sudoers)(不是向组0赋予特殊特权的唯一地方,而是最有可能的地方)。


3

与用户ID 0不同,内核不对组0赋予任何特殊权限。但是,由于0通常是root用户的默认组,因此这意味着这些人通常能够访问或修改root拥有的文件(因为这些文件通常也归第0组所有)。

此外,某些程序可能会特别对待第0组。例如,su在某些BSD系统上,将向组0的成员授予无密码的root访问权限

因此,尽管它不是超级用户类,但我仍然要注意谁是成员。


2

这仅表示它们的主要组是root其他组,因此,例如,当访问组设置为的文件时,他们使用组设置root

大多数标准系统文件归所有者所有,root.root但组权限通常与世界权限相同,因此,除非您的系统对标准文件更改了组权限,否则,这本身不会带来任何好处。

它不授予完整的root用户特权。


0

我参加聚会有点晚,但是今天问了我自己同样的问题,并得出以下结论:

这违反了最小特权原则,因此应避免。

更具体地说,这不仅可以给用户(读,写或执行)权限,不仅可以访问很多常规文件和目录,而且还可以像访问系统内核一样访问许多特殊文件和目录。

但是因为这可能与您的系统有所不同,所以您应该运行它来查找和检查所有内容(首先用于读取,其次用于写入,eXecute留给读者练习):

find / -group 0 -perm -g+r ! -perm -o+r  -ls | less 
find / -group 0 -perm -g+w ! -perm -o+w  -ls | less

其中一些可能是常规文件和目录(例如主目录/ root),但其他一些可能是与内核接口的伪文件(例如在/ proc和/ sys中)

例如:

find /sys -type f -group 0 -perm -g+w ! -perm -o+w  -name 'remove'
/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/remove
/sys/devices/pci0000:00/0000:00:17.0/remove
/sys/devices/pci0000:00/0000:00:16.6/remove
...
etc.

使用lspci -v |less找出这些设备(如:存储控制器,USB控制器,网络和视频卡等)


您链接到的Wikipedia页面上说:“该原理意味着仅向用户帐户授予或处理那些对其执行预期功能必不可少的特权。” 但您没有做出论点,即这些账户不需要他们从组0是获得进入
斯科特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.