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.