我必须使用os.chmod
更改可执行文件的文件权限
我有这个可执行文件,我想改变它的权限,以便它可以无处写,只读和执行
我怎样才能做到这一点?
谢谢,
魔方
答案 0 :(得分:2)
您可以在chmod
的文件上设置的权限会影响谁可以读取/写入/执行该文件,而不是通过运行该文件创建的进程所具有的权限。
在Unix上,你可以通过与文件所有者和粘性位一起玩,并对你的文件系统拥有适当的权限来获得某种形式的保护,但这不容易正确,并且在Windows上不起作用(没有粘性位)。
答案 1 :(得分:1)
我有这个可执行文件,我想更改其权限,以便它可以无处写,只能读取和执行
这不是chmod
的工作原理 - 它设置了文件本身的权限,它不能限制可执行文件可以写入的内容。
答案 2 :(得分:1)
某些Linux或Unix用来禁止可执行文件写入内容的解决方法是将该可执行文件setuid发送给没有权限的用户(几乎“不存在”),例如nobody
用户(例如在Debian或Ubuntu中)。请注意并详细了解seteuid& setreuid& capabilities& credentials(我不确切知道所有这些系统调用是否都有pythonic接口)。