1、预备知识:Linux用户和组的管理特点
Linux操作系统是一个多用户、多任务的操作系统,允许多个用户同时登录到同一个系统,使用系统资源。为了使所有用户的工作顺利进行,保护每个用户的文件和进程,规范每个用户的权限,需要区分不同的用户,因此产生了用户账户和组群。
用户账户是用户的身份标识,用户可以通过用户账户登录到系统,并且访问已经被授权的资源。系统依据账户来区分属于每个用户的文件、进程、任务,并给每个用户提供特定的工作环境,使每个用户的工作都能各自独立不受干扰的进行。
Linux系统下的用户账户分为普通用户账户和超级用户账户两种类型。其中,超级用户账户又称根用户或管理员账户,可以对普通用户和整个系统进行管理。Linux系统下的账户管理有以下特点:
(1)组群又称工作组,是具有相同特性的用户的逻辑集合,使用组群有利于系统管理员按照用户的特性组织和管理用户,提高工作效率。
(2)在为资源授权时可以把权限赋予某个组群,组群中的成员即可自动获得这种权限。
(3)一个用户账户至少属于一个用户组,当某一用户账户属于多个组群得成员时,其中某个组群是该用户的主组群(私有组群),其他组群是该用户的附属组群(标准组群)。
(4)每一个用户都有一个唯一的身份标识,称为用户ID(UID);每一个用户组也有一个唯一的身份标识,称为用户组ID(GID)。其中,root用户的UID为0。
(5)普通用户的UID可以在创建时由管理员指定,如果不指定,用户的UID默认从500开始顺序编号。
Linux系统下,用户账户文件有以下两个:
(1)/etc/passwd文件:用户账户信息;
(2)/etc/shadow文件:用户口令。
Linux系统下,组群文件有以下3个:
(1)/etc/group文件:组群账户信息;
(2)/etc/gshadow文件:组群口令、管理员等管理信息;
(3)/etc/login.defs文件:设置用户账户限制的文件,该文件中的配置对root用户无效。
2、实验清单
Red Hat
3、实验步骤
(1)使用"cat/etc/passwd"命令查看/etc/passwd文件;
注:“cat”命令会将文件内容全部显示出来;/etc/passwd文件每行使用“:”分隔几个域,真正的密码保存在shadow文件中。
/etc/passwd中每行由7个字段组成,字段间使用“:”分隔,各个字段的含义:
- 登录名
- 口令占位符
- 用户ID号(UID)
- 默认组ID号(GID)
- 用户的私人信息:包括全名、办公室、工作电话等
- 用户主目录
- 登录shell
如果口令字段为一个x时,就表示还有一个/etc/shadow文件用于存放组口令。
(2)使用“cat/etc/shadow”命令查看/etc/shadow文件;
注:所有用户对passwd文件均可读取,但只有root用户对shadow文件可读。
/etc/shadow文件同样用“:”分隔,各字段含义:
- 登录名
- 加密后的口令(一般用MD5加密)
- 上次修改口令的日期(采用绝对日期,1970年1月1日至今的天数)
- 两次修改口令之间的天数(最少)
- 两次修改口令之间的天数(最多)
- 提醒多少天提醒用户修改口令
- 在口令过期多少天后禁用该账户
- 账户过期的日期
- 保留,目前为空
(3)使用“cat /etc/group”命令查看/etc/group文件。用户的组账户信息放在group文件中,任何用户都可以查看且用“:”将几个域分开;
注:/etc/group文件各字段含义:
- 组名
- 组口令占位符
- 组ID(GID)号
- 成员列表,用“,”分隔(不能加空格)
和passwd文件一样,如果口令字段为一个x时,就表示还有一个/etc/gshadow文件用于存放组口令。
(4)使用“cat /etc/gshadow”命令查看/etc/gshadow文件;
(5)使用“groupadd”新建组,新建用户user1,UID为510,指定所属的私有组为1001,用户的主目录为/home/user1,用户的shell为/bin/bash,用户的密码为123456,账户永不过期;
(6)以root用户修改用户user1的密码;
注:超级用户root可以为自己和其他用户设置口令,但是普通用户只能为自己设置口令。
(7)使用“tail /etc/group”命令查看新建的组群信息;
(8)修改组群、GID、组群名称。