• Linux文件系统属性权限chattr与lsattr命令


    有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。


    一、设定文件系统属性:chattr

    chattr [+-=][选项] 文件或目录名

      +:增加权限

      -:删除权限

      =:等于某权限

    选项:

    a,如果对文件设置a属性,那么只能在文件中增加数据,也不能删除和修改数据,如果对目录设置a属性,那么只允许在目录中建立和修改文件,但不允许删除文件,多用于服务器日志文件安全。

    i,如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据,如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

      
    注意:chattr 限制权限之后,root 用户也不能例外。这个命令可以防止对文件进行误操作。


    二、查看文件的系统属性:lsattr

    lsattr 选项 文件名
      
    选项:

    -a 显示所有文件和目录
    -d 若是目录,仅列出本身的属性,而不是子文件的

    三、举例说明

    1、设置文件为只读。
    ------------------------------------------
    [root@CentOS7 home]# chattr +i ii
    ------------------------------------------

    2、查看chattr命令赋予文件的属性
    ------------------------------------------
    [root@CentOS7 home]# lsattr
    ---------------- ./pi1
    ---------------- ./pi2
    ----i----------- ./ii                                    #可以看到被设置成只读会多个i的参数
    ---------------- ./dd
    [root@CentOS7 home]#
    ------------------------------------------

    3、取消文件的只读
    ------------------------------------------
    [root@CentOS7 home]# chattr -i ii
    ------------------------------------------

    4、如果想递归地改变目录及其内容的属性,可以使用标记-R来完成,例如,如果您想让d1目录中的所有文件都是只读的,那么请使用以下方式:
    ------------------------------------------
    [root@CentOS7 ~]# chattr -R +i d1
    ------------------------------------------
      

  • 相关阅读:
    CoreAnimation实现一个折线表
    copy和mutableCopy的深、浅拷贝
    寄存器变量
    GCD的一点理解
    Objective c 自动释放池
    iOS xcode 插件安装
    iOS cell 分割线顶格
    手机连接外设蓝牙4.0失败,发送消息失败遇到的问题总结
    svn中第一次check out working copy项目下来出现 ld: library not found for -lcrypto clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ios调用百度地图定位遇到的奇葩问题
  • 原文地址:https://www.cnblogs.com/pipci/p/11197464.html
Copyright © 2020-2023  润新知