User:Skangsep

From ICO wiki
Revision as of 21:06, 11 May 2011 by Skangsep (talk | contribs)
Jump to navigationJump to search

<source lang="bash">

  1. !/bin/bash
  2. Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis.
(777=rwxrwxrwx).
  1. Kasutaja sisestab failinime, mille õigusi soovib kontrollida

read -p "Sisesta failinimi : " file

  1. Kasutaja sisestab õigused, milliste vastu ta kontrollida tahab. Õigused tuleks sisestada täht-formaadis (777=rwxrwxrwx)!

read -p "sisesta õigused (peab olema t2htformaadis ja 9-kohaline) : " s_6igus

  1. Järgnevalt leitakse failiõigused:

f_6igus=(`stat -c %A $file`)

  1. Eemaldatakse kataloogieristus

f_6igus=`echo -n $f_6igus | cut -c2-10` echo $f_6igus

  1. Järgnevalt eristatakse grupi, omaniku, teisteõigused:
  2. owner (faili)

w_6igus=`echo -n $f_6igus | cut -c1-3` echo faili omanikuõigus: $w_6igus

  1. group (faili)

g_6igus=`echo -n $f_6igus | cut -c4-6` echo faili grupiõigus: $g_6igus

  1. other (faili)

o_6igus=`echo -n $f_6igus | cut -c7-9` echo faili teiste 6igused: $o_6igus


  1. Sama asi kasutaja sisestatud õiguste puhul

echo $s_6igus

  1. owner (kasutaja sisestatud)

ws_6igus=`echo -n $s_6igus | cut -c1-3` echo sisestatud omanikuõigus: $ws_6igus

  1. group (kasutaja sisestatud)

gs_6igus=`echo -n $s_6igus | cut -c4-6` echo sisestatud grupiõigus: $gs_6igus

  1. other (kasutaja sisestatud)

oo_6igus=`echo -n $s_6igus | cut -c7-9` echo sisestatud teiste 6igused: $oo_6igus

  1. Õiguste võrdlemise loogika

if [ $(w_6igus) != $(ws_6igus) ] then echo 2-omanikul valed õigused fi if [ $(g_õigus) != $(gs_õigus) ] then echo 3-grupil valed õigused fi if [ $(o_6igus) != $(oo_õigus) ] then echo 4-teistel kasutajatel valed õigused fi

  1. faili ei leitud

else echo 1 fi