User:Skangsep: Difference between revisions

From ICO wiki
Jump to navigationJump to search
mNo edit summary
No edit summary
Line 6: Line 6:
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida
read -p "Sisesta failinimi : " file
read -p "Sisesta failinimi : " file
#Kasutaja sisestab õigused, milliste vastu ta kontrollida tahab. Õigused tuleks sisestada täht-formaadis (777=rwxrwxrwx)!
#Kasutaja sisestab õigused, milliste vastu ta kontrollida tahab. Õigused tuleks sisestada täht-formaadis
read -p "sisesta õigused (peab olema t2htformaadis ja 9-kohaline) : " s_6igus
(777=rwxrwxrwx)!  
 
 
#Kontroll
OK=0
while [ "$OK" != 1 ] ; do
    echo "Sisesta soovitud õigused, peavad olema tähtformaadis ja 9 märgi pikkune"
    read s_6igus
   
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`
    echo $LENGTH
   
   
    if [ $LENGTH != 9 ]; then
        echo "Peab olema 9 tähemärgi pikkune, sisesta uuesti"
    else
        echo Tubli, saidki hakkama
OK=1
    fi
done
 
 
 
 


#Järgnevalt leitakse failiõigused:
#Järgnevalt leitakse failiõigused:

Revision as of 22:46, 11 May 2011

<source lang="bash">

  1. !/bin/bash
  2. Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.
  3. Õ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)!


  1. Kontroll

OK=0 while [ "$OK" != 1 ] ; do

   echo "Sisesta soovitud õigused, peavad olema tähtformaadis ja 9 märgi pikkune"
   read s_6igus
   
   LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`
   echo $LENGTH
   
   
   if [ $LENGTH != 9 ]; then
       echo "Peab olema 9 tähemärgi pikkune, sisesta uuesti"
   else
       echo Tubli, saidki hakkama

OK=1

   fi

done



  1. Järgnevalt leitakse failiõigused:

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

  1. Eemaldatakse kataloogieristus

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

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

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

  1. grupp (faili)

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

  1. teised (faili)

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

  1. Sama asi kasutaja sisestatud õiguste puhul
  1. omanik (kasutaja sisestatud)

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

  1. grupp (kasutaja sisestatud)

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

  1. teised (kasutaja sisestatud)

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

  1. Faili olemasolu kontroll

if [ -e ];

  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


else echo 1-faili ei leitud fi