一个挺奇怪的suid问题,来瞧瞧

viyar 2011-11-07 10:52:03
各位早~~

我有个编译好的二进制程序,因为需要读取/etc下某个只有root可读取的文件,所以对这个命令设置了suid位

权限如下

-rwsr-xr-x 4 root abc 3259920 Jun 2 2009 test_p

存放在/usr/share/....../bin/test_p

path设置都没问题

运行这个命令后,显示无法读取那个文件。

可是,我把这个命令单独拷贝到/tmp下,执行
sudo chown root /tmp/test_p
sudo chmod u+s /tmp/test_p
然后运行/tmp/test_p就可以成功

那,继续chown, chmod原来那个位置的test_p,还是运行失败。

奇怪,有人知道什么原因么??

谢了
...全文
91 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
viyar 2011-11-07
  • 打赏
  • 举报
回复
谢谢上面的哥们

由于问题出现在我客户的环境里,我也无法具体察看。

按道理说,/etc目录的权限应该不会被改动,否则拷贝到/tmp下的test_p也不会运行成功。

如果这个程序所在目录是通过NFS挂载的,会不会有什么因素能影响到SUID的作用呢?

/etc/下那个文件的权限为
ls -l /etc/test_conf
-rw------- 1 root root 140 Nov 3 00:56 /etc/test_conf

我自己的环境是没一点问题的
bayougeng 2011-11-07
  • 打赏
  • 举报
回复
/etc的权限,只要他没自己乱改,应该没问题的:
drwxr-xr-x 104 root root 12288 Nov 7 02:18 /etc/
bayougeng 2011-11-07
  • 打赏
  • 举报
回复
sudo chown root /tmp/test_p
sudo chmod u+s /tmp/test_p
你有换到别的用户再执行/tmp/test_p么?
我觉得应该跟路径没有什么关系。
你最好把你整个的实验过程包括输出都贴出来看看
Wenxy1 2011-11-07
  • 打赏
  • 举报
回复
/etc目录权录不对,只有root有可读写权限?
viyar 2011-11-07
  • 打赏
  • 举报
回复
多谢各位了,问题已经解决

原因是该目录是用户通过NFS挂载上去的,而且在mount的option里面,设置了nosuid这个参数

这样这个目录就自动屏蔽了所有命令的Suid。

谢谢你们的帮助
qq120848369 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bayougeng 的回复:]
-rwsr-xr-x 4 root abc 3259920 Jun 2 2009 test_p
我注意到你这里root所属的组是abc,这个root是UID=0的root么?
你在你自己的机器上,是如何验证这个功能的呢?
[/Quote]

很有道理,围观.
bayougeng 2011-11-07
  • 打赏
  • 举报
回复
-rwsr-xr-x 4 root abc 3259920 Jun 2 2009 test_p
我注意到你这里root所属的组是abc,这个root是UID=0的root么?
你在你自己的机器上,是如何验证这个功能的呢?

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧