在生产环境中,大多数时候使用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的用户就一定不是普通用户,仅仅只是这样分类比较好】权限的分配可以按照用户(每个人)分配,也可以按照所属组(部门)进行分配。
每个用户在创建的时候,默认会创建同名的基本用户组,自成一组。若该用户加入其他组,那么其他组就是该用户的拓展用户组。一个用户只有一个基本用户组,但可以有多个拓展用户组。
id 用户名
useradd命令
参数作用-d指定家目录-e账户到期时间,YYYY-MM-DD-M不创建用户家目录,常用于系统用户-uuid-g指定一个已存在的基本用户组,不指定默认创建同名基本用户组-G指定一个或多个拓展用户组-N不创建同名基本用户组-s指定shell解释器-p指定用户密码,默认无密码,且账户密码被锁定 # 从以下命令可以看出,adduser也是可以添加用户的,是useradd的软连接,知道即可。 [root@master ~]# which useradd /usr/sbin/useradd [root@master ~]# which adduser /usr/sbin/adduser [root@master ~]# ll /usr/sbin/useradd -rwxr-x---. 1 root root 118232 10月 31 2018 /usr/sbin/useradd [root@master ~]# ll /usr/sbin/adduser lrwxrwxrwx. 1 root root 7 6月 23 17:47 /usr/sbin/adduser -> useradd命令:groupadd [-g] group_name 不指定gid,则gid默认从10000开始,可以通过/etc/group文件查看gid
usermod命令 命令useradd中的参数都可以使用,作用都变为重置为或者变更 补充参数: -L:锁定用户,禁止登录系统 -U:解锁用户,允许其登录系统 -d -m:参数连用,变更家目录并做数据迁移 -p:设置用户密码并解锁用户密码 将shell解释器修改为/bin/bash后,用户linux2已经可以登录系统了。 可通过命令passwd -S 用户名查看用户是否被锁住。
groupmod命令
修改基本用户组linux1的gid groupmod -g 5555 linux1
userdel命令 查看文件/etc/passwd,有以下无用的用户要删除。 -r:删除用户的同时,删除该用户家目录和用户文件。
groupdel命令 若一个组是某一个用户的基本用户组,则不允许删除该组。 groupdel 组名
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/default/useradd:存放创建用户的默认参数值,一般不修改该文件。
# 创建用户的默认配置文件 [root@master ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 # users组ID为100 HOME=/home # 默认在该目录下创建家目录 INACTIVE=-1 # 密码是否会过期,-1则会过期 EXPIRE= # 密码过期时间 SHELL=/bin/bash # 用户默认的shell SKEL=/etc/skel # 模板目录 CREATE_MAIL_SPOOL=yes # 是否创建邮箱文件 [root@master ~]# cat /etc/group | grep users users:x:100:/etc/login.defs:存放创建用户的一些默认参数值,一般不修改该文件。
编辑文本用户文件,格式与/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已经可以正常登录使用了。
以上就是用户以及用户组管理的全部内容了,感谢各位的关注和点赞!!!