【busybox记录】【shell指令】chgrp

目录

内容来源:

【GUN】【chgrp】指令介绍

【busybox】【chgrp】指令介绍

【linux】【chgrp】指令介绍

使用示例:

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【chgrp】指令介绍

chgrp:修改组所有权
chgrp 将每个给定文件的组所有权更改为组(可以是组名或数字组ID)或现有引用文件的组。参见13.1节[chown调用],第138页。
简介:
chgrp [option]... {group | --reference=ref_file} file...
如果group用于表示数字组ID,则可以用`+`开头指定。参见第2.4节[消除名称和id的歧义],第6页。
用户是否可以将组更改为任意组,或者将可移植性更强的行为限制为设置用户是其中一员的组,这取决于系统。
该程序接受以下选项。参见第2章[常见选项],第2页。
‘-c’
‘--changes’
	详细描述每个文件组实际更改的操作。
‘-f’
‘--silent’
‘--quiet’ 
	不要打印关于无法更改其组的文件的错误消息。
‘--from=old-owner’
	仅当文件具有old-owner指定的当前属性时,才更改文件的所有权。
	旧所有者与新所有者具有上述相同的形式。这个选项主要从安全的角度来看是有用的,因为它大大缩小了潜在滥用的窗口。例如,要反映一个用户的文件的用户ID编号变化而没有类似的选项,可以运行root命令
		find / -owner OLDUSER -print0 | xargs -0 chgrp -h NEWUSER
	但这是危险的,因为find测试现有文件的所有者与chgrp实际运行之间的间隔可能非常大。
	缩小差距的一种方法是对找到的每个文件都调用chgrp:
		find / -owner OLDUSER -exec chgrp -h NEWUSER {} \;
	但是如果有很多受影响的文件,这将非常缓慢。使用这个选项,它更安全(差距更小),但仍然不完美:
		chgrp -h -R --from=OLDUSER NEWUSER /
‘--dereference’
	不要对符号链接本身进行操作,而是对它们指向的内容进行操作。这是不进行递归操作时的默认值。
	将解除引用选项与 --recursive选项结合起来可能会产生安全风险:在遍历目录树期间,攻击者可能会将符号链接引入到任意目标;当工具到达这个位置时,就会对该符号链接的目标执行操作,这可能会允许攻击者提升权限。
‘-h’
‘--no-dereference’
	操作符号链接本身,而不是它们指向的内容。该模式依赖于 lchown 系统调用。在不提供 lchown 系统调用的系统上,不会发出诊断,但请参阅 --verbose。
‘--preserve-root’
	以递归方式修改根目录/时失败。如果没有 --recursive,这个选项就没有效果。参见第2.9节[特殊处理],第9页。
‘--no-preserve-root’
	取消前面的 --preserve-root选项的效果。参见第2.9节[特殊处理],第9页。
‘--reference=ref_file’
	将每个文件的组更改为与ref文件的组相同。如果ref文件是一个符号链接,不要使用符号链接的组,而要使用它所引用的文件的组。
‘-v’
‘--verbose’
	为处理的每个文件输出一个诊断。如果在没有 lchown 系统调用的系统上进行递归遍历时遇到符号链接,并且 --no-dereference 生效,则发出诊断,指出符号链接及其引用都没有被更改。
‘-R’
‘--recursive’
	递归地更改目录及其内容的组所有权。
‘-H’ 
	如果指定了 --recursive (-R),并且命令行参数是指向目录的符号链接,则遍历该目录。参见第2.8节[遍历符号链接],第9页。
‘-L’ 
	在递归遍历中,遍历遇到的目录的每个符号链接。
	将解除引用选项与 --recursive 选项结合起来可能会产生安全风险:在遍历目录树期间,攻击者可能会将符号链接引入到任意目标;当工具到达这个位置时,就会对该符号链接的目标执行操作,这可能会允许攻击者提升权限。参见第2.8节[遍历符号链接],第9页。
‘-P’ 
	不要遍历任何符号链接。如果不指定-H、-L或-P,则为默认值。参见第2.8节[遍历符号链接],第9页。
退出状态为零表示成功,非零值表示失败。例子:
#将/u 的组改为"staff"
chgrp staff /u
#将/u及其子文件组改为"staff"
chgrp -hR staff /u

【busybox】【chgrp】指令介绍

[root@localhost bin]# ./chgrp --help
BusyBox v1.36.1 (2024-04-16 11:16:28 EDT) multi-call binary.

Usage: chgrp [-RhLHPcvf]... GROUP FILE...

Change the group membership of FILEs to GROUP

	-h	Affect symlinks instead of symlink targets
	-L	Traverse all symlinks to directories
	-H	Traverse symlinks on command line only
	-P	Don't traverse symlinks (default)
	-R	Recurse
	-c	List changed files
	-v	Verbose
	-f	Hide errors

【linux】【chgrp】指令介绍

[root@localhost bin]# chgrp --help
用法:chgrp [选项]... 用户组 文件...
 或:chgrp [选项]... --reference=参考文件 文件...
Change the group of each FILE to GROUP.
With --reference, change the group of each FILE to that of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect symbolic links instead of any referenced file
                         (useful only on systems that can change the
                         ownership of a symlink)
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's group rather than specifying a
                         GROUP value
  -R, --recursive        operate on files and directories recursively

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

示例:
  chgrp staff /u            将 /u 的属组更改为"staff"。
  chgrp -hR staff /u    将 /u 及其子目录下所有文件的属组更改为"staff"。

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 chgrp 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/chgrp>
或者在本地使用:info '(coreutils) chgrp invocation'

使用示例:

使用到后更新

常用组合指令:

指令不常用/组合用法还需继续挖掘:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻面条EW

感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值