1. 命令功能

chattr和lsattr用来改变文件、目录属性和查看这种文件属性;chmod只是改变文件的读、写、执行权限,更底层的属性控制是由chattr来改变。

2. 语法格式

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

关键说明:

[mode]部分由+-=和[ASacDdIijsTtu]字符组成,这部分用来控制文件属性。

参数

参数说明

+

在原有参数设定基础上,追加参数

-

在原有参数设定基础上,移除参数

=

更新为指定参数设定

A

文件或目录的atime(access time)不可被修改

a

append,只能向文件中添加数据,而不能删除,用于服务器日志安全,只有root才能设定这个权限

c

compresse,设定文件是否压缩后在存储,读取时需要经过自动解压操作。

i

设定文件不能被删除,改名,设定链接关系,同时不能写入或新增内容,i参数对于文件系统安全设置有较大帮助。

s

保密性删除文件或目录,及硬盘空间被全部回收。

3. 使用范例

范例1:chattr防止系统中某个关键文件被修改

[root@localhost data]# cp /etc/resolv.conf .

[root@localhost data]# chattr +i resolv.conf    #给文件加上不能被改变权限属性

[root@localhost data]# echo "hello world" >> resolv.conf   #不能追加内容

-bash: resolv.conf: Permission denied

[root@localhost data]# rm resolv.conf                   #不能删除

rm: remove regular file `resolv.conf'? y

rm: cannot remove `resolv.conf': Operation not permitted

[root@localhost data]# mv resolv.conf resolv.conf.bak      #不能改名

mv: cannot move `resolv.conf' to `resolv.conf.bak': Operation not permitted

范例2:取消 -i权限

[root@localhost data]# chattr -i resolv.conf

[root@localhost data]# echo 'hello'  >> resolv.conf

[root@localhost data]# cat resolv.conf

nameserver 114.114.114.114

nameserver 61.128.128.68

hello world

hello

范例3:只能追加,不能删除,适用于日志

[root@localhost data]# chattr +a resolv.conf

[root@localhost data]# echo "123" >> resolv.conf

[root@localhost data]# echo "456" > resolv.conf

-bash: resolv.conf: Operation not permitted    #删除报错

[root@localhost data]# cat resolv.conf

......

hello

123

chattr 改变文件的扩展属性的更多相关文章

  1. chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)

    与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. lsattr查看文件或目录属性 chattr命令的用法:chattr [ -RVf ] [ ...

  2. 在PHP中操作文件的扩展属性

    在操作系统的文件中,还存在着一种我们可以自己定义的文件属性.这些属性不是保存在文件内容中,也不是直接可以通过 ls -al 所能看到的内容.它们可以将一个键值对信息永久得关联到文件上,一般现在的 Li ...

  3. linux中改变文件权限和属性

    Linux中,默认显示所有用户名的文件在/etc/passwd,用户组的信息在/etc/group 密码/etc/shadow chgrp改变文件所属用户组 chgrp [-R] 用户组名 文件或目录 ...

  4. touch 创建空文件或改变文件的时间戳属性

    1.命令功能 touch 改变文件时间属性或创建空文件. 2.语法格式 touch  [option]  file touch 选项 文件名 3. 选项参数说明 参数 参数说明 -a 仅改变文件的访问 ...

  5. mac下用xattr命令来删除文件的扩展属性

    mac下发现不能用记事本打开文本文件,ls -la 发现格式后面有个@ wenke-mini:changeServer wenke$ ls -la total 144 drwxr-xr-x  20 w ...

  6. 【linux命令】chgrp改变文件或目录的属组

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...

  7. chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性

    SYNOPSIS(总览) chattr [ -RV ] [ -v version ] [ mode ] files... DESCRIPTION(描述) chattr 修改文件在Linux第二扩展文件 ...

  8. chattr lsattr linux file system attributes - linux 文件系统扩展属性

    我们使用 linux 文件系统扩展属性,能够对linux文件系统进行进一步保护:从而给文件 赋予一些额外的限制:在有些情况下,能够对我们的系统提供保护: chattr命令用来改变文件属性.这项指令可改 ...

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

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

随机推荐

  1. bytesToSize

    export function bytesToSize(bytes){ if (bytes === 0) return '0 B' let k = 1024, // or 1000 sizes = [ ...

  2. maven入门问题解决

    记录入门使用maven的问题和解决方法: 一.用mvn clean compile编译报错/ 或者在IDE中编译时,Problem视图显示错误:无法从maven服务器或者私有服务器或者某个网站中中下载 ...

  3. day02-Python基础

    >>> if a > b:... c = a+b... else:... c = a-b...>>> c-1 三元运算: >>> c = a ...

  4. leetcode 111二叉树的最小深度

    使用深度优先搜索:时间复杂度O(n),空间复杂度O(logn) /** * Definition for a binary tree node. * struct TreeNode { * int v ...

  5. JS 引擎

    最早的 JS 引擎是纯解释器,现代 JS 引擎已经使用 JIT(Just-in-time compilation:结合预编译(ahead-of-time compilation AOT)和解释器的优点 ...

  6. python twisted异步将数据导入到数据库中

    from twisted.enterprise import adbapi from twisted.internet import reactor def creat_conn(): # 数据库基本 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_8_LinkedHashMap集合

    linked

  8. spring boot添加logging不能启动且不报错

    1.问题: application.yml中添加logging启动失败,不报错,去除后又正常 logging: config: classpath:test-logback-spring.xml报错 ...

  9. C# Thread2——线程优先级

    C#中Thread的优先级不是决定每个线程被执行顺序.它决定了线程可以占用CPU的时间 Thread的优先级设置是自带的枚举类型"ThreadPriority" [ComVisib ...

  10. SpringBoot错误经验

    1.在application.properties 添加 debug=true,可以看见项目的执行流程有助于调bug 2.如果错误显示端口号被占用 cmd 步骤1 查看端口号应用情况:netstat ...