eve*_*ean 6 python permissions suid semantics
似乎我在理解SUID位的语义方面遇到了一些麻烦,也许有人可以帮我澄清一下情况.
我对SUID位语义的理解如下:当我用文件设置SUID位时,该文件将作为文件的所有者而不是文件的调用者执行.所以为了测试这个行为,我编写了以下python脚本:
#!/usr/bin/python3 -O
import os
def main():
print('Real UserID: %d' % os.getuid())
print('Effective UserID: %d' % os.geteuid())
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
之后,我创建了一个名为"testuser"的用户,其对应的组为"testuser",并调整了文件权限(chown testuser文件,chgrp testuser文件,chmod u + s,g + x文件).接下来,我将我的主用户添加到"testuser"组,以便我可以作为组的成员执行该文件.毕竟文件权限看起来像这样:
-rwsr-xr-- 1 testuser testuser 168 2011-04-02 13:35 procred.py*
Run Code Online (Sandbox Code Playgroud)
因此,当我以testuser身份登录时,脚本会生成输出:
Real UserID: 1001
Effective UserID: 1001
Run Code Online (Sandbox Code Playgroud)
...当我作为主要用户运行脚本时脚本输出:
Real UserID: 1000
Effective UserID: 1000
Run Code Online (Sandbox Code Playgroud)
现在根据我的理解,脚本应该在后一个执行中以uid 1001(文件的所有者)的用户身份运行.我是否弄错了整个概念或者我的错误在哪里?
| 归档时间: |
|
| 查看次数: |
4461 次 |
| 最近记录: |