在生产环境中,大多数时候使用RHEL7或者其他的linux系统时,都可能是有多人同时操作。而设计linux系统的初衷即是为了满足多用户同时工作的需求。
root用户:拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户、启动/关闭服务进程、开启/禁用硬件设备等。
若直接使用root用户,若执行了错误的命令,很可能直接使得整个系统崩溃。
故建议以普通用户给的身份登录系统:即拥有能满足工作需求的最小权限的用户。
对系统的每个用户而言,都要为其登记信息,其用户ID即是UID,还要登记其所属组ID即GID。
在RHEL7中,用户身份有:
- 管理员:系统管理员,UID=0,常见的UID=0的用户名为root用户,故常把root用户称作是系统管理员。
- 系统用户:Linux系统为了避免因某个服务程序出现漏洞而影响到整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制系统被破坏的范围。UID=1~999
- 普通用户:由管理员创建的用于日常工作的用户。UID>=1000。【UID的范围并不代表UID在0<UID<1000的用户就一定不是普通用户,仅仅只是这样分类比较好】
权限的分配可以按照用户(每个人)分配,也可以按照所属组(部门)进行分配。
每个用户在创建的时候,默认会创建同名的基本用户组,自成一组。若该用户加入其他组,那么其他组就是该用户的拓展用户组。一个用户只有一个基本用户组,但可以有多个拓展用户组。
用户管理命令
1、查看用户信息
id 用户名
2、添加用户
useradd
命令
参数 | 作用 |
---|---|
-d | 指定家目录 |
-e | 账户到期时间,YYYY-MM-DD |
-u | uid |
-g | 指定一个已存在的基本用户组,不指定默认创建同名基本用户组 |
-G | 指定一个或多个拓展用户组 |
-N | 不创建同名基本用户组 |
-s | 指定shell解释器 |
-p | 指定用户密码,默认无密码,且账户密码被锁定 |
3、添加组
命令:groupadd [-g] group_name
不指定gid
,则gid
默认从10000开始,可以通过/etc/group
文件查看gid
4、修改用户信息
usermod
命令
命令useradd
中的参数都可以使用,作用都变为重置为或者变更
补充参数:
-L
:锁定用户,禁止登录系统
-U
:解锁用户,允许其登录系统
-d -m
:参数连用,变更家目录并做数据迁移
-p
:设置用户密码并解锁用户密码
将shell解释器修改为/bin/bash
后,用户linux2已经可以登录系统了。
可通过命令passwd -S 用户名
查看用户是否被锁住。
5、修改组信息
groupmod
命令
修改基本用户组linux1的gid
groupmod -g 5555 linux1
6、删除用户
userdel
命令
查看文件/etc/passwd
,有以下无用的用户要删除。
-r
:删除用户的同时,删除该用户家目录和用户文件。
6、删除组
groupdel
命令
若一个组是某一个用户的基本用户组,则不允许删除该组。
groupdel 组名
7、用户密码设置
passwd
命令
- 管理员用户可以修改所有人的密码,不需要旧密码验证。
- 普通用户只能修改自己的密码,需要旧密码验证。
参数 | 作用 |
---|---|
-S | 查看用户是否被锁定以及密码采用的加密算法名称 |
-l | 密码锁定 |
-u | 密码解锁 |
-d | 允许空密码登录 |
-e | 强制下次登陆要修改密码 |
–stdin | 允许通过标准输入修改用户密码【echo "123456" | passwd --stdin abong 】 |
常见用户文件
/etc/passwd
:存放用户信息【一行由7个部分,其中口令只是一个描述符,不是真实的密码。】
用户名:口令:uid:gid:注释信息:家目录:shell解释器/etc/shadow
:存放用户的密码【权限是000,但是root除外】【一行由9个部分组成,其中加密口令是指经过md5加密的口令】
用户名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志/etc/group
:存放用户的组信息
组名:密码:gid:用户列表
批量创建用户
-
编辑文本用户文件,格式与
/etc/passwd
相同,后缀为txt,如user.txt
-
以root用户执行
newusers < user.txt
,执行之后可在/etc/passwd
中看到用户信息
-
执行
pwunconv
命令。【/etc/passwd
中的口令通过pwconv
命令加密成为/etc/shadow
中的加密口令,而pwunconv
可将/etc/shadow
中的加密口令解码回写入/etc/passwd
对应的密码中】【即取消shadow password功能】
-
编辑密码对照文件,格式:用户名:密码,后缀为txt,如
passwd.txt
-
以root用户执行
chpasswd < passwd.txt
,即将密码通过chpasswd
命令写入到文件/etc/passwd
中,可查看该文件进行检查,此时的密码未加密。
-
执行
pwconv
命令。【对/etc/passwd
文件中的密码进行加密处理,并写入到/etc/shadow
文件中,而/etc/passwd
中的口令再次变成变符号x】
-
从下图可以看出,新添加的用户user1和user2已经可以正常登录使用了。