通过具有特殊权限的脚本修改文件 2024-7-31 • linux sh setuid 这可能很简单..但我没有找到发生了什么的解释..我拥有以下具有以下特定权限的文件: 因此,modtp2 是一个 shell 脚本,我用它来使用不属于“SYS”组、名为“user1”的用户来更改 tp2 内容: modtp2 脚本 我将用户更改为“user1”并尝试执行脚本,但总是出现此错误: 但据我所知,应该是可以执行的,因为即使SUID没有设置正确,SGID是可以的,所以执行有权限写入tp2的脚本时,有效GID应该是SYS的GID。 我知道这是一个错误的解释,因为权限被拒绝了,但你能纠正我吗?有效 GID 是否仅适用于当前脚本而不适用于文本文件? 答案1 问题是我正在使用 shell 脚本。出于安全原因,这种脚本不考虑 SUID 或 SGID。此外,system()C 脚本中的函数也会导致同样的问题。最好使用,execl()以便可以考虑到特殊权限。 相关内容 安装 Ubuntu 时会发生什么?[重复] 程序(仍然)未显示在 Windows 7 的最近程序中 如何删除用户的个人文件和设置,但保留 Active Directory 中的用户帐户? Buster 两次列出外部硬盘驱动器,名称相同 如何升级所有符号包? UAC 帐户用户无法看到其已安装的网络驱动器 将第一个目录中的较新文件打包成 tar,但忽略第二个目录中的 mtime 如何查看复制/移动时更改了哪些元数据,尤其是在 Windows 和 Linux 之间? 为什么我无法在 12.04 中在打开的窗口之间切换? 将 IMAP 邮件下载到客户端的简便方法