第十章 组的创建
1.组的基本管理
[root@rlb~]# head -2 /etc/group
root❌0:
bin❌1:bin,daemon
// /etc/group由':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组的名称
2.组的密码(存在/etc/gshadow)
3.组GID信息
4.仅显示附加成员,基本成员不显示
[root@rlb~]# head -2 /etc/gshadow
root:::
bin:::bin,daemon
// /etc/gshadow由 ':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组名称
2.组密码 !:没有密码
3.组管理员
4.仅显示附加成员,基本成员不显示
组的分类
1.基本组
2.附加组
2.shell的分类
1.登录式shell
2.非登录式shell
3.交互式shell
4.非交互式shell
3.环境变量加载顺序
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)sudo
-l:查看sudo的权限
usermod oldboy1 -G wheel
2)sudo配置免密码
#1.普通用户执行sudo不需要输入密码配置
[root@rlb ~]# visudo
rlb ALL=(ALL) /bin/rm, /bin/cp #默认
rlb ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #修改后
#2.默认普通用户无权删除
[rlb@rlb ~]$ rm -f /root/002
rm: cannot remove `/root/002': Permission denied
#3.验证sudo免密码执行权限
[rlb@rlb ~]$ sudo rm -f /root/002
3)sudo配置组
//如果每增加一个用户需配置一行sudo,这样设置非常麻烦。所以可以进行如下设置
%rlb ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #新增组
//group1这个组的所有用户都拥有sudo的权力。接下来只需要将用户加入该组即可。
//创建用户加入该组
[root@rlb ~]# groupadd rlb
[root@rlb~]# useradd rlb1 -g rlb
[root@rlb ~]# useradd rlb2 -g rlb
//root用户建立目录
[root@rlb ~]# mkdir /root/rlb_sudo
//切换用户并删除测试
[root@rlb ~]# su - rlb1
[rlb1@rlb ~]$ rm -rf /root/rlb_sudo
rm: cannot remove `/root/rlb_sudo': Permission denied
//使用sudo
[rlb1@rlb ~]$ sudo rm -rf /root/rlb_sudo
6.sudo企业案例
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 = rlb1,rlb2,rlb
Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD:SU
人的一生或多或少都在为一些事情努力着,有目标的人生是精彩的!朋友请不要在原地画圈圈,该行动了!