day12 Linux用户权限提升

day12 Linux用户权限提升

1.什么是环境变量?

环境变量就是用户登录时设置的一些准备环境

2.环境变量位置

先查看普通用户的家目录的隐藏文件ll -a,环境变量是隐藏文件(隐藏文件就是以.开头的文件)

个人配置文件:只对个人用户生效

~/.bash_profile

~/.bashrc

全局配置文件对所有的用户都生效(root用户和普通用户)

/etc/profile
/etc/profile.d/*.sh
/etc/bashrc

环境变量生效顺序

而登录式shell和非登录式shell的运行形式如下:
  • 登录式shell:
    • 正常通过某终端登录的shell。
    • su - username。
    • su -l username。
  • 非登录式shell:
    • su username。
    • 图形终端下打开的命令窗口。
    • 自动执行的shell脚本。

登录式shell配置文件执行顺序:

1./etc/profile
2./etc/profile.d/*.sh
3.~/.bash_profile
4.~/.bashrc
4./etc/bashrc

非登录式shell配置文件执行顺序:

1.~/.bashrc
2./etc/bashrc
3./etc/profile.d/*.sh

让普通用户可以以root身份执行rm和yum命令

第一步:使用root在/opt/下创建文件

touch /opt/root.txt

第二步:编辑sudoers配置文件

vim /etc/sudoers

在最后一行添加,不要修改原来的内容

Linux ALL=(ALL)/usr/bin/rm,/usr/bin/yum

第三步:强制保存

:wq!

第四步 切换到普通用户测试

su -Linux

sudo -l

rm -rf /opt/root.txt

sudo rm -rf /opt/root.txt

yum install tree -y

sudo install tree -y

报错总结:

1.sudo配置的用户和你切换的用户不一样

Linux ALL=(ALL) /usr/bin/rm,/usr/bin/yum

su - oldboy

2.特权命令的路径打错了

比如:Linux ALL=(ALL) /usr/bin/rm,/user/bin/yum 其中usr写错了

报错总结:

1.命令路径没有写全,要使用绝对路径

使用技巧:

1.以后只要涉及到修改配置文件,修改之前先备份一份

多用户多角色多命令配置

需求:

用户 角色 可以执行的命令
ops1
ops2
运维 网络命令:ifconfig/ping
软件命令:rpm/yum
服务命令:service/systemctl
进程命令:kill/killall
dev1
dev2
开发 网络命令:ifconfig/ping
服务命令:service/systemctl

第1步 创建用户并配置密码

useradd ops1

useradd ops2

useradd dev1

useradd dev2

echo "123" |passwd --stdin ops1

echo "123"|passwd --stdin ops2

echo "123"|passwd --stdin dev1

echo "123"|passwd --stdin dev2

第2步 使用visudo命令来编辑sudo的配置文件

1.定义用户组

user_Alias OPS = ops1,ops2

user_Alias DEV = dev1,dev2

2.定义命令组

Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
Cmnd_Alias PROCESSES = /bin/kill, /usr/bin/kill, /usr/bin/killall

3.将用户组合命令组进行关联

OPS ALL=(ALL) NETWORKING,SOFTWARE,SERVICES,PROCESSES
DEV ALL=(ALL) SOFTWARE,SERVICES

4.切换用户并测试

posted @ 2021-10-09 18:43  zhaocheng690  阅读(222)  评论(0编辑  收藏  举报