permission = read(4) + write(2) + execute(1)
===== CHMOD ===== ( change permission for file )
chmod [permissions] file
(u)ser, (g)roup, (o)ther, (a)ll
(r)ead, (w)rite, (e)xecute
(+) add permission, (-) remove permission, (=) set permission
#Examples:
chmod o+rwx file # add rwx for other
chmod o=rw file # set rw for other
chmod og-x file # remove x from other and group
chmod a+r file # everyone can read
# Numeric
chmod 724 file # owner=everything, group=writing, other=reading
first number is for owner of file,
second for group of owner,
third for everyone
===== OTHER =====
ls -l [path]
---------- # file
d--------- # directory
-rwx------ # owner
----rwx--- # group
-------rwx # other
The three rightmost digits define permissions for the:
file user, the group, and others.
# Permission rwx Binary
7 read, write and execute rwx 111
6 read and write rw- 110
5 read and execute r-x 101
4 read only r-- 100
3 write and execute -wx 011
2 write only -w- 010
1 execute only --x 001
0 none --- 000
# 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
chmod u=rwx,g=rw,o=rx myfile.txt
Now view the result:
ls -l myfile.txt
-rwxrw-r-x 1 user group 9482 Jan 16 16:29 myfile.txt
//where frist character represent wheather it is directory or file
// 'd' for directory and '-' file
Character. Effect on files. Effect on directories
Read permission (first character)
- The file cannot be read. The directory's contents cannot be shown.
r The file can be read. The directory's contents can be shown.
Write permission (second character)
- The file cannot be modified. The directory's contents cannot be modified.
w The file can be modified. The directory's contents can be modified (create new files or directories; rename or delete existing files or directories); requires the execute permission to be also set, otherwise this permission has no effect.
Execute permission (third character)
- The file cannot be executed. The directory cannot be accessed with cd.
x The file can be executed. The directory can be accessed with cd; this is the only permission bit that in practice can be considered to be "inherited" from the ancestor directories, in fact if any directory in the path does not have the x bit set, the final file or directory cannot be accessed either, regardless of its permissions; see path_resolution(7) for more information.
s The setuid bit when found in the user triad; the setgid bit when found in the group triad; it is not found in the others triad; it also implies that x is set.
S Same as s, but x is not set; rare on regular files, and useless on directories.
t The sticky bit; it can only be found in the others triad; it also implies that x is set.
T Same as t, but x is not set; rare on regular files.
--- --- ---
rwx rwx rwx
user group other