美文网首页LinuxLinux
从零开始学习Linux(二十八):文件权限之chattr权限

从零开始学习Linux(二十八):文件权限之chattr权限

作者: 通靈鹿小六 | 来源:发表于2020-12-19 07:06 被阅读0次

    1、chattr命令

    命令格式: chattr [+-=] [选项] 文件名或者目录名;
    参数说明:

    • +:增加权限;
    • -:删除权限;
    • = 等于某权限;

    选项说明:

    • i:如果对文件设置i属性,则不允许对文件进行删除、重命名、修改文件内容等操作(类似于Windows系统中设置文件只读属性);如果对目录设置i属性,则只能修改目录下面的文件数据,不允许创建、删除文件;
    • a:如果对文件设置a属性,则只能在文件中增加数据,不能删除或修改数据;如果对目录设置a属性,则只能在目录中创建和修改文件,不能删除文件;

    2、lsattr命令

    命令作用:查看文件系统属性;
    命令格式:lsattr [选项] 文件名;
    选项说明:

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

    3、举例说明chattr权限

    3.1、对文件赋予i属性

    (1)创建目录/project/zhoujielun,并在此目录中创建文件qinghuaci

    (2)为文件qinghuaci赋予i属性

    执行命令:

    chattr +i qinghuaci
    

    (3)查看qinghuaci文件系统属性
    执行命令:

    lsattr -a qinghuaci
    

    从图中可以看到文件属性中有i,表示赋予了i属性权限。其中e表示系统文件格式ext4。

    查看文件系统类型

    (4)测试使用root删除qinghuaci文件,提示不能删除,不允许操作。

    (5)测试使用vim命令打开qinghuaci文件,编辑内容:

    最终提示不允许写入:

    (6)同样也不允许使用echo命令写入

    3.2、对目录赋予i属性

    (1)为/project/zhoujielun目录赋予i属性;

    chattr +i /project/zhoujielun
    

    (2)查看zhoujielun目录的文件系统属性

    (3)测试创建文件和删除文件均报错

    3.3、对文件赋予a属性

    (1)在目录/project/zhoujielun目录下面创建niangzi文件,并为其赋予a权限

    (2)查看文件niangzi的文件系统属性

    (3)测试删除文件niangzi

    删除文件报错!

    (4)测试使用echo命令往文件中增加内容

    如上图所示,可以使用echo命令添加数据。
    注意:使用vim命令编辑的时候,是不允许保存的,因为系统不能确定使用vim命令到底是做了新增还是编辑操作!!!

    3.4、对目录赋予a属性

    (1)给zhoujielun目录赋予a权限;

    (2)测试删除文件niangzi

    不允许删除文件!

    (3)测试创建文件qingtian

    允许创建文件。

    3.5、总结

    通过上面四个例子,我们可以看到chattr对文件或目录,赋予不同的属性,起到的作用也是不同的。

    以上示例都是通过root账户操作的。因此可以看到,chattr命令权限依然会限制root用户的操作,但是root用户可以增加删除chattr权限。

    此权限最大的意义并非是限制root权限,而是防止出现一些重要文件的误操作。

    相关文章

      网友评论

        本文标题:从零开始学习Linux(二十八):文件权限之chattr权限

        本文链接:https://www.haomeiwen.com/subject/wkjogktx.html