RHCSA教程 第六章 管理本地用户和组

1.USER

基本概念:

0 超级用户 
1000以下系统用户
1000以上普通用户 
组与用户ID对应(自然创建)

useradd

语法:useradd 选项 选项参数  用户名

option:
-u:指定用户uid
-g:指定主要群组
-G:指定附加群组
-s:指定shell环境 /bin/bash  /sbin/nolgoin /bin/false
-c:指定描述
-d:指定用户家目录(通常不更改,且如设置需要是未存在的目录)
-a:额外指定附加组

例:
useradd user1   创建user1
passwd user1    为user1设置密码
id user1        查询用户信息

用户配置文件

/etc/passwd
[kiosk@foundation0 ~]$ vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:描述:家目录:shell环境

练习:

#练习1:  
[root@servera /]# useradd -u 2000 user1
[root@servera /]# id user1
​
[root@servera /]# groupadd group1
[root@servera /]# tail -1 /etc/group
[root@servera /]# useradd -g group1 user2
[root@servera /]# tail -1 /etc/passwd
​
[root@servera /]# useradd -G wheel user3
[root@servera /]# useradd -c student -d /user4dir -s /sbin/nologin user4
[root@servera /]# tail -1 /etc/passwd
​
[root@servera /]# su - user1
[user1@servera /]# ctrl+d
[root@servera /]# su - user1
[root@servera /]# su - user2 需要密码
[root@servera /]# ctrl+d 退出用户
​
[root@servera /]# passwd user2 超级用户设置密码
123456
123456
[root@servera /]# su - user1
[root@servera /]# su - user2 输入密码
[root@servera /]# useradd -G root,tom user5   #将user5同时加入到组root和tom组中
​
#练习2:tom10,uid 3000 ,gid devops,shell环境为/bin/false,描述 student,家目录/tom10dir,附加组 root。
答案:
useradd -u 3000 -g devops -s /bin/false -c student -d /tom10dir -G root tom10

 usermod

语法:usermod 选项 选项参数 用户名
​
option:
-u:指定用户uid
-g:指定主要群组
-G:指定附加群组
-s:指定shell环境 /bin/bash /sbin/nolgoin /bin/false
-c:指定描述
-d:指定用户家目录(通常不更改,且如设置需要是未存在的目录)
-a:额外指定附加组

 

 

练习:

[root@servera /]# usermod -u 3000 user1
[root@servera /]# usermod -g group1 user1
[root@servera /]# usermod -G root user1
[root@servera /]# grep user1 /etc/group
[root@servera /]# usermod -G root,wheel user1
[root@servera /]# grep user1 /etc/group
[root@servera /]# groupadd group2
[root@servera /]# usermod -a -G group2 user1
[root@servera /]# grep user1 /etc/group
[root@servera /]# usermod -s /bin/false user1   #shell环境为/bin/false的用户和系统无任何交互
[root@servera /]# su - user1
[root@servera /]# usermod -c heihei user1
​
​
#练习3:tom11的附加组,root。想额外添加一个附加组为devops。
答案:
[root@servera opt]# usermod -a -G root tom11
[root@servera opt]# usermod -G root,devops tom11

 

userdel

语法:userdel 选项 选项参数  用户名

option:
-r:删除用户同时删除邮箱和家目录

练习:

[root@servera /]# useradd user5
[root@servera /]# find / -user user5
[root@servera /]# userdel -r user5
[root@servera /]# find / -user user5

2.PASSWORD

passwd

语法:
passwd 用户名
例:
[root@servera /]# passwd user1

密码配置文件/etc/shadow

第一列: 用户名
第二列: 密码(有密码状态,无密码状态,!!帐号锁定,* 该帐号永久不能登陆系统)
第三列: 密码的最后一次修改时间(从1970年1月1日至今的天数)18834=今天
第四列: 密码的最小时间(和第三列比较,密码修改相隔时间,或理解为密码自最后一次修改后多少天内不能再重复修改)
第五列: 密码的最大时间(密码有效期) 99999表示永久不过期(和第3列比,相当于自最后一次修改多久后必须变更密码,否则过期)
第六列: 密码过期前警告时间(和第5列比,在过n天你的密码就过期了,需要重设密码。)
第七列: 密码过期后帐号(宽限时间,第五列密码的最大时间到期后,还可以使用系统的宽限时间,该期间中可以继续使用系统,但是再次登入系统时强制修改密码,否则无法进入)
第八列: 帐号有效期(账号失效后,无论密码是否过期都不能使用。)
第九列: 保留列

练习:

设置密码:
1.交互式
语法:passwd 用户名
[root@servera /]# passwd user1


2.非交互式
语法:echo xxx | passwd --stdin username 
[root@servera /]# echo 123456 | passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.

3.GROUP

groupadd、groupmod、groupdel

1.groupadd
语法:
groupadd 选项 选项参数 组名
-g:指定组ID
例:
[root@servera /]# groupadd group10
[root@servera /]# groupadd -g 3000 group11
​
2.groupmod
语法:
groupmod 选项 选项参数 组名
-n:更改组名 groupmod -n 新组名 旧组名
例:
[root@servera /]# groupmod -n group100 group10
[root@servera /]#
​
3.删除组信息;
groupdel groupname
[root@foundation0 ~]# groupdel haha1
[root@foundation0 ~]# grep haha1 /etc/group
​
4.加入群组与清除群组成员
gpasswd
-a:添加用户到群组
-d:从组中清除用户
​
[root@foundation0 ~]# useradd -G upup user5 添加用户时指定附加组(次要群组)
[root@foundation0 ~]# usermod -G upup user1 修改用户时指定附加组(次要群组)
[root@foundation0 ~]# gpasswd -a user2 root
Adding user user2 to group root
[root@foundation0 ~]# gpasswd -d user2 root
Removing user user2 from group root

用户组配置文件/etc/group

[root@localhost ~]# vim /etc/group
upup:x:2006:
第一段: 组名
第二段: 组密码占位符号
第三段: gid
第四段: 用户列表

su

su  -
su  - root
su  - user1     su - user2  需要密码

模拟练习

groupadd sysmgrs
useradd -G   sysmgrs natasha
useradd -G   sysmgrs harry
useradd -s /bin/false sarah
echo flectrag | passwd --stdin natahsa
echo flectrag | passwd --stdin harry
echo flectrag | passwd --stdin sarah

验证方式:通过切换用户,id username,vim /etc/passwd

 

修改密码重设默认天数:
[root@servera ~]# useradd user10
[root@servera ~]# chage -l user10
Maximum number of days between password change : 99999
[root@servera ~]# vim /etc/login.defs
PASS_MAX_DAYS   20
[root@servera ~]# useradd user20
[root@servera ~]# chage -l user20
Maximum number of days between password change : 20

 

4.课内重点总结

useradd  usermod userdel  ,id 用户名,cat /etc/passwd,
groupadd groupmod  groupdel 
gpasswd -a   , -d  

passwd 用户名  
echo xxx | passwd --stdin username 

用户 /etc/passwd, 用户组,/etc/group 密码 /etc/shadow
创建用户时的一些默认设置,/etc/default/useradd 
/etc/login.defs 
THE END