1 用户及用户组存在的意义
1
)
用户存在的意义 :系统资源是有限的,
如何合理分配系统资源
? 在这个问题解决时必须要有连个资源配合
1.
身份
account
2.
授权 author
3.
认证 auth
3A
机制
,
3A
机制组成系统中最底层的安全架构
2
)
用户组存在意义 :用户组是一个逻辑容器 ,对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感
id 人类对字符串敏感 名称
id
<------->
名称 必须要记录到文件当中用户才能存在
用户就是
/
etc
/
passwd
文件中的一行字符
用户组存在的方式就是
/
etc
/
group
文件中的一行字符
3.用户切换
1
)
用户查看
*
whomai ##
查看当前用户
*
id ##
查看用户
id
信息
![](https://i-blog.csdnimg.cn/blog_migrate/91fda207a301333aba9042f097550a20.png)
-
u ##
查看用户的用户
id
-
g ##
查看用户主组
id
-
G ##
查看用户所有的组的
id
-
n ##
显示名称
用户
id
范围
:
0
-
65535
0
:
Linux超级用户
ID
1
-
999
: Liunx系统自用
ID
1000
-
65535
: 用户级ID
上
ID
设定规则都被记录在
/
etc
/
login.defs
2
)
用户切换
su
-
username
-
#
切换用户环境
username ##
如果
root
---->
commonuser
不需要后者密码
![](https://i-blog.csdnimg.cn/blog_migrate/24a567015b74fe6a76812f338660a426.png)
##commonuser
---->
root
需要密码
##commonuser
---->
commonuser
需要密码
![](https://i-blog.csdnimg.cn/blog_migrate/b38abc40af870bf1037dbef0031c50df.png)
#
注意
:
在做用户切换时当使用完毕用户身份及时退出
#
不要在一个
shell
中反复执行
su
命令
#
在一个
shell
中反复执行
su
命令会导致环境错乱
4.用户涉及到的系统配置文件
/etc/passwd ##用户身份信息文件
#
用户名称
:
用户密码
:
用户
id
:
用户主组
id
:
用户说明
:
用户家目录
:
用户默认
shell
/
etc
/
group ##组身份信息文件
#
组名称
:
组密码
:
组
id
:
组的附加成员
![](https://i-blog.csdnimg.cn/blog_migrate/c61b9d1f6c154a1b3d440ffc02a47edc.png)
/
etc
/
skel
/.*
##用户环境配置文件模板
![](https://i-blog.csdnimg.cn/blog_migrate/f6c1fdec03513c01c79dcd20361efa02.png)
/
etc
/
shadow ##用户认证信息文件
/
home
/
username ##用户家目录
/
var
/
spool
/
mail
/
username ##
用户邮箱文件
5.用户和用户组建立及删除
监控用户建立的命令
![](https://i-blog.csdnimg.cn/blog_migrate/f08b826f240cb4589deb8cfc74d471ca.png)
echo:显示一个分隔符
watch
-
n
1
"tail
-
n
4
/
etc
/
passwd
/
etc
/
group;echo
=======
;ls
-
l
/
home"
![](https://i-blog.csdnimg.cn/blog_migrate/eeadc666743dc425c0a2cf38957d4939.png)
useradd username ##
用户建立
![](https://i-blog.csdnimg.cn/blog_migrate/aaa4e42eb6f145f8fb2cefcb3cccb426.png)
-
u id username ##uid
2
**
16
=
0
-
65535
##
0
表示超级用户
##
1
-
200
系统预留id
##
201
-
999
系统用户
##
1000
-
60000
用户级用户
##
/
etc
/
login.defs 记录用户建立的默认规则
-
g id username ##
主组
id
-
G id username ##
附加组
id
-
d dir username ##
指定用户家目录
-
M username ##
建立用户时不建立家目录
-
c word username ##
指定用户说明
-
s shell username ##
指定用
shell
userdel
username用户删除
userdel
-r
username 删除用户身份以及用户在
系统中的资源(家目录)
groupadd groupname ##
组建立
-
g id groupname ##
指定组名称
![](https://i-blog.csdnimg.cn/blog_migrate/a0cac698fe980df6681436a2c81e464f.png)
groupdel groupname ##
组删除
6.用户和用户组的信息管理
usermod
-
l #
更改用户名称
![](https://i-blog.csdnimg.cn/blog_migrate/7dd2e32417b7c9b38616f9d0b49cc4df.png)
-
u #
更改用户
id
每次试验删掉建立的用户
-g 更改主组id(组必须存在)
-
G #
更改用户附加组身份
-
aG #
添加用户附加组身份
-
c #
更改用户说明
-
d #
更改家目录指向
-
md #
更改家目录指向同时更改家目录名称
-
s #
更改默认
shell
-
L #
冻结账号
-
U #
解锁
groupmod
-
g ##
更改用户组
id
7.用户认证信息管理
#
#
/
etc
/
shadow
文件内容说明
#
#
用户名称
:
用户密码的加密字符
:
用户密码最后一次被修改时间
:
密码最短有效期
:
密码最长有效期
:
密码过期前警告期
:
账号非活跃期
:
账号到期时间
:
用户自定义
(
未使用
)
#
#
1.
用户名称
passwd
-
S lee ##
查看密码状态
#
2.
用户加密字符
#
更改密码
)
`
passwd lee ##
只有
root
可以执行
“echo
123
|
passwd
--
stdin lee”
passwd
##
普通用户改密码
Changing password
for
user lee.
Current password
:
#
输入原始密码
New password
:
##
输入新密码
(
8
位以上无序数字
+
无序字母组合
)
Retype new password
:
##
重复输入
passwd
:
all authentication tokens updated successfully.
#
冻结认证
)
passwd
-
l lee ##
冻结账号认证
passwd
-
u lee ##
解锁账号认证
#
密码删除
)
passwd
-
d lee
#
密码使用天数
*
从
1970
-
1
-
1
算其到今天的时间
passwd
-
e
lee
##
修改默认使用时间为
0
chage
-
d
0
lee
##
账号必须改密码才能登陆系统
#
密码最短有效期
passwd
-
n
1
lee
##lee
在
1
天内不能改密码
chage
-
m
1
lee
#
密码最长有效期
passwd
-
x
40
lee ##40
天内
lee
用户必须更新密码否则会被冻结
chage
-
M
30
lee
#
密码过期警告
passwd
-
w
2
lee
##
账号过期前警告时间
chage
-
W
1
lee
#
认证非活跃天数
passwd
-
i 2
lee
##
账号认证最大时间超过后还能用多久
chage
-
I 1
lee
#
账号认证到期时间
chage
-
E "
2020
-
05
-
11
" ##
到
2020
-
5
-
11
这天账号会被冻结
#
未启用功能
8.用户权力下放
#
#
在系统中普通用户时无法执行系统管理命令的
#
如果需要普通用户执行系统管理动作那么需要
#root
用户来进行授权
普通用户授权方式
“sudo”
作用
:
可以使普通用户使用指定的用户身份呢运行命令
授权方法
:
visudo ##
此命令作用是编辑
/
etc
/
sudoers
并提供语法检测
在文件的
100
行左右
##
代码规范性
username hostname
=
(newusername) [NOPASSWD
:
]
/
command,
/
command1
#lee
用户 在
linux.wesots.com
主机
=
(
用超级用户身份
)
执行
useradd
命令
lee linux.westos.com
=
(root)
/
usr
/
sbin
/
useradd
#westos
用户 在
linux.wesots.com
使用超户
免密 执行
useradd
和
userdel
westos linux.wesots.com
=
(root) NOPASSWD
: /
usr
/
sbin
/
useradd,
/
usr
/
sbin
/
userdel
测试
:
su
-
lee
sudo useradd westostest ##
在
lee
第一次使用
sudo
命令时需要输入
lee
密码
exit #
退出
lee
su
-
westos
sudo userdel
-
r westostest ##westos
可以免密执行
userdel
命令