问题标题很好地总结了它。我正在运行一个Python脚本,在sudo下有一个os.mkdir()
函数(因为其他函数需要它)。当我使用sudo
运行它时,创建的文件夹以root
作为所有者,并且唯一具有访问权限的文件夹。有什么办法可以避免这个吗
答案 0 :(得分:1)
使用install命令创建目录,该命令会自动更改所有权和权限。
install -o myuser -d -o 0755 /tmp/mydir
答案 1 :(得分:1)
运行sudo时,环境变量SUDO_UID
和SUDO_GID
设置为运行sudo的用户的uid和gid。所以:
uid = os.environ.get("SUDO_UID")
gid = os.environ.get("SUDO_GID")
if uid: os.chown(path, uid, gid)