Umask在0022和022之间的差异

Pav*_*mar 21 unix file-permissions umask

umask 0022022?之间有什么区别吗?我想把我的umask改成022.我该怎么做?

Joa*_*ård 22

umask 0022和umask 之间没有区别022.

八进制umasks通过使用按位NOT的参数的一元补码的按位AND计算.

像这样设置umask:

el@apollo:~$ umask 0077
el@apollo:~$ umask
0077
el@apollo:~$ umask 0022
el@apollo:~$ umask
0022
Run Code Online (Sandbox Code Playgroud)

umask值的简要概述:

umask 077 - 分配权限,以便只有文件的读/写访问权限,以及读/写/搜索您拥有的目录.所有其他人都没有对您的文件或目录的访问权限.

umask 022 - 分配权限,以便只有文件的读/写访问权限,以及读/写/搜索您拥有的目录.所有其他人只能读取您的文件,并可以读取/搜索您的目录.

umask 002 - 分配权限,以便只有您和您的组成员具有对文件的读/写访问权限,以及对您拥有的目录的读/写/搜索访问权限.所有其他人只能读取您的文件,并读取/搜索您的目录.

有关umask的功能的更多信息:

如何设置默认umask,请参阅此文章:http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

如果您需要更详细的信息,这是一篇有趣的文章:http://articles.slicehost.com/2010/7/17/umask-and-unusual-file-permissions-and-types

这篇文章的答案还提供了对umask位的一些见解:https: //stackoverflow.com/questions/4056912/question-about-umask-in-linux

  • “八进制 umask 是通过使用按位 NOT 对参数的一元补码进行按位与来计算的。”我猜一个例子是: arg = 4; “使用按位 NOT 对参数进行一元补码”= ~arg = 011(二进制);“按位与” = 111 & 011 = 011 = 3 (2认同)