2011-11-12 106 views
0

文件权限我不得不改变对可执行文件的文件权限,使用os.chmod
我有这个可执行文件,我想更改它的权限,以便它可以写入无处,只读和执行。
我该怎么做?文件模式 - 在可执行

感谢,
魔方

+1

'chmod'没有做到这一点。您需要的是在沙箱中运行该进程。 –

+0

[发表在Unix&Linux上的类似问题](http://unix.stackexchange.com/questions/24469/chmod-change-permissions-on-a-file)。 – Gilles

回答

2

可以与chmod文件设置影响谁可以读取/写入的权限/执行该文件,没有什么特权的过程中运行该文件已创建。

在Unix上,您可以通过播放文件所有者和粘性位,并在文件系统上拥有适当的权限来获得某种形式的保护,但这并不容易,无法在Windows上正常工作(无粘性位那里)。

+0

谢谢,但我看不出什么粘性物质可以为我做。我读过维基百科有关这篇文章。 – rubik

+0

如果设置一个可执行文件,例如'nobody'的所有者,把粘一下就可以了,当您运行if_它已被'nobody'用户推出可执行文件的进程将开始_As(不管是什么用户实际上启动了它)。如果'nobody'没有对您关心的文件/目录的写入权限,那么这个过程将无法与它们混淆。 – Mat

+0

谢谢!我会尝试的。 – rubik

1

我有这样的可执行文件,我想改变它的权限,以便它可以写入无门,只能读取和执行

这不是如何chmod作品 - 它设置文件本身的权限,它不能限制可执行文件可以写入的内容。

1

某些Linux或Unix用来禁止可执行文件写东西的解决方法是将该可执行文件setuid设置为没有权限的用户(几乎“不存在”),例如nobody用户(例如,在Debian或Ubuntu中)。要小心,了解更多关于seteuid & setreuid & capabilities & credentials(我不确知,如果所有这些系统调用有一个Python的接口)。