{
    "mode": "man",
    "parameter": "CHACL",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/CHACL/1/json",
    "generated": "2026-06-03T12:15:43Z",
    "synopsis": "",
    "sections": {
        "NAME": {
            "content": "chacl - change the access control list of a file or directory\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "",
            "subsections": [
                {
                    "name": "chacl acl pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -b acl dacl pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -d dacl pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -R pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -D pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -B pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -l pathname...",
                    "content": ""
                },
                {
                    "name": "chacl -r pathname...",
                    "content": ""
                }
            ]
        },
        "DESCRIPTION": {
            "content": "chacl  is  an  IRIX-compatibility command, and is maintained for those users who are familiar\nwith its use from either XFS or IRIX.  Refer to the SEE ALSO section below for a  description\nof tools which conform more closely to the (withdrawn draft) POSIX 1003.1e standard which de‐\nscribes Access Control Lists (ACLs).\n\nchacl changes the ACL(s) for a file or directory.  The ACL(s) specified are applied  to  each\nfile in the ppaatthhnnaammee arguments.\n\nEach  ACL is a string which is interpreted using the aclfromtext(3) routine.  These strings\nare made up of comma separated clauses each of which is of the  form,  tag:name:perm.   Where\nttaagg can be:\n\n\"user\" (or \"u\")\nindicating that the entry is a \"user\" ACL entry.\n\n\"group\" (or \"g\")\nindicating that the entry is a \"group\" ACL entry.\n\n\"other\" (or \"o\")\nindicating that the entry is an \"other\" ACL entry.\n\n\"mask\" (or \"m\")\nindicating that the entry is a \"mask\" ACL entry.\n\nnnaammee is a string which is the user or group name for the ACL entry.  A null nnaammee in a user or\ngroup ACL entry indicates the file's owner or file's group.  ppeerrmm is the string  \"rwx\"  where\neach  of  the entries may be replaced by a \"-\" indicating no access of that type, e.g. \"r-x\",\n\"--x\", \"---\".\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-b",
                    "content": "second the directory default ACL.\n",
                    "flag": "-b"
                },
                {
                    "name": "-d",
                    "content": "",
                    "flag": "-d"
                },
                {
                    "name": "-R",
                    "content": "",
                    "flag": "-R"
                },
                {
                    "name": "-D",
                    "content": "",
                    "flag": "-D"
                },
                {
                    "name": "-B",
                    "content": "",
                    "flag": "-B"
                },
                {
                    "name": "-l",
                    "content": "or directories.  This option was added during the Linux port of XFS, and is  not  IRIX\ncompatible.\n",
                    "flag": "-l"
                },
                {
                    "name": "-r",
                    "content": "was also added during the Linux port of XFS, and is not compatible with IRIX.\n",
                    "flag": "-r"
                }
            ]
        },
        "EXAMPLES": {
            "content": "A minimum ACL:\n\nchacl u::rwx,g::r-x,o::r-- file\n\nThe file ACL is set so that the file's owner has \"rwx\", the file's group has  read  and  exe‐\ncute, and others have read only access to the file.\n\nAn  ACL that is not a minimum ACL, that is, one that specifies a user or group other than the\nfile's owner or owner's group, must contain a mask entry:\n\ncchhaaccll uu::::rrwwxx,,gg::::rr--xx,,oo::::rr----,,uu::bboobb::rr----,,mm::::rr--xx ffiillee11 ffiillee22\n\nTo set the default and access ACLs on nneewwddiirr to be the same as on oollddddiirr, you could type:\n\ncchhaaccll --bb ``cchhaaccll --ll oollddddiirr || \\\\\nsseedd --ee ''ss//..**\\\\[[////'' --ee ''ss##//## ##'' --ee ''ss//]]$$////''`` nneewwddiirr\n",
            "subsections": []
        },
        "CAUTIONS": {
            "content": "chacl can replace the existing ACL.  To add or delete entries, you must first do cchhaaccll --ll  to\nget the existing ACL, and use the output to form the arguments to chacl.\n\nChanging  the  permission  bits  of  a  file  will  change  the file access ACL settings (see\nchmod(1)).  However, file creation mode masks (see umask(1)) will not affect the  access  ACL\nsettings of files created using directory default ACLs.\n\nACLs  are filesystem extended attributes and hence are not typically archived or restored us‐\ning the conventional archiving utilities.  See attr(5) for more  information  about  extended\nattributes and see xfsdump(8) for a method of backing them up under XFS.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "getfacl(1), setfacl(1), chmod(1), umask(1), aclfromtext(3), acl(5), xfsdump(8)\n\n\n\nSeptember 2001                           ACL File Utilities                                 CHACL(1)",
            "subsections": []
        }
    },
    "summary": "chacl - change the access control list of a file or directory",
    "flags": [
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": "second the directory default ACL."
        },
        {
            "flag": "-d",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-R",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-D",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-B",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-l",
            "long": null,
            "arg": null,
            "description": "or directories. This option was added during the Linux port of XFS, and is not IRIX compatible."
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": "was also added during the Linux port of XFS, and is not compatible with IRIX."
        }
    ],
    "examples": [
        "A 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  exe‐",
        "cute, 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:",
        "cchhaaccll uu::::rrwwxx,,gg::::rr--xx,,oo::::rr----,,uu::bboobb::rr----,,mm::::rr--xx ffiillee11 ffiillee22",
        "To set the default and access ACLs on nneewwddiirr to be the same as on oollddddiirr, you could type:",
        "cchhaaccll --bb ``cchhaaccll --ll oollddddiirr || \\\\",
        "sseedd --ee ''ss//..**\\\\[[////'' --ee ''ss##//## ##'' --ee ''ss//]]$$////''`` nneewwddiirr"
    ],
    "see_also": [
        {
            "name": "getfacl",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/getfacl/1/json"
        },
        {
            "name": "setfacl",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/setfacl/1/json"
        },
        {
            "name": "chmod",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/chmod/1/json"
        },
        {
            "name": "umask",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/umask/1/json"
        },
        {
            "name": "aclfromtext",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/aclfromtext/3/json"
        },
        {
            "name": "acl",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/acl/5/json"
        },
        {
            "name": "xfsdump",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/xfsdump/8/json"
        }
    ]
}