我有程序,说名称 giverootAccess。该程序可以接收当前目录(giverootAccess 所在的目录)中的文件名作为命令行参数。然后该文件将获得root访问权限。该文件可以是可执行文件或 shell 脚本。
现在的问题是,黑客可以通过将请求重定向到 bash 来获得 root 访问权限。我想限制用户仅对 giverootAccess 所在目录内的那些文件授予 root 访问权限。黑客可以将文件名重定向到不需要的程序,从而获得 root 权限。
所以我需要一种机制来唯一地识别文件,而不是通过它的名称(因为它可以被模仿和黑客攻击)。inode 是否可以用于此目的?
我的计划是,当应用程序安装时,我会将所有文件的 inode 存储在目录中,每当有人使用文件名运行 giverootAccess 时,我将检查文件名及其 inode 是否与存储的文件匹配。如果匹配,则只有 giverootAccess 程序实际授予该文件的 root 访问权限。
您还有其他简单的机制来完成这项工作吗?