Linux文件权限及ACL

文件权限

文件或目录可存取的身份分为3类,owner/group/others (所属者/所属组/其他人) ,所以访问一个文件或目录的权限分为三种, 所有者权限,所属组权限,其他人权限 (通过ll text.log查看)。 在linux系统中常用的权限分为3种 r(read) w(write) x(excute)。

对文件或目录的权限进行修改时,要用到chmod命令

  • 模式法

    chmod WHO OPT[PER] FILE 修改文件权限  
        WHO:u  g  o  a      
        OPT:+  —  =     
        PER:r  w  x
    例:chomd suer1+w file1       
    
    特殊权限X   只对目录加x
                对文件:无执行权限,不会增加x权限
                        任意3种人有执行权限,则都加
  • 数字法

    将rwx由二进制转换为8进制:
    r:4  w:2  x:1
    chmod NUMBER FILE
        --reference a b     将b的权限设置为和a一样
    例:chmod 762 file1
  • 权限对目录的意义

    读:只能查看目录文件列表,不能访问,也不能cd(查看,删除)

    执行:可以cd,不能ls,可以访问目录中的文件。执行时基础权限

    写权取:配合x权限才生效

新建文件和目录的默认权限

umask值 可以用来保留在创建文件权限,非特权用户umask的值为:002;特权用户 (root)的umask的值为:022。

新建文件(file)的默认权限:666-unmask

新建目录(dir)的默认权限:777-umask

文件权限(file)所得结果某位存在执行权限(奇数),结果+1

UMASK掩码:将文件对应的权限位去除

umask       查看
umask #     设定umask值
    umask 022
umask -S    输出方式显示
umask -p    输出可被调用
/etc/bashrc 全局设置
~/.bashrc   用户设置

特殊权限

  1. 任何一个可执行程序文件能不能启动为进程,取决发起者 对程序文件是否拥有执行权限
  2. 进程的属主为发起者,进程的属组为发起者所属的组
  3. 进程访问文件时的权限,取决于进程的发起者
  • SUID(4):作用于文件所属者,只能放在二进制可执行文件才有意义。

    功能:继承所有者权限运行该文件。

    chmod u+s file1
    chmod u-S file1
    chmod 4777 file1
  • SGID(2):作用于文件所属组。放在二进制可执行程序才有意义

    功能:

    1. 任何用户都将继承所属组权限运行该文件。
  • chmod g+s file1/dir1
    chmod g-s file1/dir1
    chmod 2777 file1/dir1
  • Sticky(1):作用于其他人。作用在目录上才有意义。

    功能:只有自己才能删除自己的文件。

    chmod o+s dir1
    chmod o-s dir1
    chmod 1777 dir1

    Access Control List

  1. 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

  2. CentOS7 默认创建的xfs和ext4文件系统具有ACL功能,之后的没有

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

  4. 添加ACL之后的文件或目录的权限后会有“+”标记

  • 关于文件ACL的查看,设置和更改

    getfacl file        查看
    
    setfacl [options] [u/g]:[name]:[rwx] file   设置
                -m 
                -Rm
                -M
                -m 
                -x 
                -X
  • mask掩码

mask只影响除所有者和other的之外的人和组的最大权限。Mask与用户的权 限进行逻辑与运算后,变为有限的权限(Effective Permission)

  • mask更改 setfacl -m mask::rwx file

原创文章,作者:kstg5663294,如若转载,请注明出处:http://www.178linux.com/77309

(2)
kstg5663294kstg5663294
上一篇 2017-06-01
下一篇 2017-06-01

相关推荐

  • 关于linux的小小心得

    1、命令行历史  history(history显示当前终端的历史记录)    (1) 保存你输入的命令历史。 可以用它来重复执行命令    (2) 登录shell时, 会读取命令历史文件中记录下的命令 ~/.bash_history    (3)登录进shell后新执行的命令只…

    Linux干货 2017-07-15
  • 马哥linux0726课程内容

    课堂内容笔记   使用几个符号可以使用原始命令 \,’’,绝对路径运行 这三种方法都可以使用到原始命令,不使用别名   别名-内部命令-缓存-外部命令 使用命令的优先级   man帮助具体用法 makewhatis老版本安装whatis mandb新版本安装whatis man的具体路径在/usr/share/man whati…

    Linux干货 2016-08-04
  • 马哥教育网络班21期+第7周课程练习

    马哥教育网络班21期+第7周课程练习 创建一个10G分区,并格式为ext4文件系统;    a.要求block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;    b.挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不能更新文件的访问时间戳; #&…

    Linux干货 2016-08-22
  • Linux基础知识及常用命令

    pwd:printing working directory -显示当前工作目录            [root@edu tmp]# pwd          &nbs…

    Linux干货 2016-09-15
  • N25期–第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 1、 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\{1,\}.*@#&@ 2、 复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf…

    Linux干货 2017-01-17
  • ldirectord 结合ipvsadm 配置nat,dr模型

    ldirectord 结合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同…

    Linux干货 2016-11-24