Next Up Previous Contents Index


11.1 用户,组及私有用户组

管理用户和组历来是枯燥和乏味的。红帽子LINUX拥有若干 系统工具和约定措施,相当有用,使用户和组的管理简单了许多。

管理用户和组最为简单的方法是使用控制面板上的“UsersandGroups”模块 (有关控制面板的详细信息请看第9节,9.1节上用户和组模块的详细描述)。 您还可以以命令行的方式用adduser命令创建新用户。

11.1.1 Standard Users

表81 列出了系统在安装过程中创建的标准用户(其中所列内容与/etc/passwd文件的描述 是一致的)。表中的组ID号是用户所在的首要组的代号。请到11.1.3节查看有关组的 知识。

User UID GID Home Directory Shell
root 0 0 /root /bin/bash
bin 1 1 /bin
daemon 2 2 /sbin
adm 3 4 /var/adm
lp 4 7 /var/spool/lpd
sync 5 0 /sbin /bin/sync
shutdown 6 0 /sbin /sbin/shutdown
halt 7 0 /sbin /sbin/halt
mail 8 12 /var/spool/mail
news 9 13 /var/spool/news
uucp 10 14 /var/spool/uucp
operator 11 0 /root
games 12 100 /usr/games
gopher 13 30 /usr/lib/gopher-data
ftp 14 50 /home/ftp
nobody 99 99 /

表81: 标准用户

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
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位似乎是多余的。

11.1.3.1 用户私有组

由于用户私有组模式(UPG)是新东西,许多人对它提出质疑。人们怀疑它的存在的 必要性。以下将对其作出解释。

至此,通过设置umask值为002和分配每个用户一个私有的用户组为默认组,您就可以轻而 一举的建立用户无须任何其他操作就可以方便使用的组了。您所要做的仅仅是创建组, 增加用户到组,然后象以上所述的那样用chown和chmod设置组目录。


Next Up Previous Contents Index