项目4 用户账户和组账户管理
4.1 用户账户管理
- 用户管理:Linux使用用户权限机制对系统进行管理;提供不同用户使用本系统的权限分配,保证用户数据与文件的安全
- Linux系统中每个登录的成员都要有一个用户账号;登录时,只有输入正确的用户名和口令,才能被允许进入Linux;账号实质上就是一个用户在系统上的标识,系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境
- Linux中用户分成三类:超级用户、系统用户和普通用户
超级用户(root用户):每个Linux系统都必须有,并且只有一个。它拥有最高权限,可以删除、终止任何程序
系统用户:与系统运行和系统提供的服务密切相关的用户,通常在安装相关的软件包时自动创建并保持默认状态,系统用户不能登录计算机
普通用户:在系统安装后由超级用户创建的,通常完成指定权限的操作,而且也只能操作自己所拥有权限的文件和目录 - 用户账户文件/etc/passwd组成
字段1--用户名:在系统中是唯一的,可以由字母、数字和符号组成
字段2--口令:此字段用“x”代替,而将口令保存在/etc/shadow文件(用户影子文件)中
字段3--用户ID(UID--0~1000以上,超级用户UID=0):系统内部用来标识用户且唯一
字段4--组ID(GID):系统内部用来标识组属性
字段5--用户相关信息
字段6--用户主目录(可变更)
字段7--用户登录环境 - 用户影子文件/etc/shadow组成(只有root可以访问)
字段1--用户名
字段2--口令:存放MD5加密过的口令
字段3--标识从1970年1月1日到用户最近一次修改口令所经过的天数
字段4--口令保持有效的最小天数,即口令在多少天内不能被用户修改
字段5--口令在多少天后需要被修改
字段6--口令到期前多少天内给用户发出警告
字段7--口令过期多少天后口令失效
字段8--账号失效日
字段9--保留域
创建新用户
- 格式:useradd [选项] <用户名>
功能:新建用户账户,只有超级用户才有使用此命令的权限
选项:
-u 用户ID:指定用户UID
-g 组ID或组名:指定新用户的主组
-G 组ID或组名:指定新用户的附加组
-d 主目录:指定新用户的主目录
-s 登录shell:指定新用户使用的shell,默认为/bin/bash
-e 有效期限:指定用户登录失效时间,例如:11/30/2020
-f 缓冲天数:设置在密码过期后多少天关闭该账号
-c 备注:为账户添加备注
-m 默认主目录:自动创建与用户名同名目录
-n 取消建立以用户名称为名的组
-r 建立系统账号
(新增用户需要同时设置密码,不然无法使用该用户账号登录系统)
设置用户密码
- 格式:passwd [选项] [用户名]
功能:设置、修改用户的口令以及口令的属性
选项:
-d 删除用户口令,则该用户账号无需口令即可登录
-l 锁住口令
-u 恢复禁用用户账户
-S 显示指定用户账户的状态
(系统管理员可以设置所有用户的密码,普通用户只能修改自己的密码)
修改用户信息
- 格式:usermod [选项] <用户名>
功能:修改用户的属性信息,只有超级用户才可以使用该命令
选项:
-g 组ID或组名:指定新用户的主组
-G 组ID或组名:指定新用户的附加组
-d 主目录:指定新用户的主目录
-s 登录shell:指定新用户使用的shell,默认为bash
-e 有效期限:指定用户的登录失效时间
-u 用户ID:指定用户UID
-c 全名:指定用户全称
-f 缓冲天数:指定口令过期后多久将关闭此账户
-l 用户名:指定用户的新名称
-L 用户名:锁定用户密码,使密码无效
-U 用户名:解除密码锁定
(usermod命令与useradd命令的区别在于usermod命令可以修改用户名且在禁用和恢复账号功能上,命令usermod不等同于passwd)
删除用户
- 格式:userdel [选项] <用户名>
功能:删除指定的用户账号,只有超级用户才能使用该命令
选项:
-r 用于删除用户的Home目录和邮件
-f 强制删除用户登录目录及目录中的所有文件
(正在使用系统的用户不能被删除,必须先终止该用户的所有进程才能删除该用户)
成批添加用户:newusers
- 第一步:先建立文本文件:n_user.txt
201700824101