User:Skangsep: Difference between revisions

From ICO wiki
Jump to navigationJump to search
mNo edit summary
No edit summary
Line 1: Line 1:
TODO:
#!/bin/bash
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. Õigused tuleks sisestada täht-formaadis (777=rwxrwxrwx).


Peale nime küsimist küsib skript kinnitust, et nimi on õige.
#Kasutaja sisestab failinime, mille õigusi tahab kontrollida
read -p "Sisesta failinimi : " file
#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


Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)  
#Järgnevalt leitakse failiõigused:
f_6igus=(`stat -c %A $file`)
#Eemaldatakse kataloogieristus
f_6igus=`echo -n $f_6igus | cut -c2-10`
echo $f_6igus


#Järgnevalt eristatakse grupi, omaniku, teisteõigused:
#owner (faili)
w_6igus=`echo -n $f_6igus | cut -c1-3`
echo faili omanikuõigus:  $w_6igus
#group (faili)
g_6igus=`echo -n $f_6igus | cut -c4-6`
echo faili grupiõigus: $g_6igus
#other (faili)
o_6igus=`echo -n $f_6igus | cut -c7-9`
echo faili teiste 6igused: $o_6igus


#!/bin/bash
#Autor: Siim Kängsepp, skangsep@itcollege.ee
#Versioon 0.1


#Sama asi kasutaja sisestatud õiguste puhul


echo Antud skript kirjutab sinu kasutajanime tekstifaili /var/tmp/username
echo $s_6igus


#Küsin kasutajanime
#owner (kasutaja sisestatud)
ws_6igus=`echo -n $s_6igus | cut -c1-3`
echo sisestatud omanikuõigus: $ws_6igus
#group (kasutaja sisestatud)
gs_6igus=`echo -n $s_6igus | cut -c4-6`
echo sisestatud grupiõigus: $gs_6igus
#other (kasutaja sisestatud)
oo_6igus=`echo -n $s_6igus | cut -c7-9`
echo sisestatud teiste 6igused: $oo_6igus


read -p "Sisesta oma kasutajanimi : " name
#Õiguste võrdlemise loogika


read -p "Kindel, et kasutajanimi $name on õige ja tahad jätkata? Kui, siis vasta yes."
if [ $(w_6igus) != $(ws_6igus) ]
if [ "$REPLY" != "yes" ]; then
then
  exit
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
#faili ei leitud
else
echo 1
fi
fi
$name >> /var/tmp/username.txt

Revision as of 21:57, 11 May 2011

  1. !/bin/bash
  2. Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. Õigused tuleks sisestada täht-formaadis (777=rwxrwxrwx).
  1. Kasutaja sisestab failinime, mille õigusi tahab 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