CGI、Python和setgid
我在Apache服务器上运行一个编译过的Python CGI脚本(使用cxfreeze)。这个脚本做了很多事情,其中之一就是调用
os.setuid(some_uid)
os.setgid(some_gid)
显然,某些用户ID和组ID是合法的,我为用户和组都设置了粘滞位,并确认它确实被设置了。但是每次调用时,我都遇到一个错误
os.setgid(int(self.gid))
OSError: [Errno 1] Operation not permitted
你可能会注意到,setuid()
调用成功了,但 setgid()
没有成功。这让我觉得很奇怪,至少对我来说是这样,虽然我承认我对Linux的权限了解不多。欢迎任何想法或建议。
我使用的环境是Apache 2.2.15,Python 2.6.5,RHEL 5.4(内核版本2.6.18)