Linux unix-chmod文件的默认未来权限
我理解,默认情况下,当使用chmod 644权限创建文件时。是否仍要更改此设置,以便在某个文件夹中创建的任何文件默认为664?否,但您可以将新创建的默认文件和目录组设置为父文件夹组-这可能解决了您的问题:Linux unix-chmod文件的默认未来权限,linux,shell,unix,permissions,chmod,Linux,Shell,Unix,Permissions,Chmod,我理解,默认情况下,当使用chmod 644权限创建文件时。是否仍要更改此设置,以便在某个文件夹中创建的任何文件默认为664?否,但您可以将新创建的默认文件和目录组设置为父文件夹组-这可能解决了您的问题: chmod g+s。默认情况下,将在中创建的所有内容都将拥有的组所有权。在POSIX系统上控制文件创建模式的实用程序被调用。我不认为你可以像那样为每个文件夹应用文件创建掩码。但是,您可以在脚本中使用umask。子shell中定义的掩码不会影响常规的umask(0002)设置 如果您想在特殊目录
chmod g+s
。默认情况下,将在
中创建的所有内容都将拥有
的组所有权。在POSIX系统上控制文件创建模式的实用程序被调用。我不认为你可以像那样为每个文件夹应用文件创建掩码。但是,您可以在脚本中使用umask
。子shell中定义的掩码不会影响常规的umask
(0002)设置
如果您想在特殊目录中插入cd
时自动更改掩码设置,可以将以下内容添加到bash脚本中(我从SO post中获得了有关chdir()
函数的提示):
如您所见,我将/tmp/blah1
和/tmp/blah2
定义为特殊目录。现在,如果我想从常规bashcd/tmp/blah1
,我的umask
设置将相应地更改
[22:45:43] user@host1:[~]$ cd /tmp/blah1
[*] special mask settings applied - u=rwx,g=rwx,o=
[22:45:49] user@host1:[/tmp/blah1]$ cd /tmp/blah2
[*] special mask settings applied - u=rwx,g=rwx,o=
[22:46:03] user@host1:[/tmp/blah2]$
默认情况下,使用
644
权限创建文件是不正确的。默认权限由创建进程的设置决定。022
的umask可能是最常见的,它会导致使用644
权限创建文件。
[22:45:43] user@host1:[~]$ cd /tmp/blah1
[*] special mask settings applied - u=rwx,g=rwx,o=
[22:45:49] user@host1:[/tmp/blah1]$ cd /tmp/blah2
[*] special mask settings applied - u=rwx,g=rwx,o=
[22:46:03] user@host1:[/tmp/blah2]$