通过具有特殊权限的脚本修改文件

通过具有特殊权限的脚本修改文件

这可能很简单..但我没有找到发生了什么的解释..我拥有以下具有以下特定权限的文件:

图片:

因此,modtp2 是一个 shell 脚本,我用它来使用不属于“SYS”组、名为“user1”的用户来更改 tp2 内容:

modtp2 脚本

图片:

我将用户更改为“user1”并尝试执行脚本,但总是出现此错误:

图片:

但据我所知,应该是可以执行的,因为即使SUID没有设置正确,SGID是可以的,所以执行有权限写入tp2的脚本时,有效GID应该是SYS的GID。

我知道这是一个错误的解释,因为权限被拒绝了,但你能纠正我吗?有效 GID 是否仅适用于当前脚本而不适用于文本文件?

答案1

问题是我正在使用 shell 脚本。出于安全原因,这种脚本不考虑 SUID 或 SGID。此外,system()C 脚本中的函数也会导致同样的问题。最好使用,execl()以便可以考虑到特殊权限。

相关内容