NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## **chattr 命令** chattr 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性 符号模式有+-=\[ASacdisu\]几种格式. 操作符 `+ : 用来在文件已有属性的基础上增加选定的属性` * : 用来去掉文件上的选定的属性 `= : 用来指定该文件的唯一属性. 字符`ASacdisu'用作文件新属性的选项: 不更新atime(A),同步更新(S),只能添加(a), 压缩(c),不可变(i),不可转移(d),删除保护(s)以及不可删除(u). ~~~ #设置该文件不能进行任何形式的修改 [root@localhost ~]# chattr +i nginx.conf mv: 无法将"nginx.conf" 移动至"nginx.conf_bak": 不允许的操作 [root@localhost ~]# mv nginx.conf nginx.conf_bak #查看chattr设置的权限 [root@localhost ~]# lsattr nginx.conf ----i--------e- nginx.conf #取消-i的权限设置 [root@localhost ~]# chattr -i nginx.conf #查看chattr设置的权限 [root@localhost ~]# lsattr nginx.conf -------------e- nginx.conf #让某个文件只能往里面追加数据,但不能删除 [root@localhost ~]# chattr +a /var/log/messages ~~~ >[info] 参数 > > * \-R    递归地修改目录以及其下内容的属性. 如果在递归目录时遇到了符号链接,遍历将跳过. > > * \-V    详尽地给出chattr的输出信息并打印出程序的版本. > > * \-version    设置文件系统的版本. >[success] 当修改设置了'A'属性的文件时,它的atime记录不会改变. 这可以在笔记本电脑系统中避免某些磁盘I/O处理. > > * 设置了 **a** 属性的文件只能在添加模式下打开用于写入. 只有超级用户可以设置或清除该属性. > > * 设置了 **c** 属性的文件在磁盘上由内核自动进行压缩处理. 从该文件读取时返回的是未压缩的数据. 对该文件的一次写入会在保存它们到磁盘之前进行数据压缩. > > * 设置了 **d** 属性的文件不能对其运行 dump(8) 程序进行备份. > > * 设置了 **i** 属性的文件不能进行修改:你既不能删除它, 也不能给它重新命名,你不能对该文件创建链接, 而且也不能对该文件写入任何数据. 只有超级用户可以设置或清除该属性. > > * 当删除设置了 **s** 属性的文件时,将对其数据块清零 并写回到磁盘上. > > * 当修改设置了 **S** 属性的文件时, 修改会同步写入到磁盘上;这与应用 到文件子系统上的 **sync** 挂载选项有相同的效果. > > * 当删除设置了 **u** 属性的文件时, 将会保存其内容. 这使得用户可以请求恢复被删除的文件.