linux shell permissions code example
Example 1: bash how do permissions work
# How permissions/changing permissions works in linux. Permissions are
# generally listed in a format like rwxrw-r--, where r, w, x, and -
# stand for read, write, execute, and no permission respectively. There
# are basically three groups of rwx permissions: user, group, others
# and depending on your relationship to the files, you might be any one
# of these.
# To change file permissions, (e.g. chmod ### file), you need to
# indicate three decimal digits (0-7) which specify the three sets
# of permissionswhen converted to binary. Briefly, a decimal number
# between 0 and 7 can be represented by a three digit binary string.
# The binary string sets the permissions by treating 1 as "true" or
# permission granted and 0 as "false", or permission denied. See the
# table below for all the conversions and their meanings:
Decimal Binary Permission Permission meaning
7 111 rwx read, write, and execute
6 110 rw- read and write
5 101 r-x read and execute
4 100 r-- read only
3 011 -wx write and execute
2 010 -w- write only
1 001 --x execute only
0 000 --- none
Example 2: bash permissions
# syntax
# chmod *<Owner-digit>*<Group-digit>*<Others-digit> *<filename>
# example
chmod 777 FileForEveryone.txt
# --------------------------------------------------------------
# +-------------+---------+---------+---------+
# | Command | Owner | Group | Others |
# +-------------+---------+---------+---------+
# | chmod 777 | rwx | rwx | rwx |
# | chmod 666 | rw- | rw- | rw- |
# | chmod 555 | r-x | r-x | r-x |
# | chmod 444 | r-- | r-- | r-- |
# | chmod 333 | -wx | -wx | -wx |
# | chmod 222 | -w- | -w- | -w- |
# | chmod 111 | --x | --x | --x |
# | chmod 000 | --- | --- | --- |
# +-------------+---------+---------+---------+
# | chmod 776 | rwx | rwx | rw- |
# | chmod 766 | rwx | rw- | rw- |
# | chmod 765 | rwx | rw- | r-x |
# +-------------+---------+---------+---------+
# ENTITIES
# -------------------------------------------------- +
# Owner: User that created the file |
# Group: Users in the same group as the owner |
# Others: The rest of the users on the system |
# -------------------------------------------------- +