用户组管理
用户和组
1.用户相关内容介绍
1.1 Linux安全模型
- Accouting|Audition:审计
- Authorization:授权,不同的用户设置不同权限
- Accouting|Audition:审计
- 当用户登录成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息
1.2 用户
-
令牌token,identity
-
Linux用户:Username/UID
-
管理员:root, 0
-
用户类型:
系统用户:1-499(centos6), 1-999 (CentOS7以后) 对守护进程获取资源进行权限分配 登录用户:500+(centos6), 1000+(CentOS7) 交互式登录
1.3组group
-
Linux组:Groupname/GID
-
管理员组:root, 0
-
组分类:
系统组:1-499(centos6), 1-999(CENTOS7) 普通组:500+(centos6), 1000+(CENTOS7)
1.4用户与组之间的关系
-
用户的主要组(primary group):
①用户必须属于一个且只有一个主组
② 默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,(组名同用户名)
③由于此组中只有一个用户,又称为私有组(组名同用户名,且只有一个用户叫做私有组)
-
用户的附加组(supplementary group):
①一个用户可以属于零个或多个辅助组,附属组
范例:
[root@centos8 ~]# id root
uid=0(root) gid=0(root) groups=0(root)
uid是用户 uid=0代表管理员 gid是用户组 gid=0是管理员用户组 groups是用户的主要组 groups=0是root账户主要组。
[root@centos8 ~]#id postfix
uid=89(postfix) gid=89(postfix) groups=89(postfix),12(mail)
uid是用户
uid=89(postfix)代表系统用户,89代表系统用户账号的iD
gid是用户组
gid=89(postfix)是系统用户组,89代表系统用户账号组的iD
groups是用户的主要组
groups=89(postfix)代表postfil账户主要组。
12(mail)代表用户附加组,这个账号还是mail组的用户
1.5安全上下文
-
Linux安全上下文Context:运行中的程序,即进程 (process),以进程发起者的身份运行,进程所能够
访问资源的权限取决于进程的运行者的身份 -
比如:分别以root 和wang 的身份运行/bin/cat /etc/shadow ,得到的结果是不同的,资源能否能
被访问,是由运行者的身份决定,非程序本身范例:
[普通用户名@centos8 root]$ cat /etc/shadow “普通用户查看用户密码配置文件” cat: /etc/shadow: Permission denied [root@centos8 ~]# cat /etc/shadow “管理员用户查看用户密码配置文件” root:$6$MUGABbCeU1bqeFhm$qOIpJneGwLbXHCXgFsXwLQisAJQ.1.YEUhY3lJp0F5/fFltYtG4jI12sjVJkqYcj7.fF/pIMJ2yWSVxgrCA1C.::0:99999:7::: bin:*:18027:0:99999:7::: daemon:*:18027:0:99999:7::: adm:*:18027:0:99999:7:::
2.用户相关配置文件说明:
2.1 /etc/passwd
-
介绍:用户及其属性信息(名称、UID、主组ID等)
-
login name:登录用名(wang)
passwd:密码 (x)
UID:用户身份编号 (1000)
GID:登录默认所在组编号 (1000)
GECOS:用户全名或注释
home directory:用户主目录 (/home/wang)
shell:用户默认使用shell (/bin/bash) -
chfn (chfn的两个常用命令chfn 用户名 创建,finger 用户名 查看)”
-
范例:
[root@centos8 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash 第一列:login name:登录用名(root) 第二列:passwd:密码 (x) 第三列:UID:用户身份编号 (0) 注意:root不一定为管理员,但UID为0的一定是管理员 第四列:GID:登录默认所在组编号 (0) 第五列:GECOS:用户全名或注释 第六列:home directory:用户主目录 (/root) 第七列:shell:用户默认使用shell (/bin/bash) bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync 注意: “第一列(以冒号为分隔符):用户名 第二列:密码位 第三列:UID号 CentOS6 1-499为系统用户,预留 CentOS7 1-999为系统用户,预留 第四列:GID号 主组和辅助组 第五列:用户全名或注释 第六列:用户的家目录 第七列:用户默认的shell类型”
2.2 /etc/shadow
-
介绍:用户密码及其相关属性
-
第一列:用户名
第二列:密码位 \(加密方式\)salt$password
!!代表账户被锁定
第三列:更改密码时间(天数计算)—距离1970年1月1号时间
第四列:密码最短口令有效期
第五列:口令过期时间,更改口令往后的时间
第六列:口令到期前提前多少天提醒
第七列:口令过期后多少天账户过期
第八列:帐号的有效期 -
范例:
[root@centos8 ~]# cat /etc/shadow | head -1 root:$6$MUGABbCeU1bqeFhm$qOIpJneGwLbXHCXgFsXwLQisAJQ.1.YEUhY3lJp0F5/fFltYtG4jI12sjVJkqYcj7.fF/pIMJ2yWSVxgrCA1C.::0:99999:7::: 注意: 第一列: 登录用名(root) 第二列: 用户密码($6$MUGABbCeU1bqeFhm$qOIpJneGwLbXHCXgFsXwLQisAJQ.1.YEUhY3lJp0F5/fFltYtG4jI12sjVJkqYcj7.fF/pIMJ2yWSVxgrCA1C.) 第三列: 从1970年1月1日起到密码最近一次被更改的时间 第四列: 密码再过几天可以被变更(0表示随时可被变更)(0) 第五列: 密码最大的有效期(99999) 第六列: 密码过期前几天系统提醒用户(默认为一周)(7) 第七列: 密码过期后宽限期 第八列: 从1970年1月1日算起,多少天后帐号失效,账号有效期 第九列: 保留 第十一列: chage fang 修改密码时长
-
/etc/default/useradd 增加用户、默认设置。 /etc/login.defs 可以修改密码有效期等时长。
-
chage 用户名 修改密码时长
-
更改密码加密算法:
authconfig --passalgo=sha256 --update sha256加密算法
-
生成随机密码:
[root@centos8 ~]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12 sFg6C8g5FAfe[root@centos8 ~]#openssl rand -base64 9 hvMkPmAyIrXMQInt
3. 组相关配置文件
3.1 /etc/group
-
介绍:组及其属性信息
[root@centos8 ~]cat /etc/group root:x:0: 第一列: 群组名称:就是群组名称(root) 第二列: 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow (X) 第三列: GID:就是群组的 ID (0) 第四列: 以当前组为附加组的用户列表(分隔符为逗号)
-
grpck 检测 /etc/group 文件格式
3.2/etc/gshadow
-
介绍:组密码及其相关属性
[root@centos8 ~]cat /etc/gshadow root:x:0: 格式说明: root:组密码:组管理员:附加组成员 第一列: 群组名称(root) 第二列: (X) 第三列: 组管理员列表:组管理员的列表,更改组密码和成员 (0) 第四列: 以当前组为附加组的用户列表:(分隔符为逗号)
4.加密算法:
-
介绍:
- 加密:明文--> 密文
- 解密:密文--> 明文
-
哈希算法
-
原文不同,密文必不同
-
相同算法定长输出,获得密文不可逆推出原始数据
-
雪崩效应:初始条件的微小改变,引起结果的巨大改变
-
加密算法
①md5: message digest, 128bits
②sha1: secure hash algorithm, 160bits
③sha224: 224bits
④sha256: 256bits
⑤sha384: 384bits
⑥sha512: 512bits -
更改加密算法:
authconfig --passalgo=sha256 --update
-
密码设置
① 密码的复杂性策略
② 使用数字、大写字母、小写字母及特殊字符中至少3种
③足够长
④使用随机密码
⑤定期更换,不要使用最近曾经使用过的密码
-
5.用户管理命令:
5.1用户创建命令useradd:
-
介绍:可以创建新的Linux用户
-
格式:
useradd [options] LOGIN
-
常见选项:
-u UID -o 配合-u 选项,不检查UID的唯一性 -g GID 指明用户所属基本组,可为组名,也可以GID -c "COMMENT“ 用户的注释信息 -d HOME_DIR 以指定的路径(不存在)为家目录 -s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中 -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在 -N 不创建私用组做主组,使用users组做主组 -r 创建系统用户 CentOS 6之前: ID<500,CentOS 7以后: ID<1000 -m 创建家目录,用于系统用户 -M 不创建家目录,用于非系统用户
范例:
useradd -r -u 48 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache 第一步: 创建系统用户 第二步: 创建UID (48) 第三步: 创建用户组 (apache) 第四步: 指定SHEll程序 (/sbin/nologin) 第五步: 以指定的路径(不存在)为家目录 (/var/www) 第六步: 创建用户的注释信息 ("Apache" apache)
-
useradd 命令默认值设定由/etc/default/useradd定义
范例:
[root@centos8 ~]#cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 #对应/etc/shadow文件第7列,即用户密码过期的宽限期 EXPIRE= #对应/etc/shadow文件第8列,即用户帐号的有效期 SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
-
显示或更改默认设置
useradd -D useradd –D -s SHELL useradd –D –b BASE_DIR useradd –D –g GROUP
-
新建用户的相关文件
/etc/default/useradd /etc/skel/* /etc/login.defs
-
批量创建用户
newusers passwd 格式文件
-
批量修改用户口令
echo username:passwd | chpasswd
-
删除用户家目录并恢复
范例:
rm -rf /home/root mkdir -pv /home/root 复制/etc/skel/下的文件到家目录 ➢ 方法一 cp -r /etc/skel/. /home/root 复制整个目录下的所有文件 ➢ 方法二 cp -r /etc/skel/.[^.]* /home/root 只复制目录下的隐藏文件 chown -R root.root /home/root ; chmod 700 /home/root
5.2查看用户相关信息:id
-
介绍:id 命令可以查看用户的UID,GID等信息
-
格式:
id [OPTION]... [USER]
-
常见选项:
-u: 显示UID -g: 显示GID -G: 显示用户所属的组的ID -n: 显示名称,需配合ugG使用
5.3修改用户密码passwd
-
介绍:可以修改用户密码
-
格式:
passwd [OPTIONS] UserName
-
常用选项:
-d:删除指定用户密码 -l:锁定指定用户 -u:解锁指定用户 -e:强制用户下次登录修改密码 -f:强制操作 -n mindays:指定最短使用期限 -x maxdays:最大使用期限 -w warndays:提前多少天开始警告 -i inactivedays:非活动期限 --stdin:从标准输入接收用户密码,Ubuntu无此选项 常用命令: echo “PASSWORD” | passwd --stdin USERNAME
-
范例:
echo "PASSWORD" | passwd --stdin USERNAME
-
范例:设置用户下次必须更改密码
[root@centos8 ~]#useradd wang [root@centos8 ~]#echo 123456 | passwd --stdin wang Changing password for user wang. passwd: all authentication tokens updated successfully. [root@centos8 ~]#getent shadow wang wang:$6$4f78ko7hJ4fcMvIH$lpbOkFfziDBLT.8XBCi8c/N7wysDAejN5H9Fgxkt99HRDLTEosO43CK Yi2XSSVHxAK568Olj3C5bwfNExlves/:18348:0:99999:7::: [root@centos8 ~]#passwd -e wang Expiring password for user wang. passwd: Success [root@centos8 ~]#getent shadow wang wang:$6$4f78ko7hJ4fcMvIH$lpbOkFfziDBLT.8XBCi8c/N7wysDAejN5H9Fgxkt99HRDLTEosO43CK Yi2XSSVHxAK568Olj3C5bwfNExlves/:0:0:99999:7::: [root@centos8 ~]#su - mage Last login: Fri Mar 27 09:55:27 CST 2020 on pts/0 [mage@centos8 ~]$su - wang Password: You are required to change your password immediately (administrator enforced) Current password: New password: BAD PASSWORD: The password is shorter than 8 characters New password: Retype new password: Last login: Fri Mar 27 10:01:20 CST 2020 on pts/0 Last failed login: Fri Mar 27 10:02:37 CST 2020 on pts/0 There was 1 failed login attempt since the last successful login. [wang@centos8 ~]$exit logout [mage@centos8 ~]$exit logout [root@centos8 ~]#getent shadow wang wang:$6$TX0iLjF52ByHh1zH$g.WI4LNfauuwgnxpRhd7ePqFKHZ85YU3r6Lh2S0PWRXWGjGlDVtomLW qpdiWrT.vwqD/Wzok.kzQhUHc8UCs91:18348:0:99999:7:::
5.3.1修改用户密码策略
-
chage 可以修改用户密码策略
-
格式:
chage [OPTION]... LOGIN
-
常见选项:
-d LAST_DAY #更改密码的时间 -m --mindays MIN_DAYS -M --maxdays MAX_DAYS -W --warndays WARN_DAYS -I --inactive INACTIVE #密码过期后的宽限期 -E --expiredate EXPIRE_DATE #用户的有效期 -l 显示密码策略
-
范例:
chage -d 0 tom 下一次登录强制重设密码 chage -m 0 –M 42 –W 14 –I 7 tom chage -E 2018-09-10 tom
-
范例:
[root@centos8 ~]#chage -m 3 -M 42 -W 14 -I 7 -E 2020-10-10 wang [root@centos8 ~]#chage -l wang Last password change : Dec 18, 2019 Password expires : Jan 29, 2020 Password inactive : Feb 05, 2020 Account expires : Oct 10, 2020 Minimum number of days between password change : 3 Maximum number of days between password change : 42 Number of days of warning before password expires : 14 [root@centos8 ~]#getent shadow wang wang:$6$82L7A37XJgzKTegH$lFzqrMHmFwW740U32bvWHUuakPDKOiULE/CxcyDzSe1qi1X2ALulDw1 WYrhd2wE00.lWO0im5//7biyV.juk5.:18248:3:42:14:7:18545: #下一次登录强制重设密码 [root@centos8 ~]#chage -d 0 wang [root@centos8 ~]#getent shadow wang wang:$6$82L7A37XJgzKTegH$lFzqrMHmFwW740U32bvWHUuakPDKOiULE/CxcyDzSe1qi1X2ALulDw1 WYrhd2wE00.lWO0im5//7biyV.juk5.:0:3:42:14:7:18545: [root@centos8 ~]#chage -l wang Last password change : password must be changed Password expires : password must be changed Password inactive : password must be changed Account expires : Oct 10, 2020 Minimum number of days between password change : 3 Maximum number of days between password change : 42 Number of days of warning before password expires : 14 [root@centos8 ~]#getent shadow wang wang:$6$82L7A37XJgzKTegH$lFzqrMHmFwW740U32bvWHUuakPDKOiULE/CxcyDzSe1qi1X2ALulDw1 WYrhd2wE00.lWO0im5//7biyV.juk5.:0:3:42:14:7:18545:
5.4用户属性修改usermod:
-
介绍:命令可以修改用户属性
-
格式:
usermod [OPTION] login
-
常见选项:
-u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使 用-a选项 -s SHELL:新的默认SHELL -c 'COMMENT':新的注释信息 -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项 -l login_name: 新的名字 -L: lock指定用户,在/etc/shadow 密码栏的增加 ! -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 -e YYYY-MM-DD: 指明用户账号过期日期 -f INACTIVE: 设定非活动期限,即宽限期
-
范例:
usermod -G 组名 用户名
5.5切换用户或以其他用户身份执行命令su:
-
介绍:即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令
-
格式:
su [options...] [-] [user [args...]]
-
常见选项:
-f 或 –fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh -m -p 或 –preserve-environment 执行 su 时不改变环境变数 -c command 或 –command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者 -s shell 或 –shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell –help 显示说明文件 –version 显示版本资讯 – -l 或 –login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root USER 欲变更的使用者帐号 ARG 传入新的 shell 参数 -l --login su -l UserName 相当于 su - UserName -c, --command <command> pass a single command to the shell with -c
-
切换用户的方式:
- su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完
全切换 - su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
- su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完
-
说明:root su至其他用户无须密码;非root用户切换时需要密码
-
注意:su 切换新用户后,使用 exit 退回至旧的用户,而不要再用 su 切换至旧用户,否则会生成很多的
bash子进程,环境可能会混乱。 -
换个身份执行命令:
su [-] UserName -c 'COMMAND'
范例:
[root@centos8 ~]#su - wang -c 'touch wang.txt' [root@centos8 ~]#ll ~wang/ total 0 -rw-rw-r-- 1 wang wang 0 Mar 27 09:31 wang1.txt -rw-rw-r-- 1 wang wang 0 Mar 27 09:32 wang2.txt
-
范例:可以在root权限下修改任何用户的信息
[root@centos8 ~]#getent passwd mage “查看mage用户信息” mage:x:1001:1001::/home/mage:/bin/bash [root@centos8 ~]#usermod -s /bin/false mage “更改mage用户的shell信息” [root@centos8 ~]#getent passwd mage mage:x:1001:1001::/home/mage:/bin/false [root@centos8 ~]#su - mage “切换到马哥用户” Last login: Fri Mar 27 09:18:57 CST 2020 on pts/0 [root@centos8 ~]#whoami root
-
范例:修改用户的shell命令
[root@centos8 ~]#su -s /bin/false wang [root@centos8 ~]#whoami root
-
范例:换个身份执行命令
[wang@centos8 ~]$su - root -c "getent shadow"
5.6删除用户userdel
-
介绍:可删除Linux 用户
-
格式:
userdel [OPTION]... Login
-
常见选项:
-f, --force 强制 -r, --remove 删除用户家目录和邮箱
5.7用户相关的其它命令
-
chfn 指定个人信息
-
chsh 指定shell,相当于usermod -s
-
finger 可看用户个人信息
-
范例:
[root@centos7 ~]#chfn wang Changing finger information for wang. Name [wang]: wangxiaochun Office []:it Office Phone []: 10000 Home Phone []: 11111 Finger information changed. [root@centos7 ~]#finger wang Login: wang Name: wangxiaochun Directory: /home/wang Shell: /bin/bash Office: it, x1-0000 Home Phone: x1-1111 Never logged in. No mail. No Plan. [root@centos7 ~]#getent passwd wang wang:x:1000:1000:wangxiaochun,it,10000,11111:/home/wang:/bin/bash [root@centos7 ~]#chsh -s /bin/csh wang Changing shell for wang. Shell changed. [root@centos7 ~]#getent passwd wang wang:x:1000:1000:wangsicong,wanda,10000,11111:/home/wang:/bin/csh [root@centos7 ~]#usermod -s /bin/bash wang [root@centos7 ~]#getent passwd wang wang:x:1000:1000:wangsicong,wanda,10000,11111:/home/wang:/bin/bash
-
范例: 修改用户使用不可登录的shell类型
[root@centos8 ~]#getent passwd wang wang:x:1000:1000:wangxiaochun,IT,110,119,:/home/wang:/bin/bash [root@centos8 ~]#chsh -s /sbin/nologin wang Changing shell for wang. chsh: Warning: "/sbin/nologin" is not listed in /etc/shells. Shell changed. [root@centos8 ~]#su - wang This account is currently not available. [root@centos8 ~]#chsh -s /bin/false wang Changing shell for wang. chsh: Warning: "/bin/false" is not listed in /etc/shells. Shell changed. [root@centos8 ~]#su - wang [root@centos8 ~]#id uid=0(root) gid=0(root) groups=0(root) [root@centos8 ~]#chsh -s /bin/bash wang Changing shell for wang. Shell changed. [root@centos8 ~]#su - wang [wang@centos8 ~]$
6.组管理命令
6.1创建组groupadd:
-
介绍:实现创建组
-
格式:
groupadd [OPTION]... group_name
-
常见选项:
-g GID 指明GID号;[GID_MIN, GID_MAX] -r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
-
范例:
groupadd -g 48 -r apache "创建系统组 GID号48 创建组名apache"
6.2更改组密码gpasswd
-
介绍:gpasswd命令,可以更改组密码,也可以修改附加组的成员关系
-
格式:
gpasswd [OPTION] GROUP
-
常见选项:
-a user 将user添加至指定组中 -d user 从指定附加组中移除用户user -A user1,user2,... 设置有管理权限的用户列表
-
范例:
#增加组成员 [root@centos8 ~]#groupadd admins “创建组名” [root@centos8 ~]#id wang “查看用户” uid=1000(wang) gid=1000(wang) groups=1000(wang) [root@centos8 ~]#gpasswd -a wang admins “将wang添加至指定组admins中” Adding user wang to group admins [root@centos8 ~]#id wang “查看用户” uid=1000(wang) gid=1000(wang) groups=1000(wang),1002(admins) [root@centos8 ~]#groups wang “查看wang用户的组” wang : wang admins [root@centos8 ~]#getent group admins “查看组属性” admins:x:1002:wang #删除组成员 [root@centos8 ~]#gpasswd -d wang admins “从admins组移除用户wang” Removing user wang from group admins [root@centos8 ~]#groups wang “查看wang用户的组” wang : wang [root@centos8 ~]#id wang uid=1000(wang) gid=1000(wang) groups=1000(wang) [root@centos8 ~]#getent group admins “查看组属性” admins:x:1002:
6.3组属性修改:
-
介绍:组属性修改
-
格式
groupmod [OPTION]… group
-
常见选项:
-n group_name: 新名字 -g GID: 新的GID
6.4组删除groupdel
-
介绍:组删除
-
格式:
groupdel GROUP
6.5更改和查看组成员
-
介绍:可以管理附加组的成员关系
-
格式:
groupmems [options] [action]
-
常见选项:
-
options
-g, --group groupname 更改为指定组 (只有root可以做)
-
Actions:
-a, --add username #指定用户加入组 -d, --delete username #从组中删除用户 -p, --purge #从组中清除所有成员 -l, --list #显示组成员列表
-
-
范例:
♦ groupmems -g 组名 -d 用户名 从组里删除用户 ♦ groupmems -g 组名 -l 查看组成员
6.6查看用户组关系groups:
-
介绍:查看用户组关系
-
格式:
groups [OPTION].[USERNAME]...
-
范例:
[root@centos8 ~]#groupmems -l -g admins [root@centos8 ~]#groupmems -a mage -g admins [root@centos8 ~]#id mage uid=1001(mage) gid=1001(mage) groups=1001(mage),1002(admins) [root@centos8 ~]#groupmems -l -g admins mage [root@centos8 ~]#groupmems -a wang -g admins [root@centos8 ~]#groupmems -l -g admins mage wang [root@centos8 ~]#groupmems -d wang -g admins [root@centos8 ~]#groups wang wang : wang admins [root@centos8 ~]#groupmems -l -g admins mage [root@centos8 ~]#groupmems -p -g admins [root@centos8 ~]#groupmems -l -g admins
6.7临时切换主组newgrp:
-
介绍:newgrp 命令可以临时切换主组, 如果用户本不属于此组,则需要组密码
-
格式:
newgrp [-] [group]
-
范例:如果使用 - 选项,可以初始化用户环境
[root@centos8 ~]#gpasswd root “更改root用户密码” Changing the password for group root New Password: Re-enter new password: [root@centos8 ~]#getent gshadow root “显示root用户的密码信息” root:$6$UKK78gqOvw/Ug$exBe4gHUYzSj/Gip0YkXII8RkPca7QGVto6Ws5SFd6lhxxklCsfKqiv1qy EQZOfGK2WbR7/I.A2.7j1SUGuB91:: [wang@centos8 ~]$newgrp root "普通用户临时切换到系统用户root" Password: [wang@centos8 ~]$id "查看用户信息" uid=1000(wang) gid=0(root) groups=0(root),1000(wang) [wang@centos8 ~]$getent passwd wang "显示wang用户的密码信息" wang:x:1000:1000:wangxiaochun,IT,110,119,:/home/wang:/bin/bash [wang@centos8 ~]$touch wang1.txt "建立一个wang1文本文件" [wang@centos8 ~]$ll "查看文件信息" total 0 -rw-r--r-- 1 wang root 0 Dec 18 09:38 wang1.txt [wang@centos8 ~]$exit exit [wang@centos8 ~]$id uid=1000(wang) gid=1000(wang) groups=1000(wang) [wang@centos8 ~]$touch wang2.txt [wang@centos8 ~]$ll total 0 -rw-r--r-- 1 wang root 0 Dec 18 09:38 wang1.txt -rw-rw-r-- 1 wang wang 0 Dec 18 09:38 wang2.txt
7.练习:
-
创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为
“Gentoo Distribution”[root@centos8 ~]useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
-
创建下面的用户、组和组成员关系
♦ 名字为webs 的组
♦ 用户nginx 使用webs 作为附属组
♦ 用户varnish,也使用webs 作为附属组
♦ 用户mysql,不可交互登录系统,且不是webs 的成员,nginx,varnish,
mysql密码都是fang[root@centos8 ~]groupadd webs [root@centos8 ~]useradd -G webs nginx [root@centos8 ~]useradd -G webs varnish [root@centos8 ~]useradd -r mysql [root@centos8 ~]echo fang | passwd --stdin nginx [root@centos8 ~]echo fang | passwd --stdin varnish [root@centos8 ~]echo fang | passwd --stdin mysql