Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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
Linux unix-chmod文件的默认未来权限_Linux_Shell_Unix_Permissions_Chmod - Fatal编程技术网

Linux unix-chmod文件的默认未来权限

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 644权限创建文件时。是否仍要更改此设置,以便在某个文件夹中创建的任何文件默认为664?

否,但您可以将新创建的默认文件和目录组设置为父文件夹组-这可能解决了您的问题:
chmod g+s
。默认情况下,将在
中创建的所有内容都将拥有
的组所有权。

在POSIX系统上控制文件创建模式的实用程序被调用。我不认为你可以像那样为每个文件夹应用文件创建掩码。但是,您可以在脚本中使用
umask
。子shell中定义的掩码不会影响常规的
umask
(0002)设置

如果您想在特殊目录中插入
cd
时自动更改掩码设置,可以将以下内容添加到bash脚本中(我从SO post中获得了有关
chdir()
函数的提示):

如您所见,我将
/tmp/blah1
/tmp/blah2
定义为特殊目录。现在,如果我想从常规bash
cd/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]$