{
    "mode": "man",
    "parameter": "chacl",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/chacl/1/json",
    "generated": "2026-09-05T07:09:36Z",
    "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 pathname 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\ntag 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\nname is a string which is the user or group name for the ACL entry.  A null name in a user or\ngroup ACL entry indicates the file's owner or file's group.  perm 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\nchacl u::rwx,g::r-x,o::r--,u:bob:r--,m::r-x file1 \u001b[4mfile2\n\nTo set the default and access ACLs on newdir to be the same as on olddir, you could type:\n\nchacl -b `chacl -l olddir | \u001b[4m\\\nsed -e 's/.*\\[//' -e 's#/# #' -e 's/]$//'` \u001b[4mnewdir\n",
            "subsections": []
        },
        "CAUTIONS": {
            "content": "chacl can replace the existing ACL.  To add or delete entries, you must first do chacl -l  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\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:",
        "chacl u::rwx,g::r-x,o::r--,u:bob:r--,m::r-x file1 \u001b[4mfile2",
        "To set the default and access ACLs on newdir to be the same as on olddir, you could type:",
        "chacl -b `chacl -l olddir | \u001b[4m\\",
        "sed -e 's/.*\\[//' -e 's#/# #' -e 's/]$//'` \u001b[4mnewdir"
    ],
    "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"
        }
    ]
}