Difference between revisions of "File permission demonstration script"

From assela Pathirana
Jump to navigationJump to search
 
Line 21: Line 21:
077
077
EOF
EOF
</pre>
will produce the following output:
<pre>
          umask          file          dirs          files          dirs
            022            759            648    drwxr-xr-x    -rw-r--r--
            027            754            643    drwxr-x---    -rw-r-----
            002            775            664    drwxrwxr-x    -rw-rw-r--
            006            771            660    drwxrwx--x    -rw-rw----
            007            770            659    drwxrwx---    -rw-rw----
            077            714            603    drwx------    -rw-------
</pre>
</pre>

Revision as of 10:26, 23 March 2006

#!/bin/bash
fmt="%15s%15s%15s%15s%15s\n"
printf $fmt umask file dirs files dirs
while read line
do 
  set -- $line
  umask $1
  touch tempfile
  mkdir tempdir
  fval=`ls -l tempfile|awk '{print $1}'`
  dval=`ls -dl tempdir|awk '{print $1}'`
  printf $fmt $1 "$(( 777 - $1 ))" "$(( 666 - $1 ))" $dval $fval
  rm -rf temp*
done << EOF
022
027
002
006
007
077
EOF

will produce the following output:

          umask           file           dirs          files           dirs
            022            759            648     drwxr-xr-x     -rw-r--r--
            027            754            643     drwxr-x---     -rw-r-----
            002            775            664     drwxrwxr-x     -rw-rw-r--
            006            771            660     drwxrwx--x     -rw-rw----
            007            770            659     drwxrwx---     -rw-rw----
            077            714            603     drwx------     -rw-------