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 09:32
下一篇 2017-06-01 13:56

相关推荐

  • Linux计算机基础及Linux入门

    计算机,Linux发型版,Linux 哲学思想,基本命令,startx ,pwd tty ,shutdown ,ifconfig , echo, export, historybo, poweroff,reboot, date, hwclock, Linux 获取命令帮助信息,Linux发行版的基础目录,

    2017-09-18
  • 点名脚本

    脚本要求:1、随机抽点80以内的随机证书;                2、可以一次抽取多个随机数;同时间抽取的随机数要唯一;                3、被抽取之后的随机数,之后不会再抽取;…

    2017-05-08
  • Linux第三周总结

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ” -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 ~]# who|tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell ~]# cut -d’:’…

    2017-07-16
  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • 解决线上服务器httpd无法反向代理resin的解决方法

    一、简述   前两天有后端的小伙伴跟我反映说使用httpd反向代理resin时遇到的问题,在做网站管理后台的时候,发起的http的put,delete的请求无法经由resin传递到后面的dbserver。当时的第一反应就是httpd的反向代理设置出现的问题,但是关于httpd反代resin的内容在网上机会搜索不到。于是,查看httpd反代tomca…

    Linux干货 2017-01-11
  • 第一周的作业

    1、描述计算机的组成及其功能。 主要分为五个部分: 控制器:计算机的中枢神经,控制总线使用权限、寻址、管理各类资源的分配。 运算器:对数据进行各种算数运算和逻辑运算。 存储器:通常指内存RAM,CPU需要运行的程序以及数据都存放在存储器中供CPU调用处理。 (以上三者为计算机核心的三大部件,依靠这三大部件即可完成核心工作。) 输入设备:比如鼠标、键盘,使用户…

    Linux干货 2016-11-02