任务一:Linux用户类型和组群
1. Linux系统下的用户账户分为三种
- 超级用户(root):拥有系统的最高权限,可以不受限制的对任何文件和命令进行操作,对系统具有绝对的控制权。
- 系统用户(虚拟用户):这类用户无法登录系统,是用来管理或执行特定的任务,如:ftp,mail,bin等。
- 普通用户:是由超级用户创建,一般可以登录系统,但权限有限,只能操作拥有权限的文件和目录,以及管理自己的进程。
2. 组群
- 概念:是具有相同特征的用户的逻辑集合。
- 优点:有了组群,可以在做资源授权时把权限赋予某个组群,组群中的成员即可自动获得这种权限。
- 说明:一个用户账户可以同时是多个组群的成员,其中某个组群是该用户的主组群其他组群为该用户的附属组群。
3. 用户和组群的相关名词概念
- 用户名:即登录时使用的名称,系统内唯一。
- 密码:用于验证用户身份的特殊验证码。
- 用户标识(UID):用来用户的数字标识符。root的UID是0,系统用户的UID是1~999,普通用户的UID是从1000起依次编号。
- 组群:具有相同属性的用户属于同一个组群。
- 组群标识(GID):用来表示组群的数字标识符,每一个用户隶属一个组。root的GID是0,系统用户的GID是1~999,普通用户的GID是从1000起依次编号。
- 用户主目录:用户的私人目录,是用户登录系统后默认所在的目录。root的主目录是/root,普通用户除非指定,默认情况下是在/home下。
- 登录shell:用户登录后默认使用的shell程序,默认为/bin/bash
任务二:用户账户文件和组群文件
1. /etc/passwd文件
- 在Linux系统中,所创建的用户账户及其相关信息均放在/etc/passwd配置文件中。使用vim编辑器打开passwd文件。文件中每一行代表一个用户账户的资料,可以看到第一个是root,passwd文件中的每一行用“:”分隔七个域,其内容如下图:
![]()
- passwd文件字段说明:
- 用户名:用户账户的名称。
- 加密口令:用户口令,考虑到安全性,使用“x”来填充该字段,真正的密码在shadow文件中。
- UID:用户名,唯一表示某用户的数字标识。
- GID:用户所属的私有组号。
- 用户的描述信息:可选的关于用户全名,用户电话等描述性信息。
- 主目录:用户的宿主目录。
- 命令解释器:用户所使用的shell,默认为“/bin/bash”。
注:登录shell:保证用户和计算机交流。
2. /etc/shadow文件
- 为了增强系统的安全性,用户经过加密的口令均放在/etc/shadow文件下,且/etc/shadow文件只对root用户可读,/etc/shadow文件是/etc/passwd文件的投影,每个用户的信息在shadow文件中占一行且用“:”分隔为9个域,其内容如下图:
- 字段1:用户登录名。
- 字段2:加密后的口令,其中“*”表示非登录用户,“!!”表示没设置密码。
- 字段3:从1970年1月1日起,到用户最近一次密码被修改的天数。
- 字段4:从1970年1月1日起,到用户可以更改密码的天数。
- 字段5:从1970年1月1日起,到用户必须更改密码的天数。
- 字段6:密码过期前几天提醒用户更改密码。
- 字段7:密码过期后几天账户被禁用。
- 字段8:密码被禁用的具体日期。
- 字段9:保留域,用于扩展功能。
3. /etc/login.defs文件
- 设置用户账户的某些选项,修改参数管理还未创建的用户信息。例如:使用vim编辑器修改配置文件/etc/login.defs,使即将新建的用户UID在2000到4000之间,再使用useradd新建用户“test01”,再使用id查看该用户的UID。
4. /etc/group文件
- 创建用户时,会创建一个和用户相同名字的组群 。
- 用于存放用户的组账户信息,对于该文件的内容任何用户都可以读取。
- 每个组群账户在group文件中占用一行,且用“:”分隔四个域,其内容如下图:
- 用户的主组群并不把该用户作为成员列出,只有用户的附属组群才会把该用户作为成员列出。
5. /etc/gshadow文件
- 用于存放组群的加密口令,组管理员等信息,只对root用户可读。
- 每个组群账户在gshadow文件中占一行,以“:”分隔4个域,其内容如下图:
6. /etc/passwd和/etc/shadow之间的关联
- 解除关联:pwconv
- 解除关联:pwunconv
任务三:用户账户的相关操作
1. 新建用户
- 在新建用户时可以使用useradd或adduser,useradd命令格式为: useradd [选项] <username>
- 常见选项:
- -d:指定用户的主目录
- -f: 设置账户过期多少天后用户账户被禁用。如果为0,则账户过期后立即被禁用;如果为-1,账户过期后,将不被禁用。
- -g:指定用户所属主组群的组群名称或GID。
- -m:若用户主目录不存在就创建它。
- -p:加密的口令。
- -s:指定用户的登录shell,默认为/bin/bash。
- -u:指定用户的UID。
- 例如:新建用户user01,UID为1100,指定其所属的私有组为group01并且其UID为1100,用户的主目录为/testhome,用户的shell为/bin/bash,用户的密码为12345678,账号永不过期。
2. passwd命令
指定和修改用户账户口令的命令是passwd。
超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。
格式:passwd [选项] [username]
常见选项:
-l:锁定(停用)用户账户-u:口令解锁-d:将用户口令设置为空,这与未设置口令的账户不同;未设置口令的账户无法登录系统,而口令为空的账户可以-f:强迫用户下次登录时必须修改口令-n :指定口令的最短存活期-x :指定口令的最长存活期-w :口令要到期前提前警告的天数-i :口令过期后多少天停用账户-S :显示账户口令的简短状态信息![]()
3.修改用户账户
- usermod命令用于修改用户的属性
- 格式:usermod [选项] 用户名
- 修改已经创建的用户信息:①usermod命令;②修改配置文件/etc/passwd。
- 常见选项:
- -g: 变更所属用户组
-G: 变更扩展用户组
-L: 锁定用户禁止其登录系统
-U:解锁用户,允许其登录系统
-s: 变更默认终端
-u: 修改用户的UID4.禁用和恢复用户账户
- 临时禁用一个账号而不删除它,可以用passwd命令或者是usermod命令,也可以修改/etc/passwd或者是/etc/shadow文件。
- (1)使用usermod命令
- (2)使用passwd命令
- (3)直接修改用户账户配置文件:在/etc/passwd或者是/etc/shadow文件中关于user01账户的passwd域的第一个字符前面加上“*”,恢复时只需要删除“*”即可。
5.删除用户账户
- 可以直接删除/etc/passwd和/etc/shadow文件中要删除的用
户所对应的行,或者用userdel命令删除。- userdel命令为:
userdel [-r] 用户名- 注意:加r选项和不加r选项的区别:
- ①(部分删除)如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中,将用户的信息全部删除。(只删除配置文件中的信息,不会删除主目录下的数据)
- ②(全部删除)如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。
6.查看用户账户
任务四:管理组群
1.维护组群用户
- 创建组群可以使用命令groupadd或者addgroup。
- 修改组群的命令是groupmod,其命令为:groupmod [选项] 组名
- 常见选项: -g:gid 把组群的GID改成gid
-n:group-name 把组群的名称改为group-name2.为组群添加用户
- 当一个组群中必须包含多个用户时,
则需要使用附属组群。在附属组中增加、删除用户都用gpasswd命令。- gpasswd命令为:
gpasswd [选项] [用户] [组]- 常见选项: -a: 把用户加入组
-d: 把用户从组中删除
-r: 取消组的密码
-A:给组指派管理员