如下图所示,我将emerald_setup
脚本的所有权更改为 root:root 并设置了 SUID。
碰巧当我安装 gem 并检查这个脚本时,它属于 edvaldo:edvaldo(我的用户名)并且根本没有 SUID!
我不知道到底发生了什么,但这个脚本会更改/etc/hosts
并创建一些防火墙规则。这需要 root 权限。
所以,我的问题是:
在这种 SUID 的情况下,我缺少什么?
我必须如何确保 gem 可执行文件设置了 SUID?
当然我知道我可以要求用户使用
$ sudo emerald_setup
但这会给我带来另一个问题,因为 gem 可执行文件安装在用户空间中,并且它的位置不在超级用户的路径中,并且设置它(猜猜是什么?!)需要超级用户权限。
有什么建议么?