Changes

Jump to navigation Jump to search
1,173 bytes added ,  15:42, 15 February 2019
no edit summary
Line 8: Line 8:  
<br />
 
<br />
 
Examples<br />
 
Examples<br />
 +
* 4 = r--
 +
* 6 = rw-
 +
* 7 = rwx
 
<br />
 
<br />
 
  <nowiki>
 
  <nowiki>
Line 17: Line 20:  
|chmod u=rw,go=          | chmod 600 |
 
|chmod u=rw,go=          | chmod 600 |
 
|chmod u=rwx,go=        | chmod 700 |
 
|chmod u=rwx,go=        | chmod 700 |
x------------------------x-----------x</nowiki>
+
x------------------------x-----------x
 +
test: Du=rwx,go=rx,Fu=rw,og=r
 +
</nowiki>
 
Sitcky bit:<br />
 
Sitcky bit:<br />
 
When assigned to a directory, the elements inside it can only be renamed by:<br />
 
When assigned to a directory, the elements inside it can only be renamed by:<br />
Line 23: Line 28:  
* the owner of the directory
 
* the owner of the directory
 
* root
 
* root
 
+
chmod +t dir_name
 +
chmod -t dir_name
 
<br />
 
<br />
 
chmod 400 file - Read by owner<br />
 
chmod 400 file - Read by owner<br />
Line 40: Line 46:  
chmod 444 file - Allow read permission to owner and group and world<br />
 
chmod 444 file - Allow read permission to owner and group and world<br />
 
chmod 777 file - Allow everyone to read, write, and execute file<br />
 
chmod 777 file - Allow everyone to read, write, and execute file<br />
 +
 +
== Change permissions only for directories ==
 +
chmod 755 $(find /path/to/base/dir -type d)
 +
 +
== Change permissions only for files ==
 +
chmod 640 $(find /path/to/base/dir -type f)
 +
for fi in $(find /Pilaf -type f); do chmod 640 $fi;done  # if there are many files
 +
 +
== Chmod Script ==
 +
<nowiki>#!/bin/sh
 +
# syntax: setperm.s destdir
 +
#
 +
if [ -z $1 ] ; then echo "Requires single argument: <directoryname>" ; exit 1 ;                                      fi
 +
 +
destdir=$1
 +
 +
dirmode=0770
 +
filemode=0660
 +
 +
YN=no
 +
 +
printf "\nThis will RECURSIVELY change the permissions for this entire branch:\n                                      "
 +
printf "\t$destdir\n"
 +
printf "\tDirectories chmod = $dirmode\tFiles chmod = $filemode\n"
 +
printf "Are you sure want to do this [$YN]? "
 +
 +
read YN
 +
 +
case $YN in
 +
        [yY]|[yY][eE][sS])
 +
        # change permissions on files and directories.
 +
        find $destdir -type f -print0 | xargs -0 chmod $filemode $i
 +
        find $destdir -type d -print0 | xargs -0 chmod $dirmode $ii ;;
 +
 +
        *) echo "\nBetter safe than sorry I always say.\n" ;;
 +
esac</nowiki>

Navigation menu