Linux常用命令之文件属性与权限

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

一、文件权限与归属

    Linux 系统中的一切都是文件,但每个文件的类型不尽相同,并且可以用不同的符号来加以区分
       -:普通文件
       d:目录文件
       l:链接文件
       b:块设备文件
       c:字符设备文件
       p:管道文件

    Linux 每个文件都有其相对应的所有者和所有组,还有分别规定对所有者、所有组和其他人的可读、可写、可执行的权限。

    读( read),写 ( write),执行 (execute),简写即为 r、w、x ,亦可用数字 4,2,1 表示

        

        若某个文件的权限为 7 则代表可读,可写,可执行 (4+2+ 1)

    一般文件的权限设置,可读权限就是能够读取该文件的实际内容;可写权限就是能够编辑、新增、修改文件的实际内容;可执行则代表能够运行一个脚本程序的权限。

    目录文件的权限设置,可读权限就是能够读取该目录内的结构和文件列表;可写权限就是能够更改目录内文件结构列表、新增、删除、重命名文件;可执行代表进入该目录的权限。

二、文件特殊权限
    特殊权限位是针对于文件设置的一种特殊的功能 ,而且与一般权限可同时出现使用,弥补一般权限不能实现的功能。

SUID:让执行者临时拥有属主的权限,即让本来没有相应权限的用户运行这个程序时 ,可以访问他没有权限访问的资源 。
    当 s 这个标志出现在文件所有者的 x 权限上时,此时就被称为 Set UID ,简称为 SUID 。
        SUID仅对拥有执行权限的二进制程序有效(系统中的一些命令);不能用在脚本上( script );也不能放到目录上,放上也是无效的 。
    chmod u+s filename:给filename添加SUID

    


    chmod u-s filename:删除filename的SUID

    

 

SGID功能一 :让执行者临时拥有属组的权限
SGID 功能二 :在该目录中创建的文件自动继承此目录的用户组(只针对目录设置)
    chmod g+s filename:给filename添加SGID

    

    


    chmod g-s filename:删除filename的SGID

    

    

 

SBIT:只可管理自己的数据而不能删除他人文件(仅对目录有效)。SBIT特殊权限位,也可以叫做特殊权限位之粘滞位 。
    chmod o+t filename:给filename添加SBIT

    


    chmod o-t filename:删除filename的SBIT

    

 

三、文件访问控制列表(ACL)
    一般权限 、特殊权限、隐藏的共性是针对某一类用户设置的。对某个指定的用户进行单独的权限控制 ,就需要用文件的访问控制列表来实现 。

    对某个目录设置了访问控制策略 ,那么其子文件则继承其访问策略 。
    对文件设置了访问控制策略,则不再继承上级目录的控制策略。

    ls 命令是看不到访问控制列表信息的,却可以看到文件权限最后一个 点(.) 变成了加号( +),这就意味着个文件已经被设置有了 ACL 。

chmod:修改文件或目录的属主或属组
    -R:递归处理

    chmod 777 passwd:设置passwd文件权限为属主、属组、他人都可以读、写、执行

    

 

    chmod u-x,g-wx,o-wx passwd:设置passwd文件权限为属主可读写、属组与他人只能读

    

 

chown:修改文件或目录的属主或属组
    -R:递归处理

    chown ramble:ramble passwd:将passwd的属主与属组设置为ramble

    

 

chattr:设置文件的隐藏权限(被隐藏起来的权限)
    i:无法对文件进行修改 ,若对目录设置后则仅能修改子文件而不能新建或删除 
    a:仅允许补充(追加)内容 ,无法覆盖 /删除 (Append Only) 
    A:不再修改这个文件的最后访问时间 (atime)
    u:当删除此文件后依然保留其在硬盘中的数据,方便以后恢复

    chattr +i 111.txt:禁止修改111.txt文件

    

 

    chattr -i 111.txt:删除111.txt的隐藏权限i

    

 

lsattr:显示文件的隐藏权限

    lsattr 111.txt:查看111.txt的隐藏权限

    

 

setfacl:修改ACL规则
    -R:递归处理
    -m:对普通文件需使用 
    -b:删除某个文件的访问控制策略

    setfacl -Rm u:test:--- /root:普通用户test没有查看/root目录的权限

    

 

    setfacl -b /root:删除/root目录的隐藏权限

    

 

getfacl:显示文件ACL

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值