2011-02-27 45 views
3

我正在Apache中运行一个已编译的python cgi脚本(使用cxfreeze)。 脚本,除其他事项外,呼吁CGI,python和setgid

os.setuid(some_uid) 
os.setgid(some_gid) 

显然some_uid/GID是合法的,我设置的用户和组的粘滞位,并验证它确实设置。 但是在每次调用我得到一个错误

os.setgid(int(self.gid)) 
OSError: [Errno 1] Operation not permitted 

正如你可能会注意到,setuid的()是成功的,setgid的不是。这是非常奇怪的,至少对我来说,尽管我承认我在Linux的权限方面经验不足。 欢迎任何想法/想法。

我使用的Apache 2.2.15,蟒蛇2.6.5,RHEL 5.4(2.6.18内核)

谢谢

回答

2

了setuid掉话需要调用setgid的特权,让你呼叫以错误的顺序发生。但为什么不使用专门用于放弃特权的library

+0

当然。愚蠢的我。 非常感谢你,我会研究你建议的图书馆 – user331398