首页 > 试题广场 >

如果系统的 umask 设置为 244,创建一个新文件它的权

[单选题]
在Linux文件系统中,如果系统的 umask 设置为 244,则创建一个新文件它的权限将会是()
  • --w-r--r--
  • -r-xr--r--
  • -r---w--w-
  • -r-x-wx-wx
umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限.
创建时,文件 默认666,目录默认777,减去umask的位就是结果。

发表于 2015-08-13 22:18:29 回复(2)
答案:C
Linux中的权限有r(读) w(写) x(执行),分别用数字4,2,1代表。
Umask是设置系统创建文件时的默认权限,是创建文件权限补码,对文件来说最大值是6
Umask设为为244,则创建的文件默认权限是422,文件的第一位是‘-’也就是-r---w--w-
编辑于 2021-12-22 09:44:28 回复(3)
答案 :A
244分成2进制是
010,100,100
所以是
-w- r-- r--     

解释:
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、
其他用户)存在一个相应的u m a s k值中的数字。对于文件来说,这一数字的最大值分别是6。
统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用c h m o d命令增加这一
权限。目录则允许设置执行权限,这样针对目录来说, u m a s k中各个数字最大可以到7。

 文件的最大权限rwx rwx rwx (777)
发表于 2015-01-14 15:20:05 回复(0)
C
umask
功能说明:指定在建立文件时预设的权限掩码。
语  法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。
对于新建文件 权限 666-244得到422  
linux系统中权限rwx对应数值为421,故文件权限为r-- -w- -w-
发表于 2015-01-17 19:16:49 回复(1)
创建文件时权限默认为666即-rw-rw-rw- 此时umask为244,则系统创建文件时的默认权限为666-244=422,即-r---w--w-
编辑于 2020-03-21 09:37:12 回复(0)
在Linux中 umask:目前用户在新建文件或者目录时候的默认权限值
在Linux中r,w,x的值分别是 : 4 2 1
文件的默认值是666
目录的默认值是777
新建一个文件所以是666-244=422
所以选择C
发表于 2017-12-31 20:32:29 回复(0)
666-244=422.  4--r   2--w  1--x
发表于 2015-08-31 11:38:52 回复(0)
创建目录的默认权限为777,创建文件的默认权限为666,umask取反后与默认权限进行与运算,(二进制计算),文件默认权限666 ―― 化为二进制:110 110 110 umask244 ―― 化为二进制:010 100 100,补码为:101 011 011, 取反后再与文件默认权限进行与运算得 100 010 010,再化为八进制得 422 即:-r-- -w- -w-
发表于 2019-11-02 07:27:31 回复(1)
umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限.
创建时,文件 默认666,目录默认777,减去umask的位就是结果
不要认为文件也是777哦
发表于 2017-06-12 23:08:39 回复(0)
文件默认666,目录默认777
发表于 2022-03-16 11:10:16 回复(0)
666-244
发表于 2019-08-20 12:58:49 回复(0)
对于-rwxrwxrwx来说,它意味着文件拥有者、用户群组及其他人均拥有读、写、执行权限。
且有如下表格:
只有读权限 r-- 100 4
只有写权限 -w- 010 2
只有执行权限 --x 001 1
文件的默认值为666,目录的默认值为777,最终权限值为默认值减去umask值,故666-244=422对应-r---w--w-,选C。
编辑于 2018-12-19 22:10:57 回复(0)
文件默认666 目录 777
发表于 2018-11-01 19:57:00 回复(0)
In Linux, the default permissions value is 666 for a regular file, and 777 for a directory. When creating a new file or directory, the kernel takes this default value, "subtracts" the umask value, and gives the new files the resulting permissions.
发表于 2018-03-31 17:27:34 回复(0)
文件默认666,目录默认777,最终权限为默认值减去umask值
发表于 2016-10-02 09:57:51 回复(0)
Linux中的权限有r(读) w(写) x(执行),分别用数字4,2,1代表。
发表于 2016-07-13 10:53:02 回复(0)

根据您提供的 umask 设置为 244,我们需要将其转换为二进制形式:

  • 2(十进制)转为二进制是 010。
  • 4(十进制)转为二进制是 100。

因此,umask 为 244 转换成二进制则是 010 100 100。

umask 是权限掩码,它会将默认权限中对应位的权限屏蔽掉。在默认权限为 666(即 -rw-rw-rw-)的情况下,umask 为 244 将会屏蔽掉第二个和第三个权限位,即 w 和 x。所以,创建新文件的权限将是:

  • 第一位:r(保留默认权限)
  • 第二位:-(被 umask 屏蔽)
  • 第三位:-(被 umask 屏蔽)
  • 第四位:r(保留默认权限)
  • 第五位:-(被 umask 屏蔽)
  • 第六位:-(被 umask 屏蔽)
  • 第七位:-(被 umask 屏蔽)
  • 第八位:-(被 umask 屏蔽)

综上所述,如果系统的 umask 设置为 244,创建的新文件权限将是 -r---w--w-。

发表于 2023-11-01 11:05:04 回复(0)
666 - 244 = 422,422表示r w w
发表于 2023-05-15 14:19:12 回复(0)
创建时,文件 默认666,目录默认777,减去umask的位就是结果
发表于 2019-10-16 09:42:25 回复(0)
没看过,但是我大为震撼
发表于 2024-05-11 09:22:09 回复(0)