精华内容
下载资源
问答
  • linux权限掩码
    2019-09-28 14:55:30

    我的博客:www.shishangguan.net

    主要是在新建文件或目录的时候,控制新文件或目录的默认权限。

    文件:新建文件默认没有x权限,故新建文件在umask为000时最大权限是666.

    目录:新建目录默认有所有权限,故新建文件夹在umask为000时最大权限是777.

    转载于:https://www.cnblogs.com/yamadie/p/3474993.html

    更多相关内容
  • Linux 权限(二)权限掩码 粘滞位 详细

    千次阅读 多人点赞 2022-01-29 19:02:52
    文章目录Linux权限的概念Linux权限管理01.文件访问者的分类(人)02.文件类型和访问权限(事物属性)02.文件类型和访问权限(事物属性)![在这里插入图片描述]...

    Linux权限的概念

    理解权限:
    一件事情是否被特定的人做;
    权限约束的是人;文件本身具有天然的权限属性:r + w + x;
    权限= 人 + 事物的属性

    Linux下有两种用户:超级用户(root)、普通用户。

    超级用户:可以再linux系统下做任何事情,不受限制

    普通用户:在linux下做有限的事情。

    超级用户的命令提示符是“#”,普通用户的命令提示符是“$

    命令:su [用户名]

    功能:切换用户。
    例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令

    用户登陆上了,临时切换了root,现在又要切换回来
    从root切换成普通用户

    su -username
    exit
    crt+d
    

    注意:最后使用exit或crt+d进行回退用户,因为每次 su -username 都会产生 bash的子进程;
    你可以通过 下面指令进行测试:

    ps axj | grep bash
    

    Linux权限管理

    01.文件访问者的分类(人)

    • 文件和文件目录的所有者: u—User(中国平民 法律问题)
    • 文件和文件目录的所有者所在的组的用户: g—Group(不多说)
    • 其它用户: o—Others (外国人)
    • 最高权限: root
      解析:所属组
      我们以后进公司工作,都会加入项目组。项目组由多个组员组成,那么组员外的人就属于other
      ,既然是一个组的,为了方便组员间沟通合作,Linux下对同组用户设置一类权限;

    02.文件类型和访问权限(事物属性)

    在这里插入图片描述test.txt文件由 root创建,所以该文件拥有者是root,在这里插入图片描述
    切换普通用户进行修改该文件,普通用户不能修改该文件,因为普通用户没有修改权限
    这时候我们需要给用户添加权限,这时我们可以在我们的指令前面加上sudo指令,就可以以root权限执行这条指令,但需要用户的密码和用户的root权限信任。

    sudo 作用是短暂的提升权限。

    sudo echo "hello Linux " > test.txt
    

    权限约束不同的人对相同文件进行不同的操作,那么他们是怎么一回事呢?

    我们来简单了解以下文件的属性
    在这里插入图片描述在这里插入图片描述小结:文件的权限就是对应文件的属性。拥有者,所属组,其他人 就是特定的人群。
    把属性和人群对应,我们就约束了指定人群所具备的某种属性。

    拥有者,所属组,other vs root 和普通用户

    拥有者,所属组,other:指的是一种角色身份
    root 和普通用户:指的是具体的一个人
    解析:
    root 和普通用户都是Linux下具体的一个用户,它们既有可能是拥有者,也可以是 所属组,或者是other。

    a) 文件类型

    Linux 下一些皆文件

    d:文件夹
    -:普通文件[ 文本,各种静态库,可执行程序,源文件 ]
    l:软链接(类似Windows的快捷方式)
    b:块设备文件(例如硬盘、光驱等)
    p:管道文件
    c:字符设备文件(例如屏幕等串口设备)
    s:套接口文件

    注意:inux下以这一位标识文件类型,而不是用后缀名标识文件类型

    b)基本权限

    i.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
    ii.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
    iii.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
    iv.“—”表示不具有该项权限

    解析:对应三个位:(是否具有可读)(是否具有可写)(是否具有执行)是 否                    是   否                    是  否r    -                      w     -                      x     -

    03.文件权限值的表示方法

    a)字符表示方法
    在这里插入图片描述

    b)8进制数值表示方法
    在这里插入图片描述

    04.文件访问权限的相关设置方法

    a)chomod

    功能: 设置文件的访问权限
    格式: chmod [参数] 权限 文件名
    常用选项:

    R -> 递归修改目录文件里所有文件的权限
    说明:只有文件的拥有者和root才可以改变文件的权限
    chmod命令权限值的格式
    ① 用户表示符+/-=权限字符
    +:向权限范围增加权限代号所表示的权限
    -:向权限范围取消权限代号所表示的权限
    =:向权限范围赋予权限代号所表示的权限
    用户符号:
    u:拥有者
    g:拥有者同组用
    o:其它用户
    a:所有用户
    下面详细演示,如何修改权限
    在这里插入图片描述

    补充:
    修改权限不仅可以用 r,w,x 修改,还可以利用8进制数字,因为权限的位置都是确定的并且具有两态性,我们可以用三位二进制进行表示,而每一个三位二进制我们可以转换成一个8进制
    如果要进行 chmod a-rwx file.txt
    我们可以换成八进制写法,二进制是111 111 111 转换成8进制就是 777
    在这里插入图片描述

    b)chown (修改文件拥有者)

    **功能:**修改文件的拥有者
    格式: chown [参数] 用户名 文件名
    常用选项: -R 递归修改文件或目录的所属组
    实例: chown username filename.txt

    c)chgrp(修改文件所属组)

    功能修改文件或目录的所属组
    格式: chgrp [参数] 用户组名 文件名
    常用选项: -R 递归修改文件或目录的所属组
    实例: chgrp username filename.txt

    r,w,x权限用在文件与目录的区

    直接给出结论:
    1.root权限很大,现在为止除了x权限对它有影响外,其余权限不对它进行干涉,x只是对root做到提示的作用,避免root执行危险的程序,如果root要指向,root本身是可以修改x权限的。
    2.权限在目录中对文件进行(w)是否能删,是否能改,®是否能阅读文件名,(x)是否能进入目录,
    3.权限在文件中,®文件内容阅读,(w)文件内容修改,删除 ,(x) 是否能执行

    ⑴ r,w,x权限的详细介绍(面向文件)

    下面给大家演示没有某权限时出现的问题。
    为了方便大家看,下面演示的文件全部由BBQ用户所创建。
    x,具有执行文件的权限
    在这里插入图片描述
    w,所属人没有 w权限,不能对文件内容进行修改,删除操作;
    在这里插入图片描述
    r, 所属人没有 w权限,不能对文件内容进行访问

    ⑵ r,w,x权限的详细介绍(面向目录)

    没有r权限,目录内,文件信息不能查看(ls,ll),但却可以对目录里进行删除添加操作
    在这里插入图片描述

    如果没有w权限,则无法在目录里,添加文件,或删除文件,如果文件的权限也没有w权限,则不能修改文件内容,否则就是可以修改

    在这里插入图片描述
    在这里插入图片描述
    如果没有x权限,则无法进入目录里,也无法查看文件的详细信息
    在这里插入图片描述

    粘滞位(重要)

    如果用户对目录有w权限,那么就可以对目录里的所有文件进行删除。
    那么有一个情况如果这个目录的拥有者想让这个目录对所有用户都可以在该目录存放数据但是数据不能被其他用户删除,那该怎么办?
    Linux就引入了粘滞位
    语法: chmod o+t [文件]
    当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

    1. 超级管理员删除
    2. 该目录的所有者删除
    3. 该文件的所有者删除

    小结:目录的权限

    • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
    • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容
    • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

    特殊情况:使用粘滞位

    权限掩码

    在Linux 下,文件的默认权限是 777,目录的默认权限是666,
    每当我们创建一个文件,都会有默认的权限,但是每次重新登录系统,又会有所不同。
    因为掩码具有可变性,所以每一次登录都会刷新一次掩码,而且掩码影响文件的默认权限。
    公式:
    权限=mask(文件或目录的默认权限)& ~ umask(掩码)

    每次登录掩码都会改变,我们可以查看掩码
    查看掩码方式:umask
    更改掩码方式:umask 掩码值

    注意:更改后的掩码只在本次登录有效。
    在这里插入图片描述

    权限总结:

    • 目录的可执行权限是表示你可否在目录下执行命令。
    • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r读权限(这 个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
    • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
    • 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
      在这里插入图片描述
    展开全文
  • linux文件权限掩码umask

    2021-06-05 12:27:00
    umask是文件权限掩码的意思,新建文件和目录的默认权限值就是在原始默认权限的基础上去掉umask值,umask值与原始默认权限共同决定了新建文件和目录的默认权限值。 可直接通过umask命令查看当前系统的umask值: [root...

    peter@initroot:/tmp$ touch testfile

    peter@initroot:/tmp$ mkdir testdir

    peter@initroot:/tmp$ ls -ld testfile testdir

    drwxr-xr-x 2 peter peter 4096 Jan 6 20:13 testdir

    -rw-r--r-- 1 peter peter 0 Jan 6 20:13 testfile

    这里ls命令的-d选项表示,如果后面的参数是一个目录的话,只显示该目录本身的详细信息,而不是目录内文件的详细信息。

    我们上面讲到,文件和目录的默认权限分别是-rw-rw-rw-和drwxrwxrwx。这里怎么变成-rw-r--r--和drwxr-xr-x了呢?

    本来想法是挺简单的。但是其实上面所讲的默认值是有问题的,虽然可以适应大部分情况,但并不适合所有的用户环境。因为每个用户对文件默认权限的要求都是不一样的,

    有的用户希望创建的新文件默认不被读取,而有的用户希望新文件的默认权限可以被读取修改。有的用户希望新建的目录默认可以允许进入,

    但是有的用户可能不希望这样。真是众口难调啊。于是linux本着为用户服务的宗旨,让大家可以根据自己的实际需求和喜好自行设置文件和目录的默认权限属性。

    我们将上面讲到的文件和目录默认权限称为原始默认权限:

    普通文件原始默认权限为-rw-rw-rw-,权限值为666;

    目录原始默认权限为drwxrwxrwx,权限值为777。

    由于文件的原始默认权限属性无法直接修改,用户只能通过修改umaks值的方式间接修改文件的默认权限。

    umask是文件权限掩码的意思,新建文件和目录的默认权限值就是在原始默认权限的基础上去掉umask值,umask值与原始默认权限共同决定了新建文件和目录的默认权限值。

    可直接通过umask命令查看当前系统的umask值:

    [root@initroot ~]# umask

    0022

    这个值看不懂?没关系,就像chmod有两种形式的权限书写形式一样,

    umask也有两种显示方式,以上是数字形式的umask值,我们可以通过-S(Symbolic)选项,以字符型的方式显示掩码值:

    [root@initroot ~]# umask -S

    u=rwx,g=rx,o=rx

    umask的数值共有四位,例如上面的输出0022,四位数表示四组权限值,分别是文件特殊权限,文件所有者权限,文件所属用户组权限,其他用户权限。

    这里我们先忽略掉文件特殊权限位。

    umask值指的是需要从原始默认权限减掉的权限! 我们已经知道r、w、x的数值分别是4、2、1。 所以如果要去掉写权限,umask值中相应的位就是2,

    如果要去掉读权限,那就是4, 去掉读与写权限,就是6, 去掉执行与写权限,就是3,去掉读与执行的权限,就是5!

    而我们通过-S选项的输出u=rwx,g=rx,o=rx可以看出,u=rwx表示文件所有者权限没有去掉任何权限,对应umask相应位的数值为0,

    g=rx,o=rx表示文件所属用户组和其他用户去掉了w权限,对应的umaks相应位的数值就是2,所有umask的数值为0022.

    这样文件的默认权限就是:

    原始默认权限(-rw-rw-rw-) - umask掩码(-----w--w-) = (最终默认权限)-rw-r--r--;

    目录的默认权限就是:

    原始默认权限(drwxrwxrwx) - umask掩码(d----w--w-) = (最终默认权限)drwxr-xr-x

    与我们上面ls -al命令的输出正好吻合:

    peter@initroot:/tmp$ touch testfile

    peter@initroot:/tmp$ mkdir testdir

    peter@initroot:/tmp$ ls -ld testfile testdir

    drwxr-xr-x 2 peter peter 4096 Jan 6 20:13 testdir

    -rw-r--r-- 1 peter peter 0 Jan 6 20:13 testfile

    所以修改umaks值就可以修改文件或者目录的默认权限属性了,那么如何设置umask值呢?

    直接在umask后面输入数值就可以了。例如我希望建立的文件所属用户组默认是具有读写权限的,那么只需要在umask后面加入0002就可以了:

    root@initroot:/tmp# umask 002

    root@initroot:/tmp# touch testfile1

    root@initroot:/tmp# mkdir testdir1

    root@initroot:/tmp# ls -ld testfile1 testdir1

    drwxrwxr-x 2 root root 4096 Jan 6 20:13 testdir1

    -rw-rw-r-- 1 root root 0 Jan 6 20:13 testfile1

    假设umask为003,那么新建文件文件与目录默认权限是多少呢?

    umask为003,所以去掉的权限为--------wx,因此:

    文件默认权限: (-rw-rw-rw-) - (--------wx) = -rw-rw-r--

    目录默认权限: (drwxrwxrwx) - (d-------wx) = drwxrwxr--Set UID,简称为 SUID

    我们每次通过命令更改umask值,但是在关闭shell或者重启后,umaks又恢复到了原来的值,如果想让umask的设置值一直保留下去,

    那么需要将该命令写入~/.bashrc文件中。root的umask会拿掉比较多的属性,root的umask默认是0022, 这是基于安全的考虑.

    至于一般用户,默认的umask为0002,即保留用户群组的写入权限! 其实,关于默认umask的设置可以参考/etc/bashrc文件,不过,不建议修改该文件。

    initroot编辑整理,转载请注明www.initroot.com

    展开全文
  • 权限掩码–>默认文件和目录的权限 umask 022 创建一个文件默认权限是644=666-022,目录时755=777-022 文件的读:cat 文件的写:vim 文件的执行权限:执行文件中的代码 目录的读权限:ls 写权限:touch mv cp rm ...

    在这里插入图片描述

                  总文章在:Linux常用命令
    在这里插入图片描述

    r读 w写 x执行

    查看文件权限:
    rw-r–r--
    第一组用户权限
    第二组用户组权限
    第三组其他用户权限
    chmod 修改文件权限
    chmod [选项] “u/g/o/a+/-/=rwx”文件(u代表第一组uid,g代表第二组gid,o代表第三组其他用户权限,a代表全部(a会给每一组加一个))
    r=4 w=2 x=1 -=0

    文件的归属:
    属于哪个用户 属主
    属于哪个用户组 属组

    语法:

    chown [选项] 用户:用户组 文件名
    -R 递归修改

    /dir1/ a.txt b.txt c.txt
    chown -R root:root /dir1

    find ./ -maxdepth 1 -type f ! -name “.*” -exec chown xiaoming:xiaomimg
    { } ;
    查找深度为1的名字、为.*结尾的文件再给他修改用户和用户组

    权限掩码–>默认文件和目录的权限

    umask 022

    创建一个文件默认权限是644=666-022,目录时755=777-022

    文件的ACL(访问控制列表)

    getfacl 获取文件的ACL
    setfacl 设置文件的ACL
    setfacl -m 用户:权限 文件名 设置用户权限
    -x 删除指定文件的ACL(setfacl -x 用户名 文件名)
    -b 清空文件的ACL(setfacl -b 文件名)

    默认情况,文件给定用户的ACL要考虑到ACL中的mask值

    特殊权限:
    rws/s rws/S rwt/T
    4 2 1
    大小写取决于执行位是否有执行权限

    特殊属性:

    lsattr 查看特殊属性
    chattr 设置特殊属性
    i 不能修改不能追加
    a 只可以追加,不能修改 只有root用户可以设置

    用法:

    chattr -i 文件名
    chattr +i 文件名

    展开全文
  • 在说文件权限掩码之前,必须了解下linux下的文件权限,比如在linux下可以通过“ls -l”命令查看文件的权限,输入后可以获得如下显示:drwxrwxr-x 3 linux linux 4096 Jun 6 18:03 test在显示中“drwxrwxr-x”这十个...
  • Linux权限
  • Linux权限掩码指令umask 简介 linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。 文件的访问允许权限共有9种,分别是:rwxrwxrwx 它们分别代表:用户读 用户写 用户...
  • Linux特殊权限掩码

    2019-10-03 21:03:07
    每个Linux终端都拥有一个umask属性,umask熟悉可以用来确定新建文件、目录的默认权限,默认系统权限掩码为022。在系统中每创建一个文件或者目录,文件默认权限是666,而目录权限则为777,权限对外开放比较大,所以...
  • Linux默认权限掩码

    2021-05-11 05:38:45
    Linux教程Linux教程:http://www.fdlly.com/m/linux文章目录默认权限掩码设置权限掩码以文字的方式设置权限掩码查看系统当前的权限掩码默认权限掩码当我们创建文件或目录时,系统会自动根据权限掩码来生成预设权限;...
  • 1、文件权限 ls -l [文件] ——查看目录和文件的属性 -为文件类型;rwx为文件或目录的所有者的权限;rwx为用户组内的用户的权限;r-x为组内其他用户的权限 ...-p:输出的权限掩码可直接作为指令来执
  • -p:带umask开头以数字的形势显示当前掩码 umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限 例: 复制代码代码如下: [root@localhost ~]# umask #查看当前用户预设权限 0022 [root@localhost ~]# ...
  • linux 权限掩码 umask

    千次阅读 2016-03-13 17:32:54
    一 权限掩码umask  umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它...
  • linux 用户的目录、文件权限,权限掩码umask
  • umask命令可用来设定权限掩码权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。 语法格式:umask [参数] [权限掩码] 常用参数: -S 以文字的方式来表示...
  • Linux文件权限

    2021-05-11 21:03:41
    ​ 在Linux系统下,一切皆文件,而对于一个文件必定需要权限去对其进行访问和操作,那么对于用户来说,可以通过哪些权限来访问文件呢?​ 首先,我们需要对Linux系统下文件访问权限有一定的了解:​文件权限值的表示...
  •  linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。  文件的访问允许权限共有9种,分别是:rwxrwxrwx  它们分别代表:用户读 用户写 用户执行 组读 组写 组执行...
  • linux设置权限掩码命令-----umask

    千次阅读 2020-02-20 17:06:53
    umask umask命令用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。 ...用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧...-p:输出的权限掩码可直接作为指令来执行 ...
  • umask命令用来设置限制新建...语法umask(选项)(参数)选项-p:输出的权限掩码可直接作为指令来执行;-S:以符号方式输出权限掩码。作用;控制新建的文件或目录的权限系统用户:#umask 022普通用户:#umask 002umask值与...
  • 浅谈Linux中文件访问权限与权限掩码关系
  • Linux下,权限掩码umask,系统默认文件夹和文件的权限来源 O、umask的作用 1、系统创建文件夹时,使用0777-0022(umask掩码的默认值)为新创建的文件夹授权,所以系统创建的文件夹默认的权限就是755.也就是rwxr_xr_x...
  • linux的umask权限掩码为022 和027释义

    千次阅读 2022-05-11 17:59:47
    linux的Umask 为022 和027 都是什么意思? 用全部权限777去减这个数值 一。022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写) 二。027表示默认创建新文件权限为750 也就是...
  • 权限掩码

    2021-05-11 00:43:15
    文件rwx权限在了解权限掩码之前先了解下权限的基本知识r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对...
  • 14.基本权限及权限掩码
  • 5.15 umask指令:设置权限掩码【语 法】umask[-PS][权限掩码]【功能介绍】该指令作用主要是设置权限掩码。注意:权限掩码的作用是屏蔽新建文件的权限。例如,文件权限掩码是"022",而新建目录的权限掩码是"777-022=...
  • 文件拥有者我们也成为文件的属主,由于Linux系统是一个多尔恩五用户的系统,因此会有很多人来使用这部主机,为了考虑每个人的隐私,文件所有者这个去权限就尤为重要。 2、群组 群组是权限中最有用的功能之一,群组...
  • 2.34 umask指令:指定在建立文件时预设的权限掩码【语法】umask [-S][权限掩码]【功能介绍】该指令主要用于指定文件创建时所预设的权限掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,377
精华内容 14,950
关键字:

linux权限掩码