linux 文件的基本权限

ls -l 可以看到10位的文件属性

ls -l

-rw-r--rw-  1 root root    22 Jan  6 15:42 abc

第一位为文件类别:

-:一般文件

d:目录文件

b:块设备文件

c:字符设备文件

l:链接文件

p:管道文件

后九位:分别是文件所有者u 组属性g 其他人o 的属性

修改文件权限

chmod    + 增加权限  - 减少权限 = 指定权限
修改文件的所有者   chown 
chown 新所有者  文件名
改变所属的组  chgrp   chgrp 新所有组  文件名
chown   新的所有者.新的所属组  文件名

linux特殊权限 7 777
suid 4    当一个二进制文件拥有SUID权限后,当其他用户执行该二进制文件的时候,该二进制文件就会以他所有者的权限去执行
-rwxr-xr-x  root root   ...   abc   +suid
sgid 2   
要求文件夹下的新建的子文件夹或者子文件继承父文件夹的属组
sticky bit  1
如果给文件夹 赋予粘连位  则该文件夹下的文件或文件夹只能由所有者及ROOT删除
linux 隐藏权限
一、文件隐藏属性
  [root@linux ~]# chattr [+-=][ASacdistu] 文件或目录名ca
        参数:
        + : 增加某个特殊参数,其他原本存在的参数不动。
        - : 删除某个特殊参数,其他原本存在的参数不动。
        = : 设置一定,且仅有后面接的参数
        A : 当设置了A属性时,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免例如手提电脑有磁盘I/O错误的情况发生。
        S : 这个功能有点类似sync。就是将数据同步写入磁盘中。可以有效地避免数据流失。
        a : 设置a之后,这个文件将只能增加数据,而不能删除,只有root才能设置这个属性。
        c : 这个属性设置之后,将会自动将此文件“压缩”,在读取的时候将会自动解压缩,但在存储的时候,将会先进行压缩后再存储(对于大文件有用)。
        d : 当执行dump(备份)程序的时候,设置d属性将可使该文件(或目录)具有转储功效。
        i : i的作用很大。它可以让一个文件“不能被删除、改名、设置连接,也无法写入或新增数据”。对于系统安全性有相当大的帮助。
        j : 当使用ext3文件系统格式时,设置j属性将会使文件在写入时先记录在journal中。但是,当文件系统设置参数为data=journalled时,由于已经设置日志了,所以这个属性无效。
        s : 当文件设置了s参数时,它将会从这个硬盘空间完全删除。
        u : 与s相反,当使用u来设置文件时,则数据内容其实还存在磁盘中,可以用来还原删除.
            注意:这个属性设置上,比较常见的是a与i的设置值,而且很多设置值必须要root才能设置。
   
 lsattr 文件名 查看文件隐藏属性
linux file ACL 权限
是对文件权限的细化,针对特定用户或者组设置权限,扩展了linux文件的权限设置
setfacl 给文件设置ACL权限
touch haha
    setfacl -m  g:admin:--- haha
    setfacl -m u:b:rw haha
    setfacl -x u:b haha
    setfacl -b haha
    getfacl haha | setfacl --set-file=- hehe
    setfacl --set u::rw,g::---,o::--- haha
directory
mkdir /tmp/abc
cd /tmp
setfacl -m d:u:b:--- abc
getfacl 查看文件权限
getfacl abc