【发布时间】:2017-03-28 05:48:26
【问题描述】:
如下图所示,我将emerald_setupscript 的所有权更改为root:root,并设置了SUID。
碰巧当我安装 gem 并检查这个脚本时,它属于 edvaldo:edvaldo(我的用户名)并且根本没有 SUID!
我不知道到底发生了什么,但这个脚本对/etc/hosts 进行了更改,并且还创建了一些防火墙规则。这需要 root 权限。
所以,我的问题是:
在这种 SUID 案例中我缺少什么?
我必须如何确保 gem 可执行文件设置了 SUID?
当然我知道我可以要求用户使用
$ sudo emerald_setup
但这会给我带来另一个问题,因为 gem 可执行文件安装在用户空间中,并且它的位置不在超级用户的路径中,并且设置它(猜猜是什么?!)需要超级用户权限。
有什么建议吗?
【问题讨论】:
标签: ruby rubygems executable sudo suid