我有程序,说名字giverootAccess。该程序可以在当前目录(giverootAccess所在的位置)接收文件名作为命令行参数。然后该文件将获得根访问权限。该文件可以是可执行文件或shell脚本。使用C代码找到一个文件的inode号码
现在的问题是,黑客可以通过将请求重定向到bash来获得root访问权限。我想限制用户只对那些giverootAccess所在目录内的文件提供root权限。黑客可以将文件名重定向到不需要的程序,从而获得root权限。
所以我需要一个机制来唯一标识一个文件,而不是它的名字(因为它可以被模仿和黑客入侵)。 inode是否可以用于此目的?
我的计划是,当应用程序安装时,我将存储目录中所有文件的inode,并且每当有人运行带文件名的giverootAccess时,我将检查文件名,其inode与存储的文件名匹配。如果匹配,那么只有giverootAccess程序实际上给予root权限的文件。
你有任何其他简单的机制来完成这项工作吗?
我正在尝试做类似的事情。如果你找到答案,请你就此更新我。 – 2012-04-25 11:36:49
“给root访问权限”是什么意思?设置'suid'位?你能澄清吗? – dpp 2012-05-02 21:25:30