# 一、用户组
Linux的用户在创建时产生的对应组称为主组,若某用户要临时使用某个用户组的权限,则该组是其附属组。
groupadd [选项] 用户组名称
-g:表示自定义用户组编号,自定义编号需从1000开始,不重复
例如添加一个用户组,并自定义编号
groupadd -g 1100 test
拓展:新建的用户组在哪里?
/etc/group
#group文件的解释
test-->用户组名称
x-->用户组的密码,使用x代替
1100-->用户组的编号,其中1-999表示系统用户组
基本语法
groupmod [选项] 修改后的用户组名称 原用户组名称
-g:gid,设置自定义用户组的ID编号
-n:修改用户组名称
案例:修改用户组test的名称为teacher,用户ID为1200
groupmod -g 1200 -n teacher test
基本语法
gourp 用户组名称
基本语法
useradd [选项] 用户名
-g:添加用户时指定用户的主组。不选择默认创建与用户名相同的主组。此处需用用户组的ID编号
-G:添加用户时指定附属组,如有多个附属组用逗号隔开
-u:添加用户时指定用户的ID编号
-c:添加用户时添加用户的备注信息
-d:添加用户时指定用户的家目录。不选择默认在/home目录下创建与用户名同名的家目录
-n:取消建立以用户名为名称的群组(了解,不常用)
-M:创建用户时不创建宿主目录
-s:用户可使用的shell类型;
默认为/bin/bash,拥有大部分的权限,一般用于人;
还可以选择/sbin/nologin,不能用于登录操作系统,一般用于软件
-r :指定该用户为系统用户
添加的用户在哪里?
/etc/passwd
root:x:0:0:root:/root:/bin/bash
第一列:用户名
第二列:用户密码
第三列:用户ID
第四列:主组ID
第五列:注释信息
第六列:用户的家目录
第七列:用户shell类型
拓展:用户信息查询
#基本语法(查询某个指定用户信息)
id 用户名
-uid:用户编号
-gid:用户所属主组编号
-groups:第一个为用户主组,剩余的是用户的附属组
基本语法
usermod [选项] 用户名
-g:修改用户所属主组
-s:修改用户的shell类型
-l :login name修改用户名
-u:修改uid
-d:修改家目录
-m:修改用户家目录的同时将配置文件一同转移
拓展:
-L:锁定用户。锁定后的用户无法登录系统
-u:解锁用户
了解:
-G:修改用户的附属组
-d:修改用户的家目录
-c:修改用户的备注信息
拓展:关于修改家目录的同时将配置文件一同转移
方法一:
usermod -md /rhome/zhangsan /zhangsan
方法二:
usermod -d /rhome/zhangsan /zhangsan
cp -a /rhome/zhangsan /zhangsan
# cp -a 表示在保证源文件属性的情况下复制文件
基本语法
userdel [选项] 用户名
-r:删除用户时同时删除其家目录
若删除用户时,显示被某个进程占用
1)找到用户并注销,即切换用户
2)使用命令kill -9 + 进程ID号,强制结束进程
基本语法
gpasswd [选项] 用户组
选项:
-a:追加添加用户到组
-d:从组中删除成员
-A:指定管理员,管理员可以添加用户到组
-M:指定组成员,批量(覆盖)添加用户到组
————————————————————————————————
tips:
①-a 与 -A 的区别
-a:一次添加一个,追加添加,原有的成员不覆盖
-A:一次添加多个,覆盖添加,先删除原有用户,再添加指定用户
值得一提的是,usermod -G 指定附属组的效果也是覆盖
②为用户组添加密码
gpasswd + 组名 # 回车设置就行
给当前账户修改密码:
passwd + 用户名
给其他账户修改密码:
passwd test + 用户名
建议:在修改密码时,尽量在root账户下修改,在root账户下修改密码对密码强度没有要求。
拓展:存放用户密码的文件位置
/etc/shadow
文件是被加密的,需要解码才能看到密码
基本语法
su [-] 用户名
选项“-”表示在切换用户的同时切换到用户的家目录
拓展:wheel组(了解)
理论上只有wheel组的普通用户才能通过su命令切换到root用户,但实际上只要知道root用户的密码亦可以从其他所有普通用户切换到root用户。