精华内容
下载资源
问答
  • LINUX UMASK详解

    2021-05-16 11:17:06
    一 权限掩码umaskumask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常...umask的作用默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立...

    一 权限掩码umask

    umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)

    二 umask的作用

    默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的三 修改umask值

    知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了

    四 将umask值保存到环境文件

    若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中,大家应该知道这几个文件是干什么用的吧。

    您知道当你建立一个新的档案或目录时,他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?基本上, umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:语法:

    [root @test root]# umask

    0022

    [root@vbird test]# umask 002 <==后面接 3 个数字!

    [root@vbird test]# umask

    0002

    说明:查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:

    若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分

    –rw-rw-rw-

    若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分

    drwxrwxrwx

    那么 umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!如果以上面的例子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这个属性 ),那么由于当使用者:

    建立档案时:(-rw-rw-rw-) – (——–w-) ==> -rw-rw-r–

    建立目录时:(drwxrwxrwx) – (——–w-) ==> drwxrwxr-x

    不相信吗?你只要使用 touch test 然后看看这个 test 的档案属性,就可以知道了!那么如何看你这个使用者目前的 umask呢?直接下达 umask 即可!实作看看先:

    [root@vbird test]# umask

    0002

    [root@vbird test]# touch test1

    [root@vbird test]# mkdir test2

    [root@vbird test]# ls -l

    -rw-rw-r– 1 root root 0 Oct 22 00:00 test1

    drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/

    发现了什么?呵呵! Test1 的属性为 666-002 = 664 !正确吗?是的!正确!而 test2 这个目录呢?就是 777-002 = 775 !也正确!

    [root@vbird test]# umask 003

    [root@vbird test]# touch test3

    [root@vbird test]# mkdir test4

    [root@vbird test]# ll

    -rw-rw-r– 1 root root 0 Oct 22 00:03 test3

    drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/

    嘿!属性又跟刚刚的不一样啰!仔细推敲一下为什么呦!test3 666-003 =663,这是怎么一回事?! 663 应该是 -rw-rw–wx 才对啊!怎么会是上面的属性!呵呵!这里就要特别的给他强调了!『尽量不要以数字相加减啦!』容易造成类似上面的问题!你应该要这样想(-rw-rw- rw-) – (——–wx)=-rw-rw-r–这样就对啦!了解了吗?不要用十进制的数字喔!够能力的话,用二进制来算,不晓得的话,用 rwx 来算喔!

    由上面的例子您应该很轻易的就可以发现 umask 的用途!而这个 umask 可以在 /etc/bashrc 里面进行修改喔!预设的情况之下, root 的 umask 为 022 而一般使用者则为 002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!

    例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢?

    第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。

    第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。

    第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。

    稍加练习就能够记住这种方法。

    第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即

    可。

    这就是上面的例子,其中u m a s k值为0 0 2:

    1) 文件的最大权限rwx rwx rwx (777)

    2) umask值为0 0 2 – – – – – – -w-

    3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限

    4) 文件权限rw- rw- r– (664) 这就是文件创建缺省权限

    下面是另外一个例子,假设这次u m a s k值为0 2 2:

    1) 文件的最大权限rwx rwx rwx (777)

    2 ) u m a s k值为0 2 2 – – – -w- -w-

    3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限

    4) 文件权限rw- r– r– (644) 这就是文件创建缺省权限

    展开全文
  • 内容目录:内容一:默认权限值的含义内容二:临时默认权限的设置2.1 默认权限值的方法2.2 默认权限值的...umask3.1.1 给某个用户单独添加 umask 参数3.1.2 让 umask 设置生效3.2 全局设置 umask 的方法3.2.1 通过...

    内容目录:

    内容一:默认权限值的含义

    内容二:临时默认权限的设置

    2.1 默认权限值的方法

    2.2 默认权限值的方法

    2.2.1 方法一:使用权限数字设置默认权限值

    2.2.2 方法二:使用权限标志设置默认权限值

    内容三:永久默认权限的设置

    3.1 给某个用户单独设置 umask

    3.1.1 给某个用户单独添加 umask 参数

    3.1.2 让 umask 设置生效

    3.2 全局设置 umask 的方法

    3.2.1 通过修改 /etc/profile 文件实现

    3.2.1.1 案例一

    3.2.1.1.1 设置全局 umask 参数

    3.2.1.1.2 让 umask 设置生效

    3.2.1.2 案例二

    3.2.1.2.1 设置全局 umask 参数

    3.2.1.2.2 让 umask 设置生效

    3.2.2 通过修改 /etc/bashrc 文件实现

    3.2.2.1 案例一

    3.2.2.1.1 设置全局 umask 参数

    3.2.2.1.2 让 umask 设置生效

    3.2.2.2 案例二

    3.2.2.2.1 设置全局 umask 参数

    3.2.2.2.2 让 umask 设置生效

    具体的内容:

    内容一:默认权限值的含义

    如果 umask 的值是 0022:

    创建的新目录的默认权限是:777 - 022 = 755

    创建的新文件的默认权限是:666 - 022 = 644

    内容二:临时默认权限的设置

    2.1 默认权限值的方法

    # umask

    0022

    2.2 默认权限值的方法

    2.2.1 方法一:使用权限数字设置默认权限值

    # umask 0002

    2.2.2 方法二:使用权限标志设置默认权限值

    # umask -S u=rwx,g=rwx,o=rw

    内容三:永久默认权限的设置

    3.1 给某个用户单独设置 umask

    3.1.1 给某个用户单独添加 umask 参数

    # vim ~/.bashrc

    添加以下内容:

    ......

    umask 022

    (

    补充:

    (1)这里以将 umask 设置为 022 为例

    (2)补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级

    )

    3.1.2 让 umask 设置生效

    # source ~/.bashrc

    3.2 全局设置 umask 的方法

    3.2.1 通过修改 /etc/profile 文件实现

    3.2.1.1 案例一

    3.2.1.1.1 设置全局 umask 参数

    # vim /etc/profile

    将以下内容:

    ......

    if [ $UID -gt 199 ] &&

    [ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then

    umask 002

    else

    umask 022

    fi

    ......

    修改为:

    ......

    if [ $UID -gt 199 ] &&

    [ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then

    umask 002

    else

    umask 022

    fi

    ......

    (

    补充:

    (1)这里以将 umask 设置为 022 为例

    (2)补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级

    )

    3.2.1.1.2 让 umask 设置生效

    # source /etc/profile

    3.2.1.2 案例二

    3.2.1.2.1 设置全局 umask 参数

    # vim /etc/bashrc

    添加以下内容:

    ......

    umask 022

    (

    补充:

    (1)这里以将 umask 设置为 022 为例

    (2)补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级

    )

    3.2.1.2.2 让 umask 设置生效

    # source /etc/bashrc

    3.2.2 通过修改 /etc/bashrc 文件实现

    3.2.2.1 案例一

    3.2.2.1.1 设置全局 umask 参数

    # vim /etc/bashrc

    将以下内容:

    ......

    if [ $UID -gt 199 ] &&

    [ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then

    umask 002

    else

    umask 022

    fi

    ......

    修改为:

    ......

    if [ $UID -gt 199 ] &&

    [ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then

    umask 002

    else

    umask 022

    fi

    ......

    (

    补充:

    (1)这里以将 umask 设置为 022 为例

    (2)补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级

    )

    3.2.2.1.2 让 umask 设置生效

    # source /etc/bashrc

    3.2.2.2 案例二

    3.2.2.2.1 设置全局 umask 参数

    # vim /etc/bashrc

    添加以下内容:

    ......

    umask 022

    (

    补充:

    (1)这里以将 umask 设置为 022 为例

    (2)补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级

    )

    3.2.2.2.2 让 umask 设置生效

    # source /etc/bashrc

    展开全文
  • Linux umask命令详解

    2021-05-13 10:00:52
    umask:控制默认文件和目录权限的值常用的命令展示查看当前环境的umask值【基于redhat6.4】方案一: sed -n '65,69p' /etc/bashrc写入/etc/bashrc --> 临时生效0022(root)0002(普通) 方案二: grep umask /etc/...

    umask:控制默认文件和目录权限的值

    常用的命令展示

    查看当前环境的umask值【基于redhat6.4】

    方案一: sed -n '65,69p' /etc/bashrc

    写入/etc/bashrc --> 临时生效

    0022(root)

    0002(普通)

    0d3b47ed43e419c7b948a10a83fade17.png

    方案二: grep umask /etc/profile

    写入/etc/profile --> 永久生效

    0022(root)

    0002(普通)

    836dd933dde0b6de46802b69ee177e74.png

    根据umask计算文件默认权限值

    基本原则:

    文件夹: 直接相减接口

    文   件: 遇到基数的位,相减的结果+1

    假设当前的umask为 032              --> 适用于文件 文件最大666 【如果遇到umask有奇数位,则相减的结果+1】

    6 6 6              6 6 6

    0 3 2 -            0 5 1 -

    1    +               1 1 +

    ------            --------

    6 4 4              6 2 6

    ----------------------------------------------------------------------------------------

    777                                           -->  文件最大777,正常加减即可

    032

    ------

    745

    [root@localhost 2018]# umask 032

    [root@localhost 2018]# mkdir ftl2018

    [root@localhost 2018]# touch file2018

    aa7836ed44970b1d57a5bf54e41087c1.png

    展开全文
  • Linux umask命令

    2021-03-23 18:17:02
    umask是什么? umask的值与建立文件是默认的权限有关; 如何看umask的值呢? 在终端输入 umask即可,如图1 图1umask的数值与建立的文件(此处为广义的文件,包括文件和目录)的默认权限有什么关系呢 ? 建立...

    umask是什么?

    umask的值与建立文件是默认的权限有关;

    如何看umask的值呢?

    在终端输入  umask即可,如图1

    图1
    图1

    umask的数值与建立的文件(此处为广义的文件,包括文件和目录)的默认权限有什么关系呢 ?

     

    建立文件hello 与文件夹today,如图2

    图2

     

    在图2中,此时umask 的默认值为022。

    当建立文件hello时,其默认权限为644,644+022=666;

    当建立文件夹today时,其默认权限为755,755+022=777;

    修改umask的方法

    具体方式如图3

    图3

     

    总结 

    umask的值与Linux中建立文件(包括目录文件和普通文件)的默认权限有关,其值可通过指令更改。

    对于普通文件其权限默认值与umask数值相加等于666;

    对于目录文件其权限默认值与umask数值相加等于777;

     

     

     

     

     

     

     

    展开全文
  • linux umask

    2021-03-01 15:14:49
    umask查看默认权限设置, 为数字形式 参数 -S 查看符号形式 通常 文件默认权限为666 目录默认权限为777 所以umask表示会去掉的权限, 则下图中表示user不被拿掉任何权限, 其他用户被拿掉写权限 r: 4 w: 2 x: 1 ...
  • 原标题:Linux umask 命令使用详解新建一个文件或目录,它的默认权限是什么?如果要修改一个用户创建的文件和目录的默认权限该如何做?本文将介绍相关的内容。说明:本文演示的Linux环境为 Ubuntu 16.04。文件的默认...
  • umask 默认权限是 Linux 权限的一种,主要用于让 Linux 中的新建文件和目录拥有默认权限。Linux 是一个比较安全的操作系统,而安全的基础就是权限,所以,在 Linux 中所有的文件和目录都要有基本的权限,新建的文件...
  • Linuxumask详解

    2021-05-16 11:37:03
    1.由权限得到umask的值umask是一个系统变量,是一个由3个八进制数字组成的值,具体含义见表;每个数字都是八进制值1、2、4的OR操作结果。作用:当文件被创建时,为文件的访问权限设定一个掩码。执行umask命令可以...
  • 新建的子目录也在ACL管理下(有 +标记) 文件默认没有execute权限 补充问题: umask是进程相关的参数,linux系统有umask设置(CentOS在/etc/profile里有一段)、但并没有 UMASK这个变量(这个只是tomcat用到)。...
  • 一、umask是什么 登录系统以后创建的一个文件会有一个默认权限。...2.1Linux文件权限 r w x 文件 可以查看文件内容(可读) 可以修改文件(可写) 可以吧文件启动为一个运行的程序(可执行) 目录
  • umask是用来控制创建文件模式的命令,它为创建文件定义初始化的权限位,uamsk遵循POSIX的标准,因为它会影响当前shell的执行环境,通常内置到shell中查看当前umask值➜ umask000计算umask值当创建新文件时,通常都会...
  • umask命令用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask...
  • Linux系统中umask值代表的是我们创建新文件/目录的默认权限设置,系统root账号默认的umask的值为0022 普通账号的umask的值为0002.2、查看umask值 使用命令umask命令可以查看当前帐号umask的值 [root@RedHat8-2 ~...
  • linux系统umask值及其对应的文件权限1)简单好用的加减法计算文件权限计算小结论:创建文件默认最大权限为666(-rw-rw-rw-),默认创建的文件没有可执行权限x位。对于文件来说,umask的设置是在假定文件拥有八进制666的...
  • umask命令用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。语法umask(选项)(参数)选项-p...
  • linux中的文件/目录许可是用4位八进制数表示的。其中第一个八进制数用来表示特殊许可设置,第二个数字用来设置文件所有者的许可,第三个数字用来设置组许可,第四个数字用来设置所有人的许可。 -------------------...
  • Linux-umask

    2021-05-16 10:28:08
    3.文件管理3.3特殊权限3.3.1默认权限umask1.默认权限ideu若使用者创建为『档案』则预设『没有可执行( x )权限』,亦即只有rw这两个项目,也就是最大为 666 分,预设权限以下:-rw-rw-rw-。spau若用户创建为『目录』...
  • umask函数:相关函数:creat,open头文件:#includepes.h>#include 定义函数:mode_tumask(mode_tmask);函数说明:umask()会将系统umask值设成参数mask&0777后的值,然后将先前的umask值返回。在使用open()建立...
  • [转载]linux umask函数

    2021-05-15 02:33:07
    语 法:umask [-S][权限掩码]补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。参 数:-S 以文字的方式来表示权限...
  • Linux中,profile文件中umask 022的含义

    千次阅读 2021-01-13 22:22:10
    Linux的profile文件中,包含以下语句。umask决定目录和文件被创建时得到的初始权限,“022”时初始权限为“rwxr-xr-x”,即“755”。 umask 022 “022”是八进制格式数据,二进制值为10010,字符表示为“----w--w-...
  • 函数原型:mode_t umask(mode_t mask) mask:八进制位掩码值 return: 返回上一次的掩码值,没有失败只有成功。
  • 语 法:umask [-S][权限掩码]补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。参 数:-S 以文字的方式来表示权限...
  • 前言起源是一道题1:如果你的umask设置为022,缺省的你创建的文件权限为?这让我回忆起被问过的另外一道题2: 777表示什么权限?用户组说明-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc第一个字符代表文件(-)、目录...
  • umask命令用来设置所创建文件和目录的默认权限 。 umask默认的值为0022(掩码),其中第一位代表了一项特别的安全特性,叫作粘着位(sticky bit),后面三个数值组成了umask的八进制值。 其中读(r)写(w)执行...
  • linux权限之umask

    2021-02-22 15:24:23
    umask反向掩码: umask是设置文件/目录的默认权限,也就是刚创建完权限是什么样的 满权限(目录777,文件666)减去umask值的权限才是文件/目录的真正权限 直接输入umask可以查看当前umask的值设置的是多少 第一个0...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,359
精华内容 23,343
关键字:

linuxumask

linux 订阅