在linux上,我如何允许任何用户写入文件,但只能运行我的(python)脚本?

时间:2016-08-17 21:28:04

标签: python linux

我正在使用GUI来管理特定网络文件夹的内容。这些文件是由脚本创建/删除和移动的。

我有一个json索引文件,其中包含有关此文件夹中文件的信息。

有没有办法让所有用户都对这些文件具有写入权限,但前提是他们使用我的脚本?

我并不担心安全性,只是不希望人们在没有更新索引文件的情况下编辑文件。

2 个答案:

答案 0 :(得分:1)

您可以使用visudo指定此类事物。

来自:http://www.atrixnet.com/allow-an-unprivileged-user-to-run-a-certain-command-with-sudo/

首先,您需要使用visudo实用程序...

    sudo visudo

此命令可在您的默认编辑器中安全地打开/ etc / sudoers文件。假设您希望允许名为“joe”的用户运行给定命令。您只需要在下面添加如下所示的行(根据您的需求进行自定义)

    joe ALL=(ALL) NOPASSWD: /full/path/to/command

现在,如果要将joe限制为仅在给定的参数集中使用该命令或仅使用某些参数,该怎么办?好吧,也把它们扔进那里!看看这个:

    joe ALL=(ALL) NOPASSWD: /full/path/to/command ARG1 ARG2

答案 1 :(得分:1)

您的程序需要SUID位设置https://en.wikipedia.org/wiki/Setuid。我不确定这是否可以用python脚本完成。