0%

组管理,环境变量,用户提权

组管理,环境变量,用户提权

1.组的基本管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@zls ~]# head -2 /etc/group
root:x:0:
bin:x:1:bin,daemon
// /etc/group由':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组的名称
2.组的密码(存在/etc/gshadow)
3.组GID信息
4.仅显示附加成员,基本成员不显示

[root@zls ~]# head -2 /etc/gshadow
root:::
bin:::bin,daemon

// /etc/gshadow由 ':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组名称
2.组密码 !:没有密码
3.组管理员
4.仅显示附加成员,基本成员不显示

组的分类
1.基本组
2.附加组

2.shell的分类

1
2
3
4
1.登录式shell
2.非登录式shell
3.交互式shell
4.非交互式shell

3.环境变量加载顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1)登录式shell
/etc/profile age=10
/etc/profile.d/*.sh age=11
~/.bash_profile age=12
~/.bashrc age=13
/etc/bashrc age=14

2)非登录式shell
.bashrc
/etc/bashrc
/etc/profile.d/*.sh
如果有需求,所有用户都需要加载的环境变量,和登录式shell 非登录式shell都支持,把环境变量放在:
/etc/bashrc
/etc/profile.d/*.sh

总结:

​ 1.登录式shell,会加载5个地方的环境变量
​ 2.非登录式shell,会加载3个地方的环境变量
​ 2.如果环境变量中配置冲突,最后一个加载的会把之前的冲突的配置覆盖

4.切换用户

​ su -

5.用户提权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
1)sudo
-l:查看sudo的权限
usermod oldboy1 -G wheel
2)sudo配置免密码
#1.普通用户执行sudo不需要输入密码配置
[root@zls ~]# visudo
zls ALL=(ALL) /bin/rm, /bin/cp #默认
zls ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #修改后

#2.默认普通用户无权删除
[zls@zls ~]$ rm -f /root/002
rm: cannot remove `/root/002': Permission denied

#3.验证sudo免密码执行权限
[zls@zls ~]$ sudo rm -f /root/002

3)sudo配置组
//如果每增加一个用户需配置一行sudo,这样设置非常麻烦。所以可以进行如下设置

%zls ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #新增组
//group1这个组的所有用户都拥有sudo的权力。接下来只需要将用户加入该组即可。

//创建用户加入该组
[root@zls ~]# groupadd zls
[root@zls ~]# useradd zls1 -g zls
[root@zls ~]# useradd zls2 -g zls

//root用户建立目录
[root@zls ~]# mkdir /root/zls_sudo

//切换用户并删除测试
[root@zls ~]# su - zls1
[zls1@zls ~]$ rm -rf /root/zls_sudo
rm: cannot remove `/root/zls_sudo': Permission denied

//使用sudo
[zls1@zls ~]$ sudo rm -rf /root/zls_sudo

6.sudo企业案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1)优化ssh禁止root用户登录
[root@oldboyedu ~]# vim /etc/ssh/sshd_config
修改禁止root用户登录
原来:
#PermitRootLogin yes
修改成:
PermitRootLogin no
修改ssh的端口
原来:
#Port 22
修改成:
Port 52013

2)重启ssh服务
[root@oldboyedu ~]# systemctl restart sshd

3)关闭防火墙
[root@oldboyedu ~]# systemctl stop firewalld

4)visudo
User_Alias USER_SU = zls1,zls2,zls
Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD:SU