任务五 管理Linux系统的用户与用户组
【任务说明】
Linux操作系统是多用户多任务操作系统。
用户可分为普通用户和超级用户,除了用户以外还有用户组。所谓用户组就是用户的集合,CentOS组中有两种类型,私有组和标准组。当创建一个新用户时,若没有指定他所
属的组,CcntOS就建立一个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于
的组。另外,同一个用户可属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术主管,所以他就属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其他组为附加组。
Linux 环境下的用户与用户组系统文件主要存放在etc/passwd、/etc/shadow 、/etc/group和/etc/gshadow这4个文件中。其基本含义后面会详细介绍,root1~499是系统一标准
账户,普通用户的UID是从500开始。
初次接触Linux 的朋友大概会觉得很奇怪,Linux有这么多用户,还要分用户组(又叫做“群组”),有什么用呢? 其实,文件所属的用户与用户组功能是一个相当健全的安全防
护。由于Linux是多人多工的操作系统,因此常常会有多人同时使用过部主机工作,为了考虑每个人的隐私权,因此,“文件所有者”的角色就显得相当重要。例如,当我们将某个
文件放在自己的工作目录下,并且不希望这个文件的内容被别人看到,这时就应该把文件设定成“只有文件拥有者,也即我们自身才能查看和修改该文件的内容”,由于我们设定
了这样的权限,因此其他用户即使知道有这个文件存在,也无法看到该文件的内容。
那么为什么要为文件设定它所属的用户组呢?其实,用户组最简单的功能之一,就是用于团队开发资源。举例来说,假设主机有两个团体:第一个团体为testgroup ,它的成
员是test1、test2、test3共3个;第二个闭体名称为treatgroup ,它的成员为trea1、treat2、treat3。这两个团体之间是互相有竞争性质的,要比赛看谁做的那份报告最好,然而每组
成员又需要同时能够修改自己的团体内任何人所建立的文件,且不能让非本团体的人看到这些文件内容。这时候就要通过用户组的权限进行设置,禁止非本用户组的用户查看本
组的文件。同时,
如果成员自己还有私人隐秘的文件,还可以设定文件权限,使本团队其他成员也看不到此文件的内容。另外,如果有一个teacher用户是testgroup 与treatgroup 这两个用户
组的老师,想要同时观察两个组的进度,就要设定teacher用户同时支持testgroup 与treatgroup 这两个用户组,这样就可以查看这两个用户组的文件。也就是说,每个用户还可以
属于多个用户组。
基于以上考虑,Linux系统中的每个用户都至少属于一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下
的用户就默认属于与它同名的用户组,这个用户组在创建用户的时候同时创建。
本任务的主要目的是要向由灵活地管理用户以及用户组。