Convert file permission specifications between numeric (octal) and symbolic notation, and produce the corresponding chmod command.
755, 644, 4755)rwxr-xr-x)rwxr-xr-x)chmod 755 filenamechmod u+rwx,g+rx,o+rx filenameEach entity (owner/group/others) is a sum of:
Given a 3-digit octet OGO:
r if bit 2 set, w if bit 1 set, x if bit 0 set, else -.S: setuid sets s/S in owner execute position; setgid sets s/S in group execute position; sticky sets t/T in others execute position.Map each 3-char group to a digit using the bit values above.
Build clauses for each entity with permissions set:
u = owner, g = group, o = others{entity}+{perms} for each entity that has any permissionsu+s (setuid), g+s (setgid), +t (sticky)NumericSymbolicDescription644rw-r--r--Standard file (owner rw, rest r)755rwxr-xr-xStandard directory/executable600rw-------Private file (owner only)700rwx------Private directory/executable777rwxrwxrwxFull access (avoid in production)4755rwsr-xr-xSetuid executable2755rwxr-sr-xSetgid executable1755rwxr-xr-tSticky directory
Input: 755 Output:
text
Numeric: 755
Symbolic: rwxr-xr-x
Command (numeric): chmod 755 filename
Command (symbolic): chmod u+rwx,g+rx,o+rx filename
Owner: read, write, execute
Group: read, execute
Others: read, execute
Input: 644 Output:
text
Numeric: 644
Symbolic: rw-r--r--
Command (numeric): chmod 644 filename
Command (symbolic): chmod u+rw,g+r,o+r filename
Owner: read, write
Group: read
Others: read
Input: rwxr-xr-x Output:
text
Numeric: 755
Symbolic: rwxr-xr-x
Command (numeric): chmod 755 filename
Command (symbolic): chmod u+rwx,g+rx,o+rx filename
Input: "owner can read and write, group can read, others nothing" Output:
text
Numeric: 640
Symbolic: rw-r-----
Command (numeric): chmod 640 filename
Command (symbolic): chmod u+rw,g+r filename
777 that this allows full access to everyone and is a security risk.