繁体   English   中英

在sudo下运行python脚本时,如何避免以root用户身份创建文件夹?

[英]How do I avoid creating folders as root when running a python script under sudo?

问题标题很好地总结了一下。 我正在运行一个Python脚本,该脚本在sudo下具有os.mkdir()函数(因为其他函数需要它)。 当我使用sudo运行它时,创建的文件夹具有root作为所有者,并且是唯一具有访问权限的文件夹。 有什么办法可以避免这种情况?

使用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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM