7o7o Asked: 2020-06-08 10:43:05 +0800 CST2020-06-08 10:43:05 +0800 CST 2020-06-08 10:43:05 +0800 CST 通过具有特殊权限的脚本修改文件 772 可能这是基本的..但是我没有找到对正在发生的事情的解释..我拥有这些具有这些特定权利的文件: 所以 modtp2 是我用来更改 tp2 内容的 shell 脚本,用户名为“user1”,该用户不属于“SYS”组: modtp2 脚本 我将用户更改为“user1”并尝试执行脚本,但我总是收到此错误: 但是,据我所知,它应该被执行,因为即使 SUID 设置不正确,SGID 也是。因此,有效的GID 应该是SYS 在执行脚本时的GID,该脚本有写入tp2 的权限。 我知道这是一个错误的解释,因为许可被拒绝,但你能纠正我吗?有效的 GID 是否仅适用于当前脚本而不适用于文本文件? linux sh 1 个回答 Voted Best Answer 7o7o 2020-06-08T13:18:00+08:002020-06-08T13:18:00+08:00 问题是我使用的是 shell 脚本。出于安全原因,此类脚本不考虑 SUID 或 SGID。此外,system()C 脚本中的函数会导致同样的事情。更好地使用execl(),以便可以考虑特殊权利。
问题是我使用的是 shell 脚本。出于安全原因,此类脚本不考虑 SUID 或 SGID。此外,
system()
C 脚本中的函数会导致同样的事情。更好地使用execl()
,以便可以考虑特殊权利。