• Linux文件权限与属性详解 之 chattr & lsattr


    Linux文件权限与属性详解 之 一般权限
    Linux文件权限与属性详解 之 ACL
    Linux文件权限与属性详解 之 SUID、SGID & SBIT
    Linux文件权限与属性详解 之 chattr & lsattr
    Linux文件权限与属性详解 之 su & sudo

    前言

    在Linux中,有一些系统文件,对系统的运行有着至关重要的作用,如/etc/fstab等,一般不允许修改,这个时候,我们可以赋予文件/目录r--------的权限;然而,还有一个更为简单有效的命令chattr可以实现该功能!

    特殊权限

    特殊权限的要求:

    • 所支持的文件系统包括:ext2ext3ext4xfs
    • 一般要求内核版本不低于2.2(查看版本的命令如下):

    uname -a
    lsb_release -a

    • 不能保护 / /tmp /dev /var目录
    • chattr 只能由root用户使用

    chattr、lsattr

    类似于chmod, chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的.

    1). chattr 语法:

    chattr [ -RVf ] [ -v version ] [ mode ] files...
    

    最关键的是在[mode]部分,[mode]部分是由+-=[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。

    • + : 在原有参数设定基础上,追加参数
    • - :在原有参数设定基础上,移除参数
    • = :更新为指定参数设定
    • A :文件或目录的 atime (access time)不可被修改(modified),可以有效预防例如手提电脑磁盘I/O错误的发生
    • a :即append,设定该参数后,只能向文件中添加数据,而不能删除;
    • c :即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
    • i :设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容;对目录
    • s :保密性地删除文件或目录,即硬盘空间被全部收回
    • u :与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.

    2). lsattr 语法:

    lsattr [ -RVadv ] [ files...  ]
    

    参数如下:

    • a : 列出目录下的所有文件,包括隐藏文件
    • d : 查看本目录自身的权限

    3). 例程:

    首先,我使用root身份新建一个文件:

    [root@niesh test]# ll
    总用量 0
    -rw-rw-r--. 1 root niesh 0 7月  31 20:27 abc
    

    然后,我给该文件增加 i 权限:

    [root@niesh test]# chattr +i abc
    [root@niesh test]# lsattr abc
    ----i----------- abc
    

    然后,我尝试增加内容、删除文件和修改文件名:

    [root@niesh test]# echo 1234 >> abc
    bash: abc: 权限不够
    [root@niesh test]# rm -f abc
    rm: 无法删除"abc": 不允许的操作
    [root@niesh test]# mv abc bcd
    mv: 无法将"abc" 移动至"bcd": 不允许的操作
    

    以上均失败,由此验证!

    修改以上文件的权限为 a :

    [root@niesh test]# chattr +a abc
    [root@niesh test]# lsattr abc
    -----a---------- abc
    

    abc文件进行操作:

    [root@niesh test]# echo 1111 >> abc
    [root@niesh test]# cat abc
    1111
    [root@niesh test]# rm -f abc
    rm: 无法删除"abc": 不允许的操作
    [root@niesh test]# mv abc bcd
    mv: 无法将"abc" 移动至"bcd": 不允许的操作
    

    由以上可以看出,只能增加文件内容,不能进行其他的操作!

  • 相关阅读:
    poli-java开源BI软件
    Spring Boot 教程
    微信小程序支持windows PC版了
    Java-JDK-windows和linux版-百度云下载
    ssh -i 密钥文件无法登陆问题
    锐捷交换机18010-X端口假死现象
    zabbix4.4安装
    yum只下载不安装
    openstack迁移计算节点所有云主机
    ceph SSD HDD分离与openstack调用
  • 原文地址:https://www.cnblogs.com/Jimmy1988/p/7265816.html
Copyright © 2020-2023  润新知