如何在Linux中允许Python脚本在受保护目录中创建目录而不使用su权限?

2 投票
5 回答
2816 浏览
提问于 2025-04-17 00:13

我正在尝试创建一个Python脚本,用来在Ubuntu Linux上创建多个文件夹。我想创建文件夹的主目录是受保护的,普通用户没有写入权限。有没有办法让这个Python脚本像根用户一样在这个目录下创建文件夹,但又不需要通过su命令来运行这个脚本?因为其他用户也可能需要运行这个脚本,但他们不应该有su权限。

5 个回答

0

你可以专门为这个任务创建一个用户,然后给这个用户在你想要创建子目录的文件夹里的权限,最后以这个用户的身份来执行脚本。

可能还有更简单的解决办法,但这是我第一时间想到的。

2

很遗憾,不可以。在*unix系统中,一个进程的权限总是小于或等于启动它的用户的权限。这其实是有道理的——如果进程的权限超过了用户的能力,那就会带来很大的安全风险。

这就需要一个有权限访问那个目录的人来操作——要么是通过他们所属的某个组,要么是通过sudo命令。不管怎样,每次在运行这个脚本的机器上,都需要有人来进行操作。

至于最简单的方法,你需要找一个有权限的人来把权限授予另一个用户,或者直接使用sudo命令。

6

这个问题其实和Python没什么直接关系。Python脚本就像其他程序一样,需要有合适的权限才能执行某些操作。通常的方法是创建一个组,然后把父目录的权限设置为g+ws,这样这个组的成员就可以使用这个目录。接着,把需要的用户添加到这个组里,作为补充组成员。

撰写回答