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

相关推荐

  • 来两道百度的shell开胃菜

    1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。 方法1: #!/bin/sh for files in `find /tmp -type f -name "abc*"|h…

    Linux干货 2016-09-19
  • N29第一周作业:初识Linux系统

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    2018-03-04
  • YUM工具的工作原理、用法及源 码包的编译安装

    YUM工具的工作原理,用法及源码包的编译安装 _ueditor_page_break_tag_ 一、 CentOS: yum, dnf       1.YUM: (Yellow dogUpdate Modifier),rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具   …

    Linux干货 2016-09-01
  • 马哥教育网络班21期-第四周课程练习

    Do one thing at a time,and do well. 小僧近期忙的去尿尿的时间都要挤出来…..! 无人能理解 zZzz 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 编辑/etc/group文件,添加组hadoop。 手动编辑/etc/pass…

    Linux干货 2016-07-29
  • 马哥linux0801课程内容

    0801课堂笔记 硬链接和软链接最根本的区别 硬链接是同一个文件,而软链接是两个文件 软链接查询到文件的软链接个数.比较麻烦. 而硬链接的个数可以通过链接数就可以看到. 硬链接不能跨分区,而软链接可以跨分区 (因为每个分区都有自己的inode表) ln 创建硬链接 ln–s 创建软链接(软链接如果使用相对路径,对象是相对软链接的路径,而硬…

    Linux干货 2016-08-04
  • 安装配置NFS服务和挂载(Centos7)

    NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 RPC(NFS服务需要依赖RPC服务,这个比较重要) 要想了解NFS,必然要提到R…

    Linux干货 2017-04-21