logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       Only the owner of a file or the user with appropriate privileges may change the owner or group of a file.

       Some  implementations  restrict  the  use  of  chgrp to a user with appropriate privileges when the group
       specified is not the effective group ID or one of the supplementary group IDs of the calling process.

Asynchronous Events

       Default.

Consequences Of Errors

       Default.

       Thefollowingsectionsareinformative.

Description

       The chgrp utility shall set the group ID of the file named by each file operand to the group ID specified
       by the group operand.

       For  each  file  operand, or, if the -R option is used, each file encountered while walking the directory
       trees specified by the file operands, the chgrp utility shall perform actions equivalent to  the  chown()
       function defined in the System Interfaces volume of POSIX.1‐2017, called with the following arguments:

        *  The file operand shall be used as the path argument.

        *  The user ID of the file shall be used as the owner argument.

        *  The specified group ID shall be used as the group argument.

       Unless  chgrp  is invoked by a process with appropriate privileges, the set-user-ID and set-group-ID bits
       of a regular file shall be cleared upon successful completion; the set-user-ID and set-group-ID  bits  of
       other file types may be cleared.

Environment Variables

       The following environment variables shall affect the execution of chgrp:

       LANG      Provide a default value for the internationalization variables that are unset or null. (See the
                 Base Definitions volume of POSIX.1‐2017, Section8.2, InternationalizationVariables  for  the
                 precedence   of   internationalization  variables  used  to  determine  the  values  of  locale
                 categories.)

       LC_ALL    If set to a non-empty string value, override the values of all the  other  internationalization
                 variables.

       LC_CTYPE  Determine  the  locale  for the interpretation of sequences of bytes of text data as characters
                 (for example, single-byte as opposed to multi-byte characters in arguments).

       LC_MESSAGES
                 Determine the locale that should be used to  affect  the  format  and  contents  of  diagnostic
                 messages written to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

Examples

       None.

Exit Status

       The following exit values shall be returned:

        0    The utility executed successfully and all requested changes were made.

       >0    An error occurred.

Extended Description

       None.

Future Directions

       None.

Input Files

       None.

Name

       chgrp — change the file group ownership

Operands

       The following operands shall be supported:

       group     A  group  name from the group database or a numeric group ID. Either specifies a group ID to be
                 given to each file named by one of the file operands. If a numeric group operand exists in  the
                 group  database as a group name, the group ID number associated with that group name is used as
                 the group ID.

       file      A pathname of a file whose group ID is to be modified.

Options

       The  chgrp  utility  shall  conform to the Base Definitions volume of POSIX.1‐2017, Section12.2, UtilitySyntaxGuidelines.

       The following options shall be supported by the implementation:

       -h        For each file operand that names a file of type symbolic link, chgrp shall attempt to  set  the
                 group ID of the symbolic link instead of the file referenced by the symbolic link.

       -H        If  the  -R  option  is  specified  and a symbolic link referencing a file of type directory is
                 specified on the command line, chgrp shall change the group of the directory referenced by  the
                 symbolic link and all files in the file hierarchy below it.

       -L        If  the  -R  option  is  specified  and a symbolic link referencing a file of type directory is
                 specified on the command line or encountered during the traversal of a  file  hierarchy,  chgrp
                 shall  change  the  group of the directory referenced by the symbolic link and all files in the
                 file hierarchy below it.

       -P        If the -R option is specified and  a  symbolic  link  is  specified  on  the  command  line  or
                 encountered  during  the  traversal of a file hierarchy, chgrp shall change the group ID of the
                 symbolic link. The chgrp utility shall not follow the symbolic link to any other  part  of  the
                 file hierarchy.

       -R        Recursively  change  file  group IDs. For each file operand that names a directory, chgrp shall
                 change the group of the directory and all files in the file hierarchy below it.  Unless  a  -H,
                 -L,  or  -P  option  is specified, it is unspecified which of these options will be used as the
                 default.

       Specifying more than one of the mutually-exclusive options -H, -L, and -P  shall  not  be  considered  an
       error. The last option specified shall determine the behavior of the utility.

Output Files

       None.

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       The System V and BSD versions use different exit status codes. Some implementations used the exit  status
       as  a  count of the number of errors that occurred; this practice is unworkable since it can overflow the
       range of valid exit status values. The standard developers chose to mask these by specifying only  0  and
       >0 as exit values.

       The  functionality of chgrp is described substantially through references to chown().  In this way, there
       is no duplication of effort required for describing the interactions of permissions, multiple groups, and
       so on.

See Also

chmod, chown

       The Base Definitions volume of POSIX.1‐2017, Chapter8,  EnvironmentVariables,  Section12.2,  UtilitySyntaxGuidelines

       The System Interfaces volume of POSIX.1‐2017, chown()

Stderr

       The standard error shall be used only for diagnostic messages.

Stdin

       Not used.

Stdout

       Not used.

Synopsis

       chgrp [-h]groupfile...

       chgrp -R [-H|-L|-P]groupfile...

See Also