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

相关推荐

  • bash脚本编程class3

    bash脚本编程class3—函数定义与数组使用相关     一.函数的使用以及数组的定义   我们通过学习知道,当编辑一个shell脚本的时候,可以在这个shell脚本中调用其他的shell脚本来实现特定的功能。在实际工作环境中,用很多shell实现的功能是我们常常使用到的,如果一次一次的调用这些shell脚本会显得非常麻烦。…

    Linux干货 2016-08-24
  • N26-博客作业-week8

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主使用红色显示; #!/bin/bash # for i in {1..254}; do if -W 1 -c 1 ping 1…

    Linux干货 2017-03-26
  • 浅谈RPM

    浅谈RPM    [先絮叨下编译啊]   1、 库:其实就是一个程序模块(它没有执行入口,不能独立执行,只能被能独立运行的程序调用时执行)你可以把它想象成工具螺丝刀,可执行的程序是就是你自己;螺丝刀能自己干活吗?没有螺丝刀能拧螺丝吗?或者说你现在制作一个? 螺丝刀可以实现这个功能但需要你来执行这个动作。   2、静态编译:将程序所需要的所有的库都编…

    Linux干货 2015-04-27
  • n25 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   2、取出最后登录到当前系统的用户的相关信息。   3、取出当前系统上被用户当作其默认shell的最多的那个shell。   4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxus…

    Linux干货 2016-12-20
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。  文件管理类命令有ls,cat,touch,stat,cp,mv,rm等  ls:查看文件,其使用方法以及常用选项有: Usage: ls [OPTION]… [FILE]… 常用选项:   -a:列出所有内容,包括.和.. &…

    Linux干货 2016-06-23
  • Linux帮助文件的使用、history变量的使用和FHS

    怎样利用帮助文件来查询想要了解的信息? 这里以通过查找帮助文件来修改登陆信息为例子, 登陆的时候,我们可以看到CentOS的的版本和内核信息, 当我们查看该相关文件的时候,会发现,里面的文档和显示的不一致,由此可以了解到,该文档是调用某些参数来实现显示CentOS的版本和内核信息。 这个时候,我们该怎样去查看issue文档的相关信息? 首先我们可以查看一下通…

    Linux干货 2016-08-04