Ubuntu中的用户管理(二)群组管理

群组的设置使得用户管理更加便捷。系统管理员可以通过对群组授权(grant)或撤销权限(revoke)而免去了为每个用户设置权限的繁琐工作。此外,设置群组权限可以为群组中的用户建立公共的工作区,管理他们对外设的使用权限。

不同的Linux系统使用不同的理念来设置群组管理。在Ubuntu系统中使用的是UPG(user private group)机制,默认为每个用户设置与用户名同名的群组名。系统中的群组信息保存在/etc/group文件中。

@linuxidc:~$cat /etc/grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:cindytty:x:5:disk:x:6:lp:x:7:mail:x:8:news:x:9:uucp:x:10:man:x:12:proxy:x:13:kmem:x:15:dialout:x:20:fax:x:21:voice:x:22:cdrom:x:24:cindyfloppy:x:25:tape:x:26:sudo:x:27:cindyaudio:x:29:pulsedip:x:30:cindywww-data:x:33:backup:x:34:operator:x:37:list:x:38:irc:x:39:src:x:40:gnats:x:41:shadow:x:42:utmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:cindystaff:x:50:games:x:60:users:x:100:nogroup:x:65534:libuuid:x:101:crontab:x:102:syslog:x:103:fuse:x:104:messagebus:x:105:bluetooth:x:106:scanner:x:107:colord:x:108:lpadmin:x:109:cindyssl-cert:x:110:lightdm:x:111:nopasswdlogin:x:112:netdev:x:113:whoopsie:x:114:mlocate:x:115:ssh:x:116:avahi-autoipd:x:117:avahi:x:118:pulse:x:119:pulse-access:x:120:utempter:x:121:rtkit:x:122:saned:x:123:cindy:x:1000:sambashare:x:124:cindywinbindd_priv:x:125:mysql:x:126:sunny:x:1001:

这个文件中是系统中所有群组的列表。可以看到大部分的群组是服务(mail,news等)和设备(floppy,disk等)。如之前提到的例子,这些系统设备群组对与其相关的文件具有所有权和控制权。添加一个常规用户到一个设备的群组,可以使这个常规用户拥有使用这个设备的权限,如果群组管理员授权给这个常规用户。也就是说将用户cindy添加到cdrom群组,那么使得cindy能够使用光驱设备。

管理群组的工具

Ubuntu提供了命令行工具来管理群组,也提供了GUI工具来管理群组。相比较而言,命令行工具更为强大和灵活。常用的群组管理命令行工具主要有:

groupadd——创建一个新的群组

groupdel——删除一个现有的群组

groupmod——创建一个群组名或GID,但不添加或删除群组中的成员

gpasswd——创建一个群组密码。每个群组可以有一个群组密码和群组管理员。使用参数-A指定一个用户为群组管理员。

useradd -G——参数-G在创建用户时添加该用户到一个群组

usermod -G——允许你添加一个不在线的用户到群组中

grpck——检查/etc/group文件,防止拼写错误

下面用一个简单的例子来说明群组管理命令行工具的使用方法。现在有一个DVD-RW设备(/dev/scd0),系统管理员希望给予常规用户sunny这个设备的访问权限。可以有以下几步:

1)用groupadd命令创建一个群组dvdrw

sudo groupadd dvdrw

2)用chgrp命令将设备DVD-RW(/dev/scd0)的群组属性更改为dvdrw

sudo chgrp dvdrw /dev/scd0

3)用usermod命令将授权用户添加到这个群组中

sudo usermod -G dvdrw sunny

4)用gpasswd指定sunny为组管理员,这样他可以添加新的用户到这个群组中

sudo gpasswd -A sunny

现在sunny拥有DVD-RW驱动的访问权限,超级用户和sunny都有添加新用户到这个群组的能力,,因为sunny是群组管理员。

系统也提供了群组管理的GUI工具,可以在系统设置->用户账户中找到。如下图所示:

知已知彼,百战百胜。

Ubuntu中的用户管理(二)群组管理

相关文章:

你感兴趣的文章:

标签云: