chgrp invocation (GNU Coreutils 9.0)
Next: chmod invocation, Previous: chown invocation, Up: Changing file attributes [Contents][Index]
13.2 chgrp: Change group ownership
chgrp changes the group ownership of each given file to group (which can be either a group name or a numeric group ID) or to the group of an existing reference file. See chown invocation. Synopsis:
chgrp [option]… {group | --reference=ref_file} file…
If group is intended to represent a numeric group ID, then you may specify it with a leading ‘+’. See Disambiguating names and IDs.
It is system dependent whether a user can change the group to an arbitrary one, or the more portable behavior of being restricted to setting a group of which the user is a member.
The program accepts the following options. Also see Common options.
- ‘
-c’
‘--changes’ Verbosely describe the action for each
filewhose group actually changes.- ‘
-f’
‘--silent’
‘--quiet’ Do not print error messages about files whose group cannot be changed.
- ‘
--dereference’ Do not act on symbolic links themselves but rather on what they point to. This is the default when not operating recursively.
Combining this dereferencing option with the
--recursiveoption may create a security risk: During the traversal of the directory tree, an attacker may be able to introduce a symlink to an arbitrary target; when the tool reaches that, the operation will be performed on the target of that symlink, possibly allowing the attacker to escalate privileges.- ‘
-h’
‘--no-dereference’ Act on symbolic links themselves instead of what they point to. This mode relies on the
lchownsystem call. On systems that do not provide thelchownsystem call,chgrpfails when a file specified on the command line is a symbolic link. By default, no diagnostic is issued for symbolic links encountered during a recursive traversal, but see--verbose.- ‘
--preserve-root’ Fail upon any attempt to recursively change the root directory,
/. Without--recursive, this option has no effect. See Treating / specially.- ‘
--no-preserve-root’ Cancel the effect of any preceding
--preserve-rootoption. See Treating / specially.- ‘
--reference=ref_file’ Change the group of each
fileto be the same as that ofref_file. Ifref_fileis a symbolic link, do not use the group of the symbolic link, but rather that of the file it refers to.- ‘
-v’
‘--verbose’ Output a diagnostic for every file processed. If a symbolic link is encountered during a recursive traversal on a system without the
lchownsystem call, and--no-dereferenceis in effect, then issue a diagnostic saying neither the symbolic link nor its referent is being changed.- ‘
-R’
‘--recursive’ Recursively change the group ownership of directories and their contents.
- ‘
-H’ If
--recursive(-R) is specified and a command line argument is a symbolic link to a directory, traverse it. See Traversing symlinks.- ‘
-L’ In a recursive traversal, traverse every symbolic link to a directory that is encountered.
Combining this dereferencing option with the
--recursiveoption may create a security risk: During the traversal of the directory tree, an attacker may be able to introduce a symlink to an arbitrary target; when the tool reaches that, the operation will be performed on the target of that symlink, possibly allowing the attacker to escalate privileges.See Traversing symlinks.
- ‘
-P’ Do not traverse any symbolic links. This is the default if none of
-H,-L, or-Pis specified. See Traversing symlinks.
An exit status of zero indicates success, and a nonzero value indicates failure.
Examples:
# Change the group of /u to "staff". chgrp staff /u # Change the group of /u and subfiles to "staff". chgrp -hR staff /u
Next: chmod invocation, Previous: chown invocation, Up: Changing file attributes [Contents][Index]