如何自动设置Ubuntu中future/new个文件的权限?
How to automatically set permissions of future/new files in Ubuntu?
目前,我 sudo chown -R ubuntu:ubuntu /home/ubuntu/<folder>
。
但是,当我 运行 一个 Python 脚本将创建一个名为 testoutput
的文件夹并将文件写入其中时,该文件夹是使用 root
创建的权限,因此在将文件写入文件夹时出现 permission denied
错误。
如何确保范围内的新文件在执行 chown
时也能获得相同的权限?有没有办法确保在 Ubuntu?
新文件夹i的权限:
drwxr-xr-x 2 root root
而现有文件夹的权限是:
drwxrwxr-x 2 ubuntu ubuntu
在几乎所有操作系统中,新文件的所有者由创建文件的用户上下文决定。 IE。您很可能 运行 代表 python 脚本 root
。
如果你之后递归 chown
基本目录 testoutput
- 当然是 root
- 你应该没问题。
如果您不希望 root
成为初始所有者,则首先不要将相应的脚本 运行 视为 root
,而是将其视为所需的所有者。
或者看看 ACLs.
这由 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 如何使组权限可写。
目前,我 sudo chown -R ubuntu:ubuntu /home/ubuntu/<folder>
。
但是,当我 运行 一个 Python 脚本将创建一个名为 testoutput
的文件夹并将文件写入其中时,该文件夹是使用 root
创建的权限,因此在将文件写入文件夹时出现 permission denied
错误。
如何确保范围内的新文件在执行 chown
时也能获得相同的权限?有没有办法确保在 Ubuntu?
新文件夹i的权限:
drwxr-xr-x 2 root root
而现有文件夹的权限是:
drwxrwxr-x 2 ubuntu ubuntu
在几乎所有操作系统中,新文件的所有者由创建文件的用户上下文决定。 IE。您很可能 运行 代表 python 脚本 root
。
如果你之后递归 chown
基本目录 testoutput
- 当然是 root
- 你应该没问题。
如果您不希望 root
成为初始所有者,则首先不要将相应的脚本 运行 视为 root
,而是将其视为所需的所有者。
或者看看 ACLs.
这由 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 如何使组权限可写。