The Linux man pages is an excellent source of information. Every system administrator knows how to use them and explore new commands, concepts through man pages. Recently I was doing some research on ACL’s(Access control list) and came to know there is a command chacl. I was aware of setfacl and getfacl which are useful for setting ACL’s and getting ACL information on files and folders. But with below concept I came know that there is chacl which we can use for changing ACL’s from one setting to other.

How I found this command?

The Linux man page command have an option to search through man pages for some keywords(-k). By using this we can search depth and width of all man pages installed in your machine. Suppose, I want to see what commands have “acl” in their commands. It does not matter if acl is present at start of the command, end of the command or middle of the command. This option will give all the results.


man -k acl


acl (5) - Access Control Lists
acl_add_perm (3) - add a permission to an ACL permission set
acl_calc_mask (3) - calculate the file group class mask
acl_check (3) - check an ACL for validity
acl_clear_perms (3) - clear all permissions from an ACL permission set
acl_cmp (3) - compare two ACLs
acl_copy_entry (3) - copy an ACL entry
acl_copy_ext (3) - copy an ACL from internal to external representation
acl_copy_int (3) - copy an ACL from external to internal representation
acl_create_entry (3) - create a new ACL entry
acl_delete_def_file (3) - delete a default ACL by filename
acl_delete_entry (3) - delete an ACL entry
acl_delete_perm (3) - delete a permission from an ACL permission set
acl_dup (3) - duplicate an ACL
acl_entries (3) - return the number of entries in an ACL
acl_equiv_mode (3) - check for an equivalent ACL
acl_error (3) - convert an ACL error code to a text message
acl_extended_fd (3) - test for information in the ACL by file descriptor
acl_extended_file (3) - test for information in ACLs by file name
acl_extended_file_nofollow (3) - test for information in ACLs by file name
acl_free (3) - release memory allocated to an ACL data object
acl_from_mode (3) - create an ACL from file permission bit's
acl_from_text (3) - create an ACL from text
acl_get_entry (3) - get an ACL entry
acl_get_fd (3) - get an ACL by file descriptor
acl_get_file (3) - get an ACL by filename
acl_get_perm (3) - test for a permission in an ACL permission set
acl_get_permset (3) - retrieve the permission set from an ACL entry
acl_get_qualifier (3) - retrieve the qualifier from an ACL entry
acl_get_tag_type (3) - get the tag type of an ACL entry
acl_init (3) - initialize ACL working storage
acl_set_fd (3) - set an ACL by file descriptor
acl_set_file (3) - set an ACL by filename
acl_set_permset (3) - set the permission set in an ACL entry
acl_set_qualifier (3) - set the qualifier of an ACL entry
acl_set_tag_type (3) - set the tag type of an ACL entry
acl_size (3) - get the size of the external representation of an ACL
acl_to_any_text (3) - convert an ACL to text
acl_to_text (3) - convert an ACL to text
acl_valid (3) - validate an ACL
chacl (1) - change the access control list of a file or directory
getfacl (1) - get file access control lists
Mouse::Meta::Attribute (3pm) - The Mouse attribute metaclass
Mouse::Meta::Class (3pm) - The Mouse class metaclass
Mouse::Meta::Method (3pm) - A Mouse Method metaclass
Mouse::Meta::Role (3pm) - The Mouse Role metaclass
Mouse::Meta::Role::Method (3pm) - A Mouse Method metaclass for Roles
Mouse::Meta::TypeConstraint (3pm) - The Mouse Type Constraint metaclass
Mouse::Util::MetaRole (3pm) - Apply roles to any metaclass, as well as the object base class
setfacl (1) - set file access control lists
tcpdmatch (8) - tcp wrapper oracle

See the beauty of this command. For just acl keyword it given all the man pages which contain acl in it. If you observe the output, it is not just commands it search, it searches entire man pages. From the above output first line I came to know there is an acl 5th man page as well. This is excelent as I can learn more about ACL concept.

acl (5) - Access Control Lists

Do you too want to learn more about Linux man pages? Then read my other post on how to decode man pages in Linux.

Related concept:   14 tail and head commands in Linux/Unix