繁体   English   中英

如何在Ubuntu中自动设置future / new文件的权限?

[英]How to automatically set permissions of future/new files in Ubuntu?

目前,我做sudo chown -R ubuntu:ubuntu /home/ubuntu/<folder>

但是,当我运行一个Python脚本创建一个名为testoutput的文件夹testoutput其写入文件时,该文件夹是使用root权限创建的,因此在将文件写入文件夹时会获得permission denied错误。

如何确保在进行chown时,即使是该范围内的新文件也能获得相同的权限? 有没有办法确保在Ubuntu中?

新文件夹i的权限:

drwxr-xr-x 2 root   root

而现有文件夹的权限是:

drwxrwxr-x 2 ubuntu ubuntu

在几乎所有操作系统中,新文件的所有者由创建文件的用户上下文确定。 也就是说,你最有可能以root身份运行repsective python脚本。 如果你之后以递归方式chown基本目录testoutput - 当然是root - 你应该没问题。 如果您不希望root成为初始所有者,请考虑不首先以root身份运行相应的脚本,而是将其作为所需的所有者。 或者看看ACL

这由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使得组权限可写。

暂无
暂无

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

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