[试验]关于特殊权限位的试验,未排版.
来源:互联网 发布:广告平面设计软件下载 编辑:程序博客网 时间:2024/06/05 06:03
脚本文件执行需要读权限与执行权限试,二进制文件只需要执行权限即可,试验过程如下:
脚本文件 的测试
1.创建可执行脚本,权限0001,属主属组root.内容打印当前的ID.
[root@CentOS7.0jinbusi]#cat ./testdetest
#!/bin/sh
#
/bin/id -un
[root@CentOS7.0jinbusi]#chmod 0001 testdetest
[root@CentOS7.0jinbusi]#ll testdetest |grep testdetest
---------x. 1 root root 24 5月 30 10:13 testdetest
2. 运行该脚本,使用jinbusi帐户.
[jinbusi@CentOS7.0~]$id –un
jinbusi
[jinbusi@CentOS7.0~]$./testdetest
/bin/sh: ./testdetest:权限不够
3. 权限更改为0005,执行,使用jinbusi帐户
[root@CentOS7.0jinbusi]#ll testdetest |grep testdetest
-------r-x. 1 root root 24 5月 30 10:13 testdetest
[jinbusi@CentOS7.0~]$./testdetest
jinbusi
二进制文件测试
1.复制id命令,到jinbusi家目录改名testid,并设置权限0001,使用jinbusi帐户执行.
[root@CentOS7.0jinbusi]#chmod 0001 testid
[root@CentOS7.0jinbusi]#ll testid
---------x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
jinbusi
SUID权限需要用户本身便可执行程序.SUID有意义之有作用在二进制程序上.试验过程如下:
1.继续之前的环境使用testid 文件,文件权限更改为4100,使用jinbisi执行.
[root@CentOS7.0jinbusi]#chmod 4100 testid
[root@CentOS7.0jinbusi]#ll testid
---s------. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
-bash: ./testid: 权限不够
2. 更改权限使用4001权限,使用jinbusi帐户执行.
[root@CentOS7.0jinbusi]#ll testid
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
root
[jinbusi@CentOS7.0~]$
执行成功了使用jinbusi帐户运行但是id显示的root
这里更新一下:这里出现了id 与 id -un显示结果不一致的现象,但是出现了一条euid属性
[jinbusi@CentOS7.0~]$id -nu
jinbusi
[jinbusi@CentOS7.0~]$./testid -nu
root
[jinbusi@CentOS7.0~]$id
uid=1026(jinbusi) gid=1027(jinbusi)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$./testid
uid=1026(jinbusi) gid=1027(jinbusi) euid=0(root)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$
[root@CentOS7.0jinbusi]#./testid
uid=0(root) gid=0(root)组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@CentOS7.0jinbusi]#ll ./testid
---S-----x. 1 root root 41480 5月 30 10:31 ./testid
2. 更换脚本尝试一下,
[root@CentOS7.0jinbusi]#cat ./testdetest
#!/bin/sh
#
echo "这是使用/bin/id实现的输出"
/bin/id -un
echo -e "\n这是使用/home/jinbusi/testid的输出"
/home/jinbusi/testid -un
[root@CentOS7.0jinbusi]#ll testdetest testid /bin/id
-rwxr-xr-x. 1 root root 41480 11月 6 2016 /bin/id
-------r-x. 1 root root 146 5月 30 10:49 testdetest
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testdetest
这是使用/bin/id实现的输出
jinbusi
这是使用/home/jinbusi/testid的输出
root
[root@CentOS7.0jinbusi]#chmod u+s testdetest
[root@CentOS7.0jinbusi]#ll testdetest testid /bin/id
-rwxr-xr-x. 1 root root 41480 11月 6 2016 /bin/id
---S---r-x. 1 root root 146 5月 30 10:49 testdetest
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testdetest
这是使用/bin/id实现的输出
jinbusi
这是使用/home/jinbusi/testid的输出
root
3. 在脚本中之前试验中如果在脚本上使用SUID权限,作用并没有体现出来,在脚本中调用的命令依然按照原有的权限执行,那么以上结论如果正确那么,SUID权限的脚本中,调用的的程序无法操作本身权限外的文件,把手中自带的功能呢?
[root@CentOS7.0jinbusi]#cat textdetest
#!/bin/sh
#
echo "这是新追加的文本"> /home/jinbusi/text.txt
/bin/cat /home/jinbusi/text.txt
[root@CentOS7.0jinbusi]#
[root@CentOS7.0jinbusi]#ll text.txt textdetest
---S---r-x. 1 root root 101 5月 30 11:11 textdetest
-rwx------. 1 root root 24 5月 30 09:59 text.txt
[jinbusi@CentOS7.0~]$./textdetest
./textdetest:行3: /home/jinbusi/text.txt:权限不够
/bin/cat: /home/jinbusi/text.txt:权限不够
[root@CentOS7.0jinbusi]#chmod o+rw text.txt
[root@CentOS7.0jinbusi]#ll text.txt
-rwx---rw-. 1 root root 24 5月 30 09:59 text.txt
[root@CentOS7.0jinbusi]#
[jinbusi@CentOS7.0~]$./textdetest
这是新追加的文本
可见将SUID加在脚本上并无效果即使是bash自带的功能也无法使用SUID权限.
再次验证了一下
[root@CentOS7.0jinbusi]#cat dirtest
#!/bin/sh
#
cd /home/jinbusi/dir1
ls /home/jinbusi/dir1/
[root@CentOS7.0jinbusi]#
[root@CentOS7.0jinbusi]#ll dirtest
-rws---rwx. 1 root root 58 5月 30 11:36 dirtest
[root@CentOS7.0jinbusi]#
[jinbusi@CentOS7.0~]$./dirtest
./dirtest: 第 3行:cd: /home/jinbusi/dir1: 权限不够
ls: 无法打开目录/home/jinbusi/dir1/:权限不够
[jinbusi@CentOS7.0~]$
SUID可以传递么
[root@CentOS7.0jinbusi]#cp /usr/bin/bash ./sh
[root@CentOS7.0jinbusi]#ll sh
---S-----x. 1 root root 960392 5月 30 11:44 sh
[jinbusi@CentOS7.0~]$./sh
[jinbusi@CentOS7.0~]$pstree
├─sshd─┬─sshd───bash───su───bash───sh───pstree
[jinbusi@CentOS7.0~]$id
uid=1026(jinbusi) >>>>这里并不是root
[jinbusi@CentOS7.0~]$echo jinbusdelv >> /etc/passwd
sh: /etc/passwd: 权限不够
[root@CentOS7.0jinbusi]#chmod 4701 ./sh
[jinbusi@CentOS7.0~]$echo jinbusdelv >> /etc/passwd
sh: /etc/passwd: 权限不够
答:权限不可以传递.
SUID的优先权,如果执行者不是文件的属主,但是是文件的属组,那么带有的是什么权限:
1. 将jinbusi加入到root组,测试文件使用testid ,
[root@CentOS7.0jinbusi]#groupmems -g root -a jinbusi
[root@CentOS7.0jinbusi]#groups jinbusi
jinbusi : jinbusi root
[root@CentOS7.0jinbusi]#chmod u=sx,g=x,o=x testid
[root@CentOS7.0jinbusi]#ll testid
---s--x--x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid
uid=1026(jinbusi) gid=1027(jinbusi) euid=0(root)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$
结论,SUID只是在进城的附带权限中增加EUID一条属性.程序执行为进程依然还是按照老方法.,结论不一定正确,但是之前的现象,可以用此结论解释的通.而且EUID的优先级高于UID从id与idiun中可以看出
脚本文件 的测试
1.创建可执行脚本,权限0001,属主属组root.内容打印当前的ID.
[root@CentOS7.0jinbusi]#cat ./testdetest
#!/bin/sh
#
/bin/id -un
[root@CentOS7.0jinbusi]#chmod 0001 testdetest
[root@CentOS7.0jinbusi]#ll testdetest |grep testdetest
---------x. 1 root root 24 5月 30 10:13 testdetest
2. 运行该脚本,使用jinbusi帐户.
[jinbusi@CentOS7.0~]$id –un
jinbusi
[jinbusi@CentOS7.0~]$./testdetest
/bin/sh: ./testdetest:权限不够
3. 权限更改为0005,执行,使用jinbusi帐户
[root@CentOS7.0jinbusi]#ll testdetest |grep testdetest
-------r-x. 1 root root 24 5月 30 10:13 testdetest
[jinbusi@CentOS7.0~]$./testdetest
jinbusi
二进制文件测试
1.复制id命令,到jinbusi家目录改名testid,并设置权限0001,使用jinbusi帐户执行.
[root@CentOS7.0jinbusi]#chmod 0001 testid
[root@CentOS7.0jinbusi]#ll testid
---------x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
jinbusi
SUID权限需要用户本身便可执行程序.SUID有意义之有作用在二进制程序上.试验过程如下:
1.继续之前的环境使用testid 文件,文件权限更改为4100,使用jinbisi执行.
[root@CentOS7.0jinbusi]#chmod 4100 testid
[root@CentOS7.0jinbusi]#ll testid
---s------. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
-bash: ./testid: 权限不够
2. 更改权限使用4001权限,使用jinbusi帐户执行.
[root@CentOS7.0jinbusi]#ll testid
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid -un
root
[jinbusi@CentOS7.0~]$
执行成功了使用jinbusi帐户运行但是id显示的root
这里更新一下:这里出现了id 与 id -un显示结果不一致的现象,但是出现了一条euid属性
[jinbusi@CentOS7.0~]$id -nu
jinbusi
[jinbusi@CentOS7.0~]$./testid -nu
root
[jinbusi@CentOS7.0~]$id
uid=1026(jinbusi) gid=1027(jinbusi)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$./testid
uid=1026(jinbusi) gid=1027(jinbusi) euid=0(root)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$
[root@CentOS7.0jinbusi]#./testid
uid=0(root) gid=0(root)组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@CentOS7.0jinbusi]#ll ./testid
---S-----x. 1 root root 41480 5月 30 10:31 ./testid
2. 更换脚本尝试一下,
[root@CentOS7.0jinbusi]#cat ./testdetest
#!/bin/sh
#
echo "这是使用/bin/id实现的输出"
/bin/id -un
echo -e "\n这是使用/home/jinbusi/testid的输出"
/home/jinbusi/testid -un
[root@CentOS7.0jinbusi]#ll testdetest testid /bin/id
-rwxr-xr-x. 1 root root 41480 11月 6 2016 /bin/id
-------r-x. 1 root root 146 5月 30 10:49 testdetest
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testdetest
这是使用/bin/id实现的输出
jinbusi
这是使用/home/jinbusi/testid的输出
root
[root@CentOS7.0jinbusi]#chmod u+s testdetest
[root@CentOS7.0jinbusi]#ll testdetest testid /bin/id
-rwxr-xr-x. 1 root root 41480 11月 6 2016 /bin/id
---S---r-x. 1 root root 146 5月 30 10:49 testdetest
---S-----x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testdetest
这是使用/bin/id实现的输出
jinbusi
这是使用/home/jinbusi/testid的输出
root
3. 在脚本中之前试验中如果在脚本上使用SUID权限,作用并没有体现出来,在脚本中调用的命令依然按照原有的权限执行,那么以上结论如果正确那么,SUID权限的脚本中,调用的的程序无法操作本身权限外的文件,把手中自带的功能呢?
[root@CentOS7.0jinbusi]#cat textdetest
#!/bin/sh
#
echo "这是新追加的文本"> /home/jinbusi/text.txt
/bin/cat /home/jinbusi/text.txt
[root@CentOS7.0jinbusi]#
[root@CentOS7.0jinbusi]#ll text.txt textdetest
---S---r-x. 1 root root 101 5月 30 11:11 textdetest
-rwx------. 1 root root 24 5月 30 09:59 text.txt
[jinbusi@CentOS7.0~]$./textdetest
./textdetest:行3: /home/jinbusi/text.txt:权限不够
/bin/cat: /home/jinbusi/text.txt:权限不够
[root@CentOS7.0jinbusi]#chmod o+rw text.txt
[root@CentOS7.0jinbusi]#ll text.txt
-rwx---rw-. 1 root root 24 5月 30 09:59 text.txt
[root@CentOS7.0jinbusi]#
[jinbusi@CentOS7.0~]$./textdetest
这是新追加的文本
可见将SUID加在脚本上并无效果即使是bash自带的功能也无法使用SUID权限.
再次验证了一下
[root@CentOS7.0jinbusi]#cat dirtest
#!/bin/sh
#
cd /home/jinbusi/dir1
ls /home/jinbusi/dir1/
[root@CentOS7.0jinbusi]#
[root@CentOS7.0jinbusi]#ll dirtest
-rws---rwx. 1 root root 58 5月 30 11:36 dirtest
[root@CentOS7.0jinbusi]#
[jinbusi@CentOS7.0~]$./dirtest
./dirtest: 第 3行:cd: /home/jinbusi/dir1: 权限不够
ls: 无法打开目录/home/jinbusi/dir1/:权限不够
[jinbusi@CentOS7.0~]$
SUID可以传递么
[root@CentOS7.0jinbusi]#cp /usr/bin/bash ./sh
[root@CentOS7.0jinbusi]#ll sh
---S-----x. 1 root root 960392 5月 30 11:44 sh
[jinbusi@CentOS7.0~]$./sh
[jinbusi@CentOS7.0~]$pstree
├─sshd─┬─sshd───bash───su───bash───sh───pstree
[jinbusi@CentOS7.0~]$id
uid=1026(jinbusi) >>>>这里并不是root
[jinbusi@CentOS7.0~]$echo jinbusdelv >> /etc/passwd
sh: /etc/passwd: 权限不够
[root@CentOS7.0jinbusi]#chmod 4701 ./sh
[jinbusi@CentOS7.0~]$echo jinbusdelv >> /etc/passwd
sh: /etc/passwd: 权限不够
答:权限不可以传递.
SUID的优先权,如果执行者不是文件的属主,但是是文件的属组,那么带有的是什么权限:
1. 将jinbusi加入到root组,测试文件使用testid ,
[root@CentOS7.0jinbusi]#groupmems -g root -a jinbusi
[root@CentOS7.0jinbusi]#groups jinbusi
jinbusi : jinbusi root
[root@CentOS7.0jinbusi]#chmod u=sx,g=x,o=x testid
[root@CentOS7.0jinbusi]#ll testid
---s--x--x. 1 root root 41480 5月 30 10:31 testid
[jinbusi@CentOS7.0~]$./testid
uid=1026(jinbusi) gid=1027(jinbusi) euid=0(root)组=1027(jinbusi) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[jinbusi@CentOS7.0~]$
结论,SUID只是在进城的附带权限中增加EUID一条属性.程序执行为进程依然还是按照老方法.,结论不一定正确,但是之前的现象,可以用此结论解释的通.而且EUID的优先级高于UID从id与idiun中可以看出
阅读全文
0 0
- [试验]关于特殊权限位的试验,未排版.
- 关于试验的思考
- 关于JAVA的同步试验
- 关于hasOwnProperty的小试验
- 关于指针的入门试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验
- 试验~~~~
- 试验
- 试验
- 试验
- Hadoop权威指南pdf
- mysql 状态说明
- 数据库的一些常见问题
- win10使用"诊断启动后无法进入桌面"
- hi3518移植librtmp
- [试验]关于特殊权限位的试验,未排版.
- HBase权威指南中文版pdf
- mybatis关联查询
- HTML5新标签一
- poj 2096 概率dp详解
- dlib在window的安装方法
- Hive编程指南pdf
- "=="和 和 equals 方法究竟有什么区别
- 算法导论 思考题 15-4(整齐打印)