| 11.1.2 标准用户组
表82列出了系统安装过程中创建的标准用户组(其中就是/etc/group文件所描述的内容)。
| Group |
GID |
Members |
| root |
0 |
root |
| bin |
1 |
root,bin,daemon |
| daemon |
2 |
root,bin,daemon |
| sys |
3 |
root,bin,adm |
| adm |
4 |
root,adm,daemon |
| tty |
5 |
|
| disk |
6 |
root |
| lp |
7 |
daemon,lp |
| mem |
8 |
|
| kmem |
9 |
|
| wheel |
10 |
root |
????? ???????e
| mail |
12 |
mail |
| news |
13 |
news |
| uucp |
14 |
uucp |
| man |
15 |
|
| games |
20 |
|
| gopher |
30 |
|
| dip |
40 |
|
| ftp |
50 |
|
| nobody |
99 |
|
| users |
100 |
|
| floppy |
19 |
|
图表82:标准用户组
11.1.3 私有用户组
为了使传统UNIX用户组更易于使用,红帽子LINUX使用了一种叫做私有用户组(UPG)的模式。私有用户组模式并不改变以往UNIX处理组的任一环节。它仅仅提供了一种新的管理用户组的方式。您一旦创建了一个新用户,默认的就会拥有一个唯一的用户组。该模式的原理如下:
私有用户组
系统中的每一个用户都拥有并属于一个首要组。
umask = 002
传统UNIX的umask值是022,这样就可以防止同属于该组的其他用户以及任何别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,这种“组保护模式”不在需要了。将umask值设置为002就可以阻止用户篡改他人的私有文件。
umask值是在/etc/profile文件中设置的。
目录的SGID位如果您设置了目录的SGID位(使用命令:chmodg+s目录名),在该目录中创建的文件的属组将与该目录的属组相同。大多数站点都喜欢为每一个主要的项目创建用户组,然后把用户分配到相应的组中去。在以往,管理文件的存取是困难的,尽管用户创建的文件的属组会被设置成该用户所属的首要组。但是,也恰恰如此,当某个用户工作于多个工程项目时,将某个文件的属主设置为与工程相关的组。然而在用户私有组(UPG)模式下,文件将会根据工程的不同被设为相应的属组,这样会使管理多用户组的工程相当简单。让我们举个例子,比如说您有一个庞大的工程名字叫做devel,很多人要在名为devel的目录下编辑文件。创建一个用户组名为devel,用chgrp将devel目录的属主设置为devel,把所有参加devel工程的人员的用户组设置为devel。这样所有属于devel组的用户就可以在devel目录下创建文件了。由于所建文件的属组均会被自动设置为devel,则所有属于devel组的用户都可以编辑其中的文件了。如果您有多个类似于devel的工程,并且有用户要参与多个的话,用户将没必要当自己要从一个项目转到另一个时而改变自己的组或umask值了。因为,每个工程目录上的SGID位将为文件进行自动的属组设置。既然每个用户的HOME目录的属主是该用户而属组是该用户的私有组,设置HOME目录的SGID位是安全的。然而由于创建文件的属组默认被设置为用户的首要组,因此,这种情形下设置SGID位似乎是多余的。 |