Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Ubuntu中自动设置未来/新文件的权限?_Python_Ubuntu_File Permissions - Fatal编程技术网

Python 如何在Ubuntu中自动设置未来/新文件的权限?

Python 如何在Ubuntu中自动设置未来/新文件的权限?,python,ubuntu,file-permissions,Python,Ubuntu,File Permissions,目前,我做sudochown-rbuntu:ubuntu/home/ubuntu/ 但是,当我运行一个Python脚本,该脚本将创建一个名为testoutput的文件夹并向其中写入文件时,该文件夹是使用root权限创建的,因此,在将文件写入文件夹时出现权限被拒绝的错误 在执行chown操作时,如何确保该范围内的新文件也获得相同的权限?在Ubuntu中有没有办法确保这一点 新文件夹i的权限: drwxr-xr-x 2 root root 而现有文件夹的权限为: drwxrwxr-x 2 ub

目前,我做
sudochown-rbuntu:ubuntu/home/ubuntu/

但是,当我运行一个Python脚本,该脚本将创建一个名为
testoutput
的文件夹并向其中写入文件时,该文件夹是使用
root
权限创建的,因此,在将文件写入文件夹时出现
权限被拒绝的错误

在执行
chown
操作时,如何确保该范围内的新文件也获得相同的权限?在Ubuntu中有没有办法确保这一点

新文件夹i的权限:

drwxr-xr-x 2 root   root
而现有文件夹的权限为:

drwxrwxr-x 2 ubuntu ubuntu

在几乎所有操作系统中,新文件的所有者由创建文件的用户上下文确定。也就是说,您最有可能以
root
的身份运行repsective python脚本。 如果您递归地
chown
基本目录
testoutput
之后-当然,作为
root
-您应该很好。 如果不希望<代码>根/代码>成为初始所有者,那么首先不要考虑将相应的脚本运行为<代码>根>代码,而是作为所需的所有者。
或者看看。

这由
umask
设置控制,默认设置为

root@brad:~# grep ^UMASK /etc/login.defs
UMASK           022
root@brad:~#
(尽管pam和其他远程登录服务等pp有覆盖)

因此,我们有:

root@brad:~# umask                 # four digits because of suid bit
0022
root@brad:~# mkdir tempDir1
root@brad:~# ls -ld tempDir1
drwxr-xr-x 2 root root 4096 Aug 17 07:22 tempDir1
root@brad:~# umask 002
root@brad:~# umask
0002
root@brad:~# mkdir tempDir2
root@brad:~# ls -ld tempDir?
drwxr-xr-x 2 root root 4096 Aug 17 07:22 tempDir1
drwxrwxr-x 2 root root 4096 Aug 17 07:22 tempDir2
root@brad:~#
您可以看到,将中间数字从022更改为002是如何使组权限可写的。

这可能会有帮助吗