天天看点

shell命令--chattr

shell命令--chattr

shell命令--chattr

0、chattr命令的专属图床

点此快速打开文章【图床_shell命令chattr】

1、chattr命令的功能说明

​ ​

​chattr​

​命令用于改变文件属性。这项指令可改变存放在 ​

​ext2​

​ 文件系统上的文件或目录属性,这些属性共有以下 8 种模式:
  • a:让文件或目录仅供附加用途。
  • b:不更新文件或目录的最后存取时间。
  • c:将文件或目录压缩后存放。
  • d:将文件或目录排除在倾倒操作之外。
  • i:不得任意更动文件或目录。
  • s:保密性删除文件或目录。
  • S:即时更新文件或目录。
  • u:预防意外删除。

2、chattr命令的语法格式

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

3、chattr命令的选项说明

  • -R :递归处理,将指定目录下的所有文件及子目录一并处理。
  • -v<版本编号>: 设置文件或目录版本。
  • -V:显示指令执行过程。
  • +<属性>: 开启文件或目录的该项属性。
  • -<属性> :关闭文件或目录的该项属性。
  • =<属性>: 指定文件或目录的该项属性。

4、chattr命令的实践操作

范例1:用 ​

​chattr​

​ 命令防止系统中某个关键文件被修改

测试1
lsattr /etc/resolv.conf  -->lsattr显示文件属性
chattr +i /etc/resolv.conf
!lsattr
      
  • 温馨提示:若查看动图演示,请右键此处,选择【在新标签页中打开链接】
  • 温馨提示:若查看静图演示,请右键此处,选择【在新标签页中打开链接】
测试2
cp /etc/passwd{,.ori}  -->操作前先备份
ls /etc/passwd*  -->检查是否成功
lsattr /etc/passwd
chattr +i /etc/passwd  -->锁定文件不能删除,不能修改
!lsattr  -->再次查看
rm -f /etc/passwd  -->测试是否能删除
echo 'test' >> /etc/passwd  -->测试是否能往里面追加内容
useradd test  -->测试是否能添加用户
chattr -i /etc/passwd  -->解锁文件
!rm  -->发现又能删了
ls /etc/passwd*
mv /etc/passwd* /etc/passwd  -->恢复文件
!ls
      

范例2:让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件

cd /test/  -->切换到/test目录
touch file.txt  -->创建测试文件
chattr +a file.txt  -->设置权限a
rm -f file.txt  -->测试是否能够删除
echo 'aaa' >>file.txt  -->测试是否能追加内容
cat file.txt  -->查看内容