Copyright (C) 2001, 2002, 2004 Silicon Graphics, Inc. All rights reserved. This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU General Public License's references to "object code" and "executables" are to be interpreted as the output of any document formatting or typesetting system, including interm...
NAMEchacl - change the access control list of a file or directory
SYNOPSISchacl acl pathname...
chacl -b acl dacl pathname...
chacl -d dacl pathname...
chacl -R pathname...
chacl -D pathname...
chacl -B pathname...
chacl -l pathname...
chacl -r pathname...
DESCRIPTIONchacl is an IRIX-compatibility command, and is maintained for those users who are familiar with its use from either XFS or IRIX. Refer to the SEE ALSO section below for a description of tools which conform more closely to the (withdrawn draft) POSIX 1003.1e standard which describes Access Control Lists (ACLs).
chacl changes the ACL(s) for a file or directory. The ACL(s) specified are applied to each file in the pathname arguments. Each ACL is a string which is interpreted using the acl_from_text(3) routine. These strings are made up of comma separated clauses each of which is of the form, tag:name:perm. Where tag can be:
- "user" (or "u")
- indicating that the entry is a user ACL entry.
- "group" (or "g")
- indicating that the entry is a group ACL entry.
- "other" (or "o")
- indicating that the entry is an other ACL entry.
- "mask" (or "m")
- indicating that the entry is a mask ACL entry. name is a string which is the user or group name for the ACL entry. A null name in a user or group ACL entry indicates the file's owner or file's group. perm is the string "rwx" where each of the entries may be replaced by a "-" indicating no access of that type, e.g. "r-x", "--x", "---".
- Indicates that there are two ACLs to change, the first is the file access ACL and the second the directory default ACL.
- Used to set only the default ACL of a directory.
- Removes the file access ACL only.
- Removes directory default ACL only.
- Remove all ACLs.
- Lists the access ACL and possibly the default ACL associated with the specified files or directories. This option was added during the Linux port of XFS, and is not IRIX compatible.
- Set the access ACL recursively for each subtree rooted at pathname(s). This option was also added during the Linux port of XFS, and is not compatible with IRIX.
EXAMPLESA minimum ACL:
chacl u::rwx,g::r-x,o::r-- file
The file ACL is set so that the file's owner has "rwx", the file's group has read and execute, and others have read only access to the file. An ACL that is not a minimum ACL, that is, one that specifies a user or group other than the file's owner or owner's group, must contain a mask entry:
chacl u::rwx,g::r-x,o::r--,u:bob:r--,m::r-x file1 file2
To set the default and access ACLs on newdir to be the same as on olddir, you could type:
chacl -b `chacl -l olddir | \ sed -e 's/.*\[//' -e 's#/# #' -e 's/]$//'` newdir