Linux 用户管理
# Linux 用户管理
# 基本介绍
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
- Linux用户的常见属性
- 用户名
用户登录时,用于系统识别使用的名称。其由字母、数字和下划线组成,在整个系统中具有唯一性,也称为用户账号、用户名不得使用"*" "," ";"等非法的字符。
- 用户口令
用户登录系统时用于验证用户名的字符串,应该设置得足够复杂。
- 用户ID
在Linux系统中,每一个用户不但具有唯一的名称,还具有唯一的整数值,也就是用户ID或UID。root用户的ID值为0,。特殊用户的ID默认取值范围为1~499。超级用户创建的普通用户ID值从500开始递增。第一个普通用户为500,第二个普通用户为501,以此类推。
- 用户组ID
在Linux系统中,每一个用户组不但具有唯一的用户组名,还具有唯一的整数值,也就是用户组ID或GID。
- 用户主目录
Linux系统为普通用户默认分配一个主目录。根用户root的主目录是/root,普通用户的主目录默认为/home/用户名。如普通用户student1的主目录默认为/home/student1。
- 备注
备注也被称为用户全名、全称、注释信息,是用户账号的附件信息,可为空。
- 登录Shell
用户登录系统后使用的Shell环境。对于超级用户root和普通用户,其shell环境一般为/bin/bash。对于系统用户,其Shelli环境一般为/sbin/nplogin,表示该用户不能登录。
# 添加用户
# 基本语法
useradd 选项 用户名
- 选项说明
-c comment:用户的注释信息,也称为备注、用户全称等,默认无。
-g group:设置用户所属的主群组,也称主要组、主组群等,默认为与用户名同名的用户组。
-G:设置用户所属的附加群组,也称附加组、附加群租等,默认无。
-d home:设置用户的主目录,默认为/home/用户名。
-s shell:设置用户登录Shell环境,默认为/bin/bash
-u UID:设置用户的ID值,默认为自动设置。
-e expire:设置账号的过期时间,默认为空,格式为 YYYY-MM-DD。
-f inactive:设置密码过期多少天后禁用该用户,默认为空.
# 细节说明
- 当创建用户成功后,会自动的创建和用户同名的家目录。
- 也可以通过useradd -d指定目录新的用户名,给新创建的用户指定家目录。
# 指定/修改密码
# 基本语法
passwd 选项 用户名
- 选项说明
-l name:锁定系统中的普通账户,使其不能登录
-u name:解锁系统中被锁定的普通用户,恢复其登录功能
-x days:最长密码使用时间(天)
-n days:最短密码使用时间(天)
-d:删除用户的密码
# 删除用户
# 基本语法
userdel 用户名
# 细节说明
- 删除用户milan,但是要保留家目录, userdel milan
- 删除用户以及用户主目录,比如tom, userdel -r tom
# 查询用户信息指令
# 接本语法
id 选项 用户名
- 选项说明
-u:显示用户的ID
-g:显示用户的主群组ID
-G:显示用户的所有群组的ID
# 应用实例
案列:请查询root信息
#id root
# 细节说明
当用户不存在时,返回无此用户
# 切换用户
# 介绍
在操作Linux中,如果当前用户的权限不够,可以通过su - 指令,切换到高权限用户,比如root
# 基本语法
su - 切换用户名
# 细节说明
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
- 当需要返回到原来用户时,使用exit/logout 指令
# 查看当前用户/登录用户
# 基本语法
who am i(I)
# 用户组
# 介绍
类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
# 新增组
指令: groupadd 组名
# 删除组
指令(基本语法):groupdel 组名
# 案例演示
- 增加用户时直接加上组
- 指令(基本语法) : useradd -g 用户组 用户名
- 增加一个用户 zwj,直接将他指定到wudang
- groupadd wudang
- useradd -g wudang zwj
# 修改用户的组
指令(基本语法):usermod -g 用户组 用户名
- 案例演示
- 创建一个组 mojiao
- 把zwj放入到mojiao
指令:usermod -g mojiao zwj
# 用户和组相关文件
# /etc/password 文件
用户( user)的配置文件,记录用户的各种信息 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
# /etc/shadow 文件
口令的配置文件
- 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
# /etc/group 文件
组( group )的配置文件,记录Linux包含的组的信息
- 每行含义:组名:口令:组标识号:组内用户列表