User:Skangsep: Difference between revisions
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 | ||
(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 21:46, 11 May 2011
<source lang="bash">
- !/bin/bash
- Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.
- Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).
- Kasutaja sisestab failinime, mille õigusi soovib kontrollida
read -p "Sisesta failinimi : " file
- Kasutaja sisestab õigused, milliste vastu ta kontrollida tahab. Õigused tuleks sisestada täht-formaadis
(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:
f_6igus=(`stat -c %A $file`)
- Eemaldatakse kataloogieristus
f_6igus=`echo -n $f_6igus | cut -c2-10`
- Järgnevalt eristatakse grupi, omaniku, teisteõigused:
- omanik (faili)
w_6igus=`echo -n $f_6igus | cut -c1-3` echo faili omanikuõigus: $w_6igus
- grupp (faili)
g_6igus=`echo -n $f_6igus | cut -c4-6` echo faili grupiõigus: $g_6igus
- teised (faili)
o_6igus=`echo -n $f_6igus | cut -c7-9` echo faili teiste 6igused: $o_6igus
- Sama asi kasutaja sisestatud õiguste puhul
- omanik (kasutaja sisestatud)
ws_6igus=`echo -n $s_6igus | cut -c1-3` echo sisestatud omanikuõigus: $ws_6igus
- grupp (kasutaja sisestatud)
gs_6igus=`echo -n $s_6igus | cut -c4-6` echo sisestatud grupiõigus: $gs_6igus
- teised (kasutaja sisestatud)
oo_6igus=`echo -n $s_6igus | cut -c7-9` echo sisestatud teiste 6igused: $oo_6igus
- Faili olemasolu kontroll
if [ -e ];
- Õ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