用户组介绍(group)
用户的用户组类似于【人】的家庭、学校等组织,1个用户可以在多个组里。1个组可以有多个用户。
用户组唯一标识:GID #全拼Group Identify
用户组怎么产生的?
创建用户的时候默认产生的,
创建一个oldboy,默认情况就会生成oldboy组,
默认用户和组同名,且UID和GID相同
添加用户:useradd qq
查看用户uid,gid(组id) : id qq
查看用户对应的配置: tail -1 /etc/group 创建用户的时候,同时也创建了用户的用户组
由root用户直接创建用户组: groupadd tech
[root@madou ~]# groupadd qq
[root@madou ~]# tail -1 /etc/group
qq:x:1002:
然后增加用户属于qq组
添加一个li用户属于qq组.
[root@madou ~]# useradd li -g qq
[root@madou ~]# id li
uid=1000(li) gid=1002(qq) 组=1002(qq)
用户和用户组相关的配置文件
直接相关的有4个文件
/etc/passwd ##用户的主配置文件,用户的各种属性(UID,GID,家目录,登录SHELL)
/etc/shadow ##用户密码文件,存放密码及密码的属性(失效时间,修改密码时间等)。
/etc/group ##组文件,存放用户组及属性。
/etc/gshadow ##用户组的密码文件(废弃)
和用户相关的命令
useradd 添加用户
usermod 修改用户
userdel 删除用户
id 查看用户
练习:
useradd 添加用户 如果存在就先删除
[root@madou ~]# useradd op
[root@madou ~]# id op
uid=1001(op) gid=1003(op) 组=1003(op)
查看用户对应的配置[root@madou ~]# tail -1 /etc/passwd
op:x:1001:1003::/home/op:/bin/bash
查看用户密码文件,存放密码及密码的属性[root@madou ~]# tail -1 /etc/shadow
op:!!:19583:0:99999:7:::
查看组文件,存放用户组及属性[root@madou ~]# tail -1 /etc/group
op:x:1003:
查看用户组的密码文件(废弃)[root@madou ~]# tail -1 /etc/gshadow
op:!::
-u 指定uid添加用户(生产:多台服务器集群需要系统用户时,需要指定UID)
增加test01用户,将uid设置为1111
增加test01用户,将uid设置为1111
[root@madou ~]# useradd -u 996 test01
[root@madou ~]# id test01
uid=996(test01) gid=1004(test01) 组=1004(test01)-g 指定用户属于哪个组
[root@madou ~]# useradd -g test01 test02 注意:-g 后面加的是你要归属于的组的名字 test02 是自己创建的用户
[root@madou ~]# id test02
uid=1002(test02) gid=1004(test01) 组=1004(test01)-M 不生成家目录(生产中虚拟用户就不需要家目录)
[root@madou ~]# useradd test03 -M
[root@madou ~]# ls /home/ (查看home 目录下没有test03 )
ee li madou oldboy op test test01 test02
-s 指定登录解释器[root@madou ~]# useradd -s /sbin/nologin -M inca
[root@madou ~]# tail -1 /etc/passwd
inca:x:1004:1006::/home/inca:/sbin/nologin
useradd 总结
-u 指定UID
-g 指定用户属于的组,组必须要先存在
-M 不创建家目录
-s 指定登录解释器 /sbin/nologin是不能登录的解释器
usermod修改用户
测试用户: grep -w test01 /etc/passwd (-w按单词过滤)
-s修改解释器为/bin/bash
[root@madou ~]# usermod -s /sbin/nologin test01
[root@madou ~]#grep -w test01 /etc/passwd
test01:x:4587:1004::/home/test01:/sbin/nologin
修改uid为4587(-u)[root@madou ~]# usermod -u 4587 test01
[root@madou ~]#grep -w test01 /etc/passwd
test01:x:4587:1004::/home/test01:/sbin/nologin修改属于的组为sa(-g)
查看是否有sa组
[root@madou ~]# grep -w sa /etc/group
[root@madou ~]#
没有sa组 添加一个sa组[root@madou ~]# groupadd sa
[root@madou ~]# grep -w sa /etc/group --添加完之后检查一下是否添加成功
sa:x:1007:将test01用户修改为属于sa组
[root@madou ~]# usermod -g sa test01
[root@madou ~]# id test01
uid=4587(test01) gid=1007(sa) 组=1007(sa)
usermod修改用户小结
-u 修改UID
-g 修改属于的组
-s 修改登录解释器
userdel 删除用户
默认删除:不删除家目录里面的数据
删除test用户:[root@madou ~]# userdel test01
userdel:userdel:组“test01”没有移除,因为它不是用户 test01 的主组
提示:当前sa是test的主组,test组提示没有删除。
删除test组:[root@madou ~]# groupdel test01
检查家目录看看是否删除(没有删除)
[root@madou ~]# ls /home/
ee li madou oldboy op test test01 test0
[root@madou ~]# id test01
检查用户是否被删除了(删除了)
id: test01: no such user
-r 连带用户家目录一起删除
带-r删除用户同时会删除家目录及里面内容(慎用)
[root@madou ~]# userdel -r test02
生产经验,一般采取注释方法(此法是伪删除,其实并没有删除):
[root@oldboyedu ~]# vim /etc/passwd
[root@oldboyedu ~]# grep -w test02 /etc/passwd
#test02:x:1112:1111::/home/test02:/bin/bash
[root@oldboyedu ~]# id test02
id: test02: no such user
禁止使用删除的命令:
1)rm不要直接用,可以用find+xargs+rm删除,删除前要先备份(太大可异地备份)。
或用mv移动到回收站替换rm。
2)尽量不要卸载软件,可以用rpm -e删除,禁止使用yum remove 软件名方式删除。
3)尽量不要删除用户,可创建和删除【用户组】以vim /etc/passwd进入后注释对应的用户行替代使用userdel删除。。
创建和删除【用户组】 :组内没有用户才可以删除,如果有用户需先删除用户