2024-07-01
Before understanding chmod, it’s essential to grasp the fundamental concept of file permissions in Linux. Each file and directory possesses three sets of permissions:
Each set has three permissions:
These permissions are represented numerically (4 for read, 2 for write, 1 for execute) or symbolically (r, w, x).
chmod with Numerical NotationThe numerical method expresses permissions as a three-digit octal number. Each digit corresponds to the permissions for owner, group, and others respectively.
Example 1: Setting permissions to 755
The command chmod 755 myfile.txt sets the permissions as follows:
Example 2: Restricting access
To make a file readable only by the owner:
chmod 400 sensitive_data.txtThis sets permissions to 4 (read) for the owner, 0 (no permissions) for the group, and 0 (no permissions) for others.
chmod with Symbolic NotationThe symbolic method is more user-friendly and easier to remember. It uses the u, g, o, and a symbols to represent owner, group, others, and all respectively, followed by the +, -, or = operators to add, remove, or set permissions.
Example 3: Adding execute permission for the group
chmod g+x my_script.shThis adds execute permission (x) for the group (g).
Example 4: Removing write permission for others
chmod o-w myfile.txtThis removes write permission (w) for others (o).
Example 5: Setting permissions for all users
chmod a=rx my_directoryThis sets read (r) and execute (x) permissions for all (a).
The chmod command works identically for directories. Execute permission on a directory allows access to its contents.
Example 6: Making a directory accessible to everyone
chmod a+rx my_public_directoryThis adds read and execute permissions for everyone on my_public_directory.
Remember to always double-check your chmod commands before execution. Incorrectly setting permissions can lead to data inaccessibility. Using the ls -l command will help you verify the permissions of a file after executing chmod.
Further exploration of umask can assist in setting default permissions for newly created files and directories. Understanding these concepts is fundamental to securing your Linux system effectively.