The chmod command accepts up to four digits to represent an octal number. The octets refer to bits applied to the file owner, group and other users, respectively. Use of three digits is what this progam helps you accomplish easliy.
a permission in itself but rather can be used instead of x for the program chmod on a unix system. It applies execute permissions to directories regardless of their current permissions and applies execute permissions to a file which already has at least 1 execute permission bit.
The first digit = selects attributes for the set user ID (4) and set group ID (2) and save text image (1)S. The second digit = permissions for the user who owns the file.
chmod 400 file - Read by owner
chmod 040 file - Read by group
chmod 004 file - Read by world
chmod 200 file - Write by owner
chmod 020 file - Write by group
chmod 002 file - Write by world
chmod 100 file - execute by owner
chmod 010 file - execute by group
chmod 001 file - execute by world
To combine these, just add the numbers together:
chmod 444 file - Allow read permission to owner and group and world
chmod 777 file - Allow everyone to read, write, and execute file
If none of these are given, the effect is as if `a' were given, but bits that are set in the umask are not affected.
all users (a) is effectively
user + group + others
The operator '+' causes the permissions selected to be added to the existing permissions of each file; '-' causes them to be removed; and '=' causes them to be the only permissions that the file has.
The letters 'rwxXstugo' select the new permissions for the affected users:
Execute (or access for directories) (x),
Execute only if the file is a directory or already has execute permission for some user (X),
Set user or group ID on execution (s),
Save program text on swap device (t),