【linux命令讲解大全】003.掌握文件属性与权限:chattr和chgrp工具的使用

2024-03-02 11:19:22 浏览数 (1)

chattr

用来改变文件属性

补充说明

chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

语法

代码语言:javascript复制
chattr [选项]

选项

  • a:让文件或目录仅供附加用途;
  • b:不更新文件或目录的最后存取时间;
  • c:将文件或目录压缩后存放;
  • d:将文件或目录排除在倾倒操作之外;
  • i:不得任意更动文件或目录;
  • s:保密性删除文件或目录;
  • S:即时更新文件或目录;
  • u:预防意外删除。
  • R:递归处理,将指令目录下的所有文件及子目录一并处理;
  • v<版本编号>:设置文件或目录版本;
  • V:显示指令执行过程;
  • <属性>:开启文件或目录的该项属性;
  • -<属性>:关闭文件或目录的该项属性;
  • =<属性>:指定文件或目录的该项属性。

实例

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

代码语言:javascript复制
chattr  i /etc/fstab

然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。

让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:

代码语言:javascript复制
chattr  a /data1/user_act.log

chgrp

用来变更文件或目录的所属群组

补充说明

chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中,组名可以是用户组的id,也可以是用户组的组名。文件名可以是由空格分开的要改变属组的文件列表,也可以是由通配符描述的文件集合。如果用户不是该文件的文件主或超级用户(root),则不能改变该文件的组。

在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。

语法

代码语言:javascript复制
chgrp [选项][组群][文件|目录]

选项

  • -R:递归式地改变指定目录及其下的所有子目录和文件的所属的组
  • -c--changes:效果类似-v参数,但仅回报更改的部分;
  • -f--quiet--silent:不显示错误信息;
  • -h--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
  • -H:如果命令行参数是一个通到目录的符号链接,则遍历符号链接;
  • -R--recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
  • -L:遍历每一个遇到的通到目录的符号链接;
  • -P:不遍历任何符号链接(默认);
  • -v--verbose:显示指令执行过程;
  • --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

参数

  • :指定新工作名称;
  • 文件:指定要改变所属组的文件列表。多个文件或者目录之间使用空格隔开。

实例

/usr/meng及其子目录下的所有文件的用户组改为mengxin

代码语言:javascript复制
chgrp -R mengxin /usr/meng

更改文件ah的组群所有者为newuser

代码语言:javascript复制
chgrp newuser ah

0 人点赞