精华内容
下载资源
问答
  • Linux 文件权限

    万次阅读 多人点赞 2018-06-02 22:48:33
    和周围人交流发现,文件权限这一块似乎是很多人弄得不明不白的地方,就是知道这么个东西,但是看也看不太懂,知道得也不清楚,毕竟也可能是有些同学还没学到需要清楚了解文件权限的地方,没有怎么去看过或处理过与...

        和周围人交流发现,文件权限这一块似乎是很多人弄得不明不白的地方,就是知道这么个东西,但是看也看不太懂,知道得也不清楚,毕竟也可能是有些同学还没学到需要清楚了解文件权限的地方,没有怎么去看过或处理过与文件权限相关的信息,于是就是仅仅知道而已,但是文件权限其实是相当重要的知识,尤其是学到网络这一块你就会知道。下面开始进入正题

    一、查看文件权限

        首先,在终端你输入这个命令

    ls -l

        得到较为详细的文件信息


        就以我的为例子来进行讲解。我们得到了八列信息,我们的重点是文件权限的相关问题,因此对于与文件权限无关的列不做说明。

        第一列:文件类型及文件权限(该列由11个字符组成,具体如下)

        

    第一个字符表示文件类型(如上面第二列第一个的第一个字符 - ),其具体为:
     
    d:表示是一个目录。
     
    -:表示这是一个普通的文件。
     
    l: 表示这是一个符号链接文件,实际上它指向另一个文件。
     
    b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
     
    s、p:这些文件关系到系统的数据结构和管道,通常很少见到。
     
    文件权限:从第二个字符到最后共9(第2-10个字符)个字符,三个字符为一段:如rw-r--r--
     
    第11个字符:. 与selinux相关,有这个点表示selinux开启,没有这个点表示selinux关闭(不做了解)

        那么这第二到第十个字符这九个权限位是代表了什么意思呢?

        回顾一下Linux中用户的概念与文件权限的种类

        用户

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

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

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

        超级用户的在终端的命令提示符是“#”,普通⽤用户的命令提⽰示符是“$”。

        文件权限的基本种类(还有一些基本不用的权限不做说明)

    1. 读(r):Read,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 ,注意,对于目录而言,浏览的意思就说,r权限仅仅表示你有权限知道这个目录会有哪些内容,而不代表你就能cd到该目录进行工作,这是x权限才有的
    2. 写(w):Write,对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限       
    3. 执行(x):execute,对文件而言,具有执行文件的权限;对目录来说,具有进入(cd)目录的权限,事实上,对于目录来说,如果只有x权限,没有r权限的话,ls指令都执行不了,因为若没r权限,这个目录里的内容就不能读

         组合起来如下


        

        再说明几个概念

        属主:该文件创建者或被指定的文件所属者

        属组:文件的所属组(在该组内的非属主用户对该文件拥有该属组权限)

        其他:其他用户,既不属于属主又不在属组的用户

        

        这九位分别每三个对应属主,属组,其他

        把上面的组合起来就有例如

    rwx --- ---: 文件所有者对文件具有读取、写入和执行的权限。
    rwx r-- r--: 文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。
    rw- rw- r-x: 文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
    rwx --x --x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。
    rwx --- ---: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

        这样的组合同时也可以通过对应二进制位(即该权限存在为1,不存在为0)表示转换成八进制后,通过八进制数对应起来

        

    二、文件权限的相关设置命令

       1)chgmod

        功能:设置文件的访问权限

        使用格式:chgmod [参数] 权限 文件名

        常用选项:-R  递归改变目录文件的权限

        其使用格式有能分为两种

        1.用户表示符 +/=/- 权限字符

        

    例如:

    创建一个123.txt文件,查看其文件权限,chmod命令来增加其拥有者的可执行权限,

    之后再查看其文件权限


    会发现其拥有者就有了可执行权限

        2.三位8进制数

        例如

        

        ps:特别需要注意的是,只有文件的拥有者和root才能改变文件的权限

        2)chown

        功能:改变文件的拥有者

        格式:chown [参数] 用户名 文件名

        常用选项:-R  递归改变文件或目录文件的拥有者

        例如:

        ps:ls -l的第三、四列分别为文件拥有者与所属组

        3)chgrp

        功能:改变文件或目录的所属组

        格式:chgrp [参数] 用户组名 文件名

        常用选项:-R  递归改变文件或目录的所属组

        例如:

        

        4)umask

        功能:查看或修改文件掩码

        掩码有啥用?别弄复杂了,简单的说就是这样

        新建文件的默认权限 = 0666 - 掩码权限值

        新建文件夹的默认权限 = 0777 - 掩码权限值

        格式: umask   掩码权限值

        将用户现有的文件权限减去掩码权限值后,即可得到新创建文件或文件夹的默认权限。超级用户的默认掩码权限值为0022,普通用户的默认掩码权限值为0002

        例如:


        建议还是不要自己胡改掩码,以免造成不必要的麻烦(比如有人改了后,每次创建文件发现都要手动加可执行,半天又想不起来自己改了掩码 = =),像我在测试后就立马改回来了。

    三、粘滞位

        chmod +t 文件夹名

        这个其实也很简单,不用弄复杂了,什么是粘滞位?

        算是对于目录所设置的一种特殊权限

        被设置了粘滞位的目录,只能被超级用户、该目录或该文件所有者删除

        注意:粘滞位只能对目录设置,对文件设置是无效的


    展开全文
  • Linux文件权限管理

    万次阅读 2019-06-22 17:50:25
    文件权限 ls -lh //可以查看目录详情,包括内存占用大小 drwxr-xr-x 2 root root 21 Jun 19 17:51 fileIotServer -rw-r--r-- 1 root root 63M Jun 19 18:48 iotserver-0.0.1.jar -rw-r--r-- 1 r...

     Linux系统是一个多用户环境,所以在同一时间可能有多个用户在使用同一个目录或文件。但对每个用户不一定都有相同的权限,也许有的用户可以查看文件、有的用户可以修改文件等,为了满足这样的要求就必须对目录或文件配置权限。

    1.Linux文件权限

    1.0 权限种类

     在Linux系统中权限分为可读(r)、可写入(w)、可执行(x)三种。对于文件来说,可读权限表示允许对文件进行浏览;可写入权限表示允许修改文件;可执行表示可以将文件作为命令使用。对于目录来说,可读权限表示允许显示目录列表;可写入表示可以在目录中建立、删除、移动文件或子目录;可执行表示可以切换到目录。

    ls -lh #可以查看目录详情,h选项表示显示文件大小
    

    输出:

    drwxr-xr-x 2 root root  21 Jun 19 17:51 fileIotServer
    -rw-r--r-- 1 root root 63M Jun 19 18:48 iotserver-0.0.1.jar
    -rw-r--r-- 1 root root 26K Apr 25 02:29 mysql80--el7-3.noarch.rpm
    |[-][-][-]-  [--] [--]
    | |  |  | |    |    |
    | |  |  | |    |    +----------------> 7. Group
    | |  |  | |    +---------------------> 6. Owner
    | |  |  | +--------------------------> 5. Alternate Access Method
    | |  |  +----------------------------> 4. Others Permissions
    | |  +-------------------------------> 3. Group Permissions
    | +----------------------------------> 2. Owner Permissions
    +------------------------------------> 1. File Type
    

    说明:

    • 第一个字符一般用来区分文件和目录:

      d:表示是一个目录,事实上在Ext2 FS中,目录是一个特殊的文件。
      -:表示这是一个普通的文件。
      l:表示这是一个符号链接文件,实际上它指向另一个文件。
      b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
      s、p:这些文件关系到系统的数据结构和管道,通常很少见到。

    • 第2~10个字符当中的每3个为一组,左边三个字符表示所有者权限(Owner Permissions),中间3个字符表示与所有者同一组的用户的权限(Group Permissions),右边3个字符是其他用户的权限(Others Permissions)。

      r(Read):

      对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限
      w(Write):

      对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
      x(execute):

      对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

    1.1文件所有者例外

     在Linux即便文件的权限中所有者并没有写权限,但只要当前用户是文件所有者一样可以写入文件。例如用vim编辑后,只需要在保存时,采用"!" 强制保存即可。

    1.2保护子目录

     很多时候用户为了让其他用户可以访问某个目录,如用户家目录。给了用户可执行权限,但如果没有给可读权限时(对于目录没有可读权限就不能显示目录列表),其他用户必须事先知道该目录下子目录或文件才可以访问到。因为其他用户不能使用“ls”命令浏览目录中的内容,这样该目录还是保密的,其他用户只访问用户选择公开的部分。
     虽然给其他用户可读权限在防止其他用户浏览该目录内容上有一定作用,但这不是非常可靠。因为尽管其他用户只有执行权限,但是其他用户可以猜到该目录中的内容。比如用户家目录下通常会有一个名为“.bashrc”的文件,其他用户在不浏览的情况下也可以查看该文件中的内容。所以在给予其他用户执行权限后,要充分考虑该目录中的文件和子目录的权限。

    例如: test用户没有查看权限

    [test@VM_0_13centos tmp]$ ll lost/
    ls: lost/: Permission denied
    

    但是还是可以查看lost目录下有读取权限的文件:

    [test@VM_0_13centos tmp]$ cat lost/jack.txt
    Hello world!!!
    

    2.文件授权

    2.1 chmod命令:

     chmod命令是我们进行权限管理最常用的命令。该命令有两种用法,一种是包含字母和操作符表达方式的文字配置方法;另一种是包含数字的配置方式。

    语法:

    chmod [-cfvR] [--help] [--version] mode file...
    

    参数说明:

    • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

    选项说明:

    • -c : 若该文件权限确实已经更改,才显示其更改动作
    • -f : 若该文件权限无法被更改也不要显示错误讯息
    • -v : 显示权限变更的详细资料
    • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
    • –help : 显示辅助说明
    • –version : 显示版本

    **示例一:**通过操作符表达式的文字配置方式

    将文件 file1.txt 设为所有人皆可读取 :

    chmod a+r file1.txt
    

    将文件 file1.txt 与 file2.txt 设为该文件拥有者,所属群组可写入,但其他以外的人则不可写入 :

    chmod ug+w,o-w file1.txt file2.txt
    

    将目前目录下的所有文件与子目录皆设为任何人可读取 :

    chmod -R a+r *
    

    示例二: 用数字方式授权

    读、写、执行分别用数字表示为:r=4,w=2,x=1 一组权限可以用一组数字表示,比如 777表示 rwx rwx rwx, 640表示rw- r-- --x

    chmod 777 filename  #给User,Group,other分别授权读写和执行权限。
    chmod 444 filename  #授予只读权限
    chmod 777 * #给当前目录所有文件授权
    chmod -R 777 jack/ #给jack目录和下面的所有文件即文件夹,都授予读写和执行权限
    
    2.2 chown命令:

    chown和chmod命令长得很像,但功能和用法不同。

    命令作用
    chmod更改文件或目录的权限(更改的是权限)
    chown更改文件或目录的所有者或拥有组(更改的是属性)

    语法:

    chown [-fhRv] [--reference=<参考文件或目录>] 所有者[:拥有组] 文件|目录...
    

    常用选项:
    ● 文件|目录…:要更改拥有组的文件或目录。
    ● -f:不显示错误信息。
    ● -v:显示命令执行过程。
    ● -h:更改遇到的符号链接的所有者或拥有组,而非符号链接指向的文件或目录的所有者或拥有 组。当遇到符号链接而未指定“-h”选项时,会更改符号链接指向的文件或目录的所有者或拥有组,而非链接本身的所有者或拥有组。
    ● -R:递归处理,将指定目录下的所有文件及子目录一并处理。
    ● --reference=<参考文件或目录>:把指定文件或目录的所有者和拥有组更改成和参考文件或目录的拥有组相同。
    在使用chown命令指定用户或用户组时,可以使用名称或ID。下面看几个chown命令的例子。

    更改目录freeOcean的所有者为jack

    chown jack freeOcean/
    

    更改目录 freeOcean的拥有组为jack

    chown :jack 
    
    2.3 chgrp 命令:

    该命令从字面就可以看出,change group 。作用就是修改文件或目录的拥有组。实际上chown就可以做到。所以该命令不太常用。

    应用举例:修改目录test目录的拥有组为mary

    chgrp mary  test/
    

    4.高级权限管理

    4.1权限掩码

    查看权限掩码:

    [root@VM_0_13_centos zx]# umask
    0022
    

    使用-S用r、w、x显示:

    [root@VM_0_13_centos zx]# umask -S
    u=rwx,g=rx,o=rx
    

     权限掩码umask是一个四位整数(千位的0表示特殊权限,下文解释,可先忽略),其中百位是所有者权限掩码;十位是拥有组权限掩码;个位是其他用户权限掩码。当用户在新建目录或文件时真正的权限会使用Linux内核级别默认权限减去umask值。

    在Linux内核级别新建文件的默认权限是666,在Linux内核级别新建目录的默认权限是777.

    所以实际最终结果的权限 是666-022 = 644 :

    比如我新建一个aa.txt 查看权限 如下:

    -rw-r--r-- 1 root root     0 Dec 29 18:19 aa.txt
    

    所以如果想修改新建文件和目录的权限,则可以通过修改umask来控制。

    umask 011  #修改权限掩码为 011 ,千位不会改变
    
    4.2特殊权限

    SUID属性:

     我们知道passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的米。但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入,那为什么其他用户也可以修改自己的密码呢?这就是由于Linux的文件系统中的文件有SUID属性。

    [root@VM_0_13_centos zx]# ll /etc/shadow
    ---------- 1 root root 679 Jul 10 20:37 /etc/shadow
    

     SUID属性只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限。passwd命令启用了SUID功能,所以一般用户在使用passwd命令修改密码时,会临时拥有了passwd命令所有者root用户的权限,这样一般用户才可以将自己的密码写入/etc/shadow文件。在使用“ls-l”或“ll”命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的“s”就表明该执行文件拥有SUID属性。

    [root@VM_0_13_centos zx]# ll /usr/bin/passwd 
    -rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
    

    Sticky属性:

     Sticky属性只能应用在目录,当目录拥有Sticky属性所有在该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能删除。比如当用户oliva在“/charles”目录中建立一个文件并将该文件权限配置为777,当/charles目录拥有Sticky属性时,只有root和oliva用户可以将该文件删除。

    SGID属性:

     SGID与SUID不同,SGID属性可以应用在目录或可执行文件上。当SGID属性应用在目录上时,该目录中所有建立的文件或子目录的拥有组都会是该目录的拥有组。如“/charles”目录的拥有组是charles,当“/charles”目录拥有SGID属性时,任何用户在该目录中建立的文件或子目录的拥有组都会是charles;当SGID属性应用在可执行文件上时,其他用户在使用该执行文件时就会临时拥有该执行文件拥有组的权限。如/sbin/apachectl文件的拥有组是httpd,当/sbin/apachectl文件有SGID属性时,任何用户在执行该文件时都会临时拥有用户组httpd的权限。

    配置SUID/SGID/Sticky属性
     配置普通权限时可以使用字符或数字,SUID、SGID、Sticky也是一样。使用字符时s表示SUID和SGID、t表示Sticky;4表示SUID、2表示SGID、1表示Sticky。在配置这些属性时还是使用chmod命令。

    给test目录增加SUID属性:

    [root@VM_0_13_centos zx]# chmod u+s test
    

    给test目录增加SGID属性:

    [root@VM_0_13_centos zx]# chmod g+s test
    

    在使用数字表示时,原来的三位不变,只是增加了一个千位专门用于SUID、SGID、Sticky属性。下面的4就是SUID属性。

    给test目录增加Sticky属性:

    [root@VM_0_13_centos zx]# chmod 1755 test/
    

    结果:会有一个t标识

    [root@VM_0_13_centos zx]# ll
    drwsr-xr-t 2 root root  4096 Dec 29 18:33 test
    
    4.3 ACL(访问控制列表)

     利用Linux文件系统提供的ACL功能为系统中已存在的任何用户或用户组指定其对系统中文件或目录的权限。通过ACL功能配置的权限优先级高于通过chmod命令配置的普通权限。

    通过ACL可以实现更加灵活的权限配置,具体操作目前待整理,完成后,来补充更新。

     上面测试我们频繁用到用户,用户组等相关的信息。在Linux中如何查看用户,用户组等相关信息?所以也在下文补充了。

    5.如何查看用户和用户组

    5.1列出系统所有用户
    cat /etc/passwd 
    

    在这里插入图片描述
    可以看到上面的输出,每行有7个部分,分别用冒号 “:” 分隔,每一部分分别代表:

    • 用户名
    • 加密的密码(x means that the password is stored in the /etc/shadow file)
    • 用户ID (UID)
    • 用户所在组ID (GID)
    • 用户全名(GECOS)
    • 用户家目录
    • 登录shell (defaults to /bin/bash)

    如果只想列出用户名,可以用awk or cut 过滤:

    awk -F: '{ print $1}' /etc/passwd
    
    cut -d: -f1 /etc/passwd
    

    output:

    root
    daemon
    bin
    sys
    sync
    ...
    ...
    sshd
    vagrant
    jack
    anne
    
    5.2 用getent命令查看用户列表

    getent命令展示数据库配置文件 /etc/nsswitch.conf其中配置了passwd我们可以利用这个来列出系统的用户列表.

    getent passwd
    

    在这里插入图片描述

    可以看到和上面查看的是一样的内容。同样如果需要过滤需要的部分,可以采用下面的命令:

    getent passwd | awk -F: '{ print $1}'
    
    getent passwd | cut -d: -f1
    
    5.3检查某个用户是否存在
    getent passwd | grep jack
    

    如果用户存在,则会打印用户的登录信息,否则不会输出。

    5.4 查看当前用户ID
    id  #查看当前用户ID,用户组ID和
    
    5.5创建用户:
    useradd zhangxu -m -d /home/zhangxu //创建用户zhangxu 并指明用户目录
    sudo passwd zhangxu //为用户设置密码
    
    su zhangxu //切换到zhangxu用户
    
    $表示普通用户
    #表示超级用户,也就是root用户
    
    5.6删除用户:
    userdel -r zhagnxu //将用户和目录一并删除
    
    5.7口令管理:
    passwd  //修改当前用户密码
    passwd zhangxu //修改指定用户密码
    
    5.8用户组:
    groups //查看当前用户组
    cat /etc/passwd //查看所有用户的信息
    cat /etc/passwd|grep 用户名 //查看某个用户的信息
    cat /etc/group //查看所有组信息
    

    修改用户组:

    usermod
    参数:-g
    
    usermod -g root xiaomao
    这种情况下会直接修改xiaomao的用户组为root组,覆盖原来的组
    
    参数: -a -G
    usermod -a -G root xiaomao
    这种情况下会追加修改risk的用户组,新增oinstall用为risk的从属用户组,不覆盖原有的risk的用户组。
    
    展开全文
  • Linux文件权限修改

    千次阅读 2020-11-18 21:11:25
    Linux文件权限修改 一.文件属性查看 使用root创建一个1.txt文件进行实例 touch /opt/1.txt 查看文件属性 ls -l /opt/1.txt 可以看到图中红色框框内列出了文件的信息属性,从左到有进行性详解 1. -rw-r--r-- ...

    Linux文件权限修改

    一.文件属性查看

    使用root创建一个1.txt文件进行实例

    touch /opt/1.txt
    
    

    查看文件属性

     ls -l  /opt/1.txt
    

    在这里插入图片描述

    可以看到图中红色框框内列出了文件的信息属性,从左到有进行性详解
    1. -rw-r--r-- 参考下图进行理解
    在这里插入图片描述

    共有10个字符,如果第一个字符是d则表示是文档,如果第一位是-则表示为目录(‘文件夹’)
    后面分为3个是一段,共计3段,分别表示 【拥有者权限*(做这个文件的用户)】、【归属组权限】、【其他用户权限】
    r: 读 数字4
    w: 写 数字2
    x: 写 数字1

    可用数字快速表示,如,就是可读,可写,可执行就是4+2+1=7
    ‘777’就表示拥有者,归属组,其他人都可读,可写,可执行。000反之。

    2. 1表示链接数
    对于文件,此时这一字段表示这个文件所具有的硬链接数。
    如果是目录,则第2字段表示该目录所含子目录的个数。
    新建空目录,此目录的第二字段就是2,表示该目录下有两个子目录。
    因为每一个目录都有一个指向它本身的子目录. 和指向它上级目录的子目录…,此默认子目录是隐藏的。
    3. root --------所有者
    4. root --------归属组
    5. 12 --------文件大小,这里表示的是12kb
    6. 11月 18 19:20--------文件创建日期
    7. /opt/1.txt--------目录文件名

    2.使用Root进行修改

    用root用户改为不可读,不可写,不可执行

    chmod 000  /opt/1.txt
    
    

    在这里插入图片描述
    Ps:root用户可以修改所有的文件,也可以赋予其他用户权限。修改为000后,只有root用户可操作。

    3.赋予普通用户suer1权限

    方法一.
    直接将此文件改为所有用户可读写

    chmod 777 /opt/1.txt
    
    

    在这里插入图片描述

    方法二.
    修改为其他用户可读写

     chmod a+rw /opt/1.txt
    
    

    Ps: u 代表所有者(user)
    g 代表所有者所在的组群(group)
    o 代表其他人,但不是u和g (other)
    a 代表全部的人,也就是包括u,g和o,
    +和 - 分别表示增加和去掉相应的权限。

    方法三.

    已知这个文件归属root用户组,我们可以把user1这个用户附加到root组,然后赋予组修改权限即可
    ①将user1用户附加到root组

    usermod -aG root  user1
    
    

    ②赋予root组权限即可

    chmod g rwx  /opt/1.txt
    
    

    Ps:

    还有其他方法,这里就不在赘述。

    展开全文
  • Linux文件权限详解

    万次阅读 多人点赞 2018-12-30 19:57:00
    文章目录Linux文件权限详解一、文件权限二、修改文件访问权限的方法三、UMASK值四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)五、ACL访问控制列表六、文件权限操作的常用命令 Linux文件权限...

    文件权限

    Linux文件权限详解

    Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

    一、文件权限

    1. 文件的权限针对三类对象进行定义

      owner 属主,缩写u

      group 属组,缩写g

      other 其他,缩写o

    2. 每个文件针对每类访问者定义了三种主要权限

      r:Read 读

      w:Write 写

      x:eXecute 执行

      另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

      注意:root账户不受文件权限的读写限制,执行权限受限制

    3. 对于文件和目录来说,r,w,x有着不同的作用和含义:

      针对文件:

       r:读取文件内容
       
       w:修改文件内容
       
       x:执行权限对除二进制程序以外的文件没什么意义
      

      针对目录:目录本质可看做是存放文件列表、节点号等内容的文件

       r:查看目录下的文件列表
       
       w:删除和创建目录下的文件
       
       x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
      

      权限

    4. 用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

    二、修改文件访问权限的方法

    • chmod 修改权限 change mode

      方法1:mode法

      格式:chmod who opt per file

        who:u g o a(all)
        
        opt:+ – =
        
        per:r w x X
      

      方法2:数字法

      格式:chmod XXX file

        rwx rw- r–	
        111 110 100
        7   6   4
        
        r:4
        w:2
        x:1
      

      例:chmod 764 file 给file文件添加 rwxrw-r– 权限

      chmod -R +X dir 给dir目录添加X执行权限,dir目录下文件不添加执行权限

      (如果dir目录下有文件已具备执行权限,则添加该文件执行权限)

    三、UMASK值

    作用:取消对应的权限,影响创建文件和目录的默认权限

    对目录:	umask+default=777(dir)
    
    对文件:666-umask:观察结果,如果有奇数,奇数位+1,偶数不变
    

    四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)

    1. suid

      作用:给一个用户继承二进制程序所有者拥有的权限

      suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景

       例:ll /usr/bin/passwd
       	-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
      
       给file文件增加suid权限
       
       	chmod u+s file
       	
       	chmod 4755 file               suid数字法表示为4
      

      注: suid只适合作用在二进制程序上

    2. sgid

      作用1:给一个用户继承二进制程序所有组拥有的权限

      sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景

      例:ll `which cat`
      	-rwxr-sr-x. 1 root root 48568 Mar 23  2017 /bin/cat
      
      给file文件增加sgid权限
      
      	chmod g+s file
      	
      	chmod 2755 file               sgid数字法表示为2
      

      作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

    3. sticky

      作用:作用于目录上,此目录的文件只能被所有者删除

      sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景

      如:ll -d /tmp
      	drwxrwxrwt. 17 root root 4096 Apr  4 10:02 /tmp
      
      给dir目录添加sticky权限
      
      	chmod o+t dir
      
      	chmod 1777 dir                sticky数字法表示为1
      

    五、ACL访问控制列表

    作用:实现更加灵活的权限管理,打破了三类用户的权限管理

    1. 添加ACL权限

      setfacl -m u:wang:0 file 使wang账户对指定file文件无权限
      
      setfacl -m u:mage:rw file       使mage账户对指定file文件有读写权限
      
      setfacl -m g:g1:rw file 使g1组对指定file文件有读写权限
      
      getfacl     file                     查看指定file文件的ACL权限
      

      ACL权限执行顺序类似于用户获取文件权限的顺序,getfacl顺序从上到下执行,一旦生效,下面的将不再生效(如果属于多个组,权限累加)

    2. 删除ACL权限

      setfacl -x u:wang file      删除wang账户对指定file文件的ACL权限
      
      setfacl -x g:g1 file   删除g1组对指定file文件的ACL权限
      
    3. ACL权限下的mask

      设置用户对指定文件所能拥有的最大权限(限高作用)
      
      setfacl -m mask::r file             使指定文件file所拥有的最大权限位读r
      
      setfacl -x mask::r file               取消指定文件file的最大权限限制mask
      
      setfacl -b f1                      取消f1文件所有的ACL权限
      

      ACL生效顺序:所有者、自定义用户、自定义组、其他人

    4. 备份和恢复ACL权限

      getfacl -R /tmp/dir1>acl.txt           将dir1目录下ACL权限备份
      
      setfacl -R –set-file=acl.txt /tem/dir      恢复dir1目录下ACL权限
      

    六、文件权限操作的常用命令

    • chown 设置文件所有者(普通用户无法修改文件所有者)

    • chgrp 设置文件所属组(普通用户要想该所属组,前提是文件所有者为自己,自己在所属组中)

    • chmod 设置指定文件权限

        -R     递归
        
        –reference=f1 f2 f3        参考f1文件权限设置f2,f3文件
      
    • chattr 给指定文件添加保护,避免root账户误操作

        +i      锁定文件,不能删除,不能改名,不能更改内容
        
        -i      解锁+i
        
        -a     锁定文件,不能删除,不能改名,但可追加内容(追加重定向)
        
        -a     解锁+a
        
        +A    指定文件读时间atime不再更改
      
    • lsattr 查看指定文件是否有锁定状态

    • setfacl 设置文件ACL权限

        -m mask::r file          使指定文件file所拥有的最大权限位读r
        
        -x mask::r file            取消指定文件file的最大权限限制mask
        
        -b f1                   取消f1文件所有的ACL权限
        
        -R –set-file=acl.txt /tem/dir   恢复dir1目录下ACL权限
      
    • getfacl 查看文件ACL权限

    展开全文
  • Linux文件权限笔记

    千次阅读 2018-07-24 20:40:18
    Linux文件权限 1. 使用文件权限符 2. 默认文件权限 3. 改变权限 3.1 options 3.2 八进制模式 3.3 符号模式 4. 改变所属关系 4.1 chown 4.2 chgrp 5. References Linux文件权限 1. 使用文件权限符 ls...
  • Linux文件权限 出炉啦, 快进来学习收藏吧!

    千次阅读 多人点赞 2020-07-02 17:43:51
    文件权限 一. 查看文件的权限与归属 1.1 介绍 1.2 修改文件的权限——chmod命令 1.3 修改文件的归属——chown命令 二.文件的特殊权限 2.1 SUID特殊权限介绍 2.2 SGID特殊权限介绍 2.3 SBIT特殊权限介绍 三...
  • Linux文件权限修改命令

    万次阅读 2019-07-19 13:28:44
    Linux命令权限修改命令 前言 :Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理...
  • Linux 文件权限chmod命令

    万次阅读 2016-11-12 15:31:42
    概述Android开发的过程中,经常需要从手机中导出文件(非存储卡中的,比如/data/data/包名/databases/下的数据库文件,手机需要root),会出现permission denied或remote object “*” does not exist的错误,如下图...
  • linux文件权限练习题

    千次阅读 2019-08-26 22:24:43
    1、root用户在/tmp目录中建立一个rootdir目录,设定root组成员对该目录中文件有添加删除的权限rwx,其他用户对该目录没有任何权限。定义wencoll用户的附加组为root组并在该目录中建立文件 tom.txt mkdir /tmp/...
  • linux文件权限含义

    千次阅读 2018-06-15 08:34:08
    Linux用户分为:拥有者、组群(Group)、其他(other)linux中的文件属性过分四段,如 -rwzrwz---第一段 (第一个字符)-就是普通的文件d表示是目录 c表示是字符设备(在linux/unix,所有的设备都是文件)b是块设备...
  • Linux文件权限4位数含义

    千次阅读 2019-06-19 09:01:18
    Linux文件权限4位数含义: 我们看一下:0777代表什么意义: 1.先看777的含义,linux下文件权限分为所属用户权限、所属组权限和其他人权限 2.RWX对应的权限是: r:4 w:2 x:1 所以777就代表 rwxrwxrwx 3.0777最前面的0...
  • linux文件权限700

    千次阅读 2019-04-14 14:05:18
    -rw------- (600) 只有拥有者有读写权限。 -rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。 -rwx------ (700) 只有拥有者有读、写、执行权限。 -rwxr-xr-x (755) 拥有者有读、写、执行...
  • Linux文件权限的基本介绍

    万次阅读 2019-01-16 15:38:26
    权限的基本介绍 ls -l 中显示的内容如下: -rwxrw-r-- 1 root police 1213 Feb 2 09:39 abc.txt 说明 1) 第0位确定文件类型(说明: -...2) 第1-3位确定所有者(该文件的所有者)拥有该文件权限。 R: 读 , w ...
  • 第1位:文件类型,剩余9位:文件权限 2:链接数,普通文件链接数是1,目录链接数是子目录的个数。空目录有.. 和.目录,所以是2。 root:当前文件所属用户 root :当前文件所属组 4096:文件大小 Oc...
  • C语言再学习 -- 修改linux文件权限

    千次阅读 2016-11-24 17:39:37
    参看:修改linux文件权限命令 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。(0无权限,1可执行,...
  • linux文件权限8进制详解--一看就懂了

    千次阅读 2020-02-12 16:05:12
    使用八进制(0-7)数字表示权限权限 二进制值 八进制值 描述 --- 000 0 没有任何权限 --x 001 ...
  • linux中的文件属性过分四段,如 -rwxrwx— 第一段 - 是指文件类型 表示这是个普通文件 文件类型部分 -为:表示文件 d为:表示文件夹 l为:表示链接文件,可以理解为 windows中的快捷方式(link file) b为:表示里面...
  • linux文件权限说明(drwxr-xr-x)

    万次阅读 多人点赞 2019-04-18 11:22:51
    linux中查看文件的时候,在每一行的最前面会有这样的一串字符"drwxr-x---",如下面的样例: drwxr-x--- 2 root root 37 Apr 18 10:50 data -rw-r--r-- 1 root root 68549 Sep 26 2018 fields.yml -rwxr-xr-x 1 ...
  • Linux文件权限管理 之 读写执行权限

    千次阅读 2018-08-01 15:15:53
    经过了入门篇的介绍,相信小伙伴们都已经了解了Linux文件权限的基础相关知识了,下面就来了解一下读写执行权限。 在Linux系统中,对于文件和目录的权限无外乎三个——读、写、执行。 (一)对于文件: 权限 ...
  • Linux文件权限一:普通权限(rwx)

    千次阅读 2018-03-09 22:29:19
    Linux操作系统是一个多用户的操作系统,那也就必然的面临着文件权限的问题。在Linux多系统用户中首先明确两个概念,用户(user)和组(group),组包含多个用户,用户可以隶属于多个组。对于一个文件而言,它把所有...
  • linux中的文件属性过分四段,如 -rwzrwz— 第一段 - 是指文件类型 表示这是个普通文件 文件类型部分 -为:表示文件 d为:表示文件夹 l为:表示链接文件,可以理解为 windows中的快捷方式(link file) b为:表示里面...
  • Linux 文件权限全是问号,无法操作

    万次阅读 2017-11-04 10:50:12
    文件权限都是问号,普通的修改权限和删除均不可以。暂时的解决办法:在Windows下,通过360强制删除。
  • Linux文件权限的查看和修改

    千次阅读 2017-01-02 11:47:00
    可能很多就一头雾水了,本篇文章就来和大家探讨如何查看Linux下面文件权限、如何修改文件权限 如何查看Linux下面文件权限 在任何一个Linux目录下面(目录下面有文件和文件夹),输入命令ll, 终端显示器...
  • linux 文件权限后面一个点的含义

    千次阅读 2016-01-08 11:19:04
    大家在使用linux的时候,用ls -l命令查看文件权限的时候,你可能会发现,这个权限的表示内容,已经与以前的版本不一样了,后面多了一个点,这个点是干吗的呢?搜索了很久也没有找到答案,很是郁闷啊!于是乎就只能...
  • 文件的所有者就是这个文件的建立者,而系统中绝大多数系统文件都是由 root 建立的,所以大多数系统文件的所有者都是 root。 比如笔者买了一台电脑,那我当然是这台电脑的所有者,可以把我的读者加入一个用户组,其他...
  • Linux文件权限问题 1.查看文件权限 ls -l file,如下第一列即为文件或文件夹的权限,共10位: 第一位表示类型,共四个选项(常见的都是前两个): - 普通文件 d 目录 c 字符设备文件 b 块设备文件 s 符号链接文件 二...
  • linux中的文件属性过分四段,如 -rwzrwz--- 第一段 - 是指文件类型 表示这是个普通文件 文件类型部分 -为:表示文件 d为:表示文件夹 l为:表示...
  • 1、linux文件权限介绍 使用ls-alh查看纤细文件信息,启动 r:读:w :写x:执行 2、修改权限命令介绍 如果需要执行某个权限的文件,那么就需要对该文件执行权限,使用:chmod +x 文件名 3、Python文件修改权限执行...
  • 除了这两种之外,linux文件系统还有两种很实用的权限i和a i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件....
  • linux中的文件属性过分四段,如 -rwzrwz--- 第一段 - 是指文件类型 表示这是个普通文件 文件类型部分 -为:表示文件 d为:表示文件夹 l为:表示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 712,391
精华内容 284,956
关键字:

linux的文件权限

linux 订阅