在sudo下运行python脚本时,如何避免将文件夹创建为root?

2024-03-28 12:24:27 发布

您现在位置:Python中文网/ 问答频道 /正文

题目很好地概括了这一点。我正在运行一个Python脚本,它在sudo下有os.mkdir()函数(因为其他函数需要它)。当我用sudo运行它时,创建的文件夹将root作为所有者,并且是唯一具有访问权限的文件夹。有什么办法可以避免吗?你知道吗


Tags: 函数脚本文件夹权限ossudoroot办法
2条回答

使用install命令创建目录,该命令会自动更改所有权和权限。你知道吗

install -o myuser -d -o 0755 /tmp/mydir

运行sudo时,环境变量SUDO_UIDSUDO_GID被设置为运行sudo的用户的uid和gid。所以:

uid = os.environ.get("SUDO_UID")
gid = os.environ.get("SUDO_GID")
if uid: os.chown(path, uid, gid)

相关问题 更多 >