User:Skangsep: Difference between revisions
From ICO wiki
Jump to navigationJump to search
mNo edit summary |
No edit summary |
||
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''QUEST5:''' | |||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee | #Koostaja: Siim Kängsepp, skangsep@itcollege.ee | ||
#Versioon: 0.1 | #Versioon: QUEST 5 ver.0.1 | ||
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. | #Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. | ||
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx). | #Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx). | ||
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida | #Kasutaja sisestab failinime, mille õigusi soovib kontrollida | ||
read -p "Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. | read -p "Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. | ||
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx). | Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx). | ||
Sisesta failinimi : " file | Sisesta failinimi : " file | ||
#Vaatame kas selline fail on üldse olemas: | #Vaatame kas selline fail on üldse olemas: | ||
if [ ! -e $file ]; then | if [ ! -e $file ]; then | ||
exit 1 | exit 1 | ||
fi | fi | ||
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab. | #Seejärel sisestab õigused, milliste vastu ta kontrollida tahab. | ||
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki | #Koostasin kontrolli, et oleks kindel, et pikkus=9 märki | ||
Line 24: | Line 25: | ||
echo "Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune" | echo "Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune" | ||
read s_6igus | read s_6igus | ||
LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//` | LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//` | ||
echo $LENGTH | echo $LENGTH | ||
if [ $LENGTH != 9 ]; then | if [ $LENGTH != 9 ]; then | ||
echo "Peab olema 9 tähemärgi pikkune, sisesta uuesti" | echo "Peab olema 9 tähemärgi pikkune, sisesta uuesti" | ||
Line 35: | Line 36: | ||
fi | fi | ||
done | done | ||
#Järgnevalt leitakse failiõigused: | #Järgnevalt leitakse failiõigused: | ||
f_6igus=(`stat -c %A $file`) | f_6igus=(`stat -c %A $file`) | ||
#Eemaldatakse kataloogieristus | #Eemaldatakse kataloogieristus | ||
f_6igus=`echo -n $f_6igus | cut -c2-10` | f_6igus=`echo -n $f_6igus | cut -c2-10` | ||
#Järgnevalt eristatakse grupi, omaniku, teisteõigused: | #Järgnevalt eristatakse grupi, omaniku, teisteõigused: | ||
#omanik (faili) | #omanik (faili) | ||
w_6igus=`echo -n $f_6igus | cut -c1-3` | w_6igus=`echo -n $f_6igus | cut -c1-3` | ||
Line 52: | Line 53: | ||
o_6igus=`echo -n $f_6igus | cut -c7-9` | o_6igus=`echo -n $f_6igus | cut -c7-9` | ||
echo faili teiste 6igused: $o_6igus | echo faili teiste 6igused: $o_6igus | ||
#Sama asi kasutaja sisestatud õiguste puhul | #Sama asi kasutaja sisestatud õiguste puhul | ||
#omanik (kasutaja sisestatud) | #omanik (kasutaja sisestatud) | ||
ws_6igus=`echo -n $s_6igus | cut -c1-3` | ws_6igus=`echo -n $s_6igus | cut -c1-3` | ||
Line 64: | Line 65: | ||
oo_6igus=`echo -n $s_6igus | cut -c7-9` | oo_6igus=`echo -n $s_6igus | cut -c7-9` | ||
echo sisestatud teiste 6igused: $oo_6igus | echo sisestatud teiste 6igused: $oo_6igus | ||
#Õiguste võrdlemise loogika | #Õiguste võrdlemise loogika | ||
if [ "$w_6igus | if [ "$w_6igus" = "$ws_6igus" ]; then | ||
exit 0 | |||
fi | |||
if [ "$w_6igus" != "$ws_6igus" ]; then | |||
exit 2 | |||
fi | fi | ||
if [ "$ | if [ "$g_6igus" != "$gs_6igus" ]; then | ||
exit 3 | |||
fi | fi | ||
if [ "$o_6igus | if [ "$o_6igus" != "$oo_6igus" ]; then | ||
echo " | exit 4 | ||
fi | |||
</source> | |||
---- | |||
'''QUEST 20:''' | |||
<source lang="bash"> | |||
#!/bin/bash | |||
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee | |||
#Versioon: Quest20 ver 0.1 | |||
#Skript, mis vaatab kas kasutaja on lukus. | |||
#exit 0 - kasutaja on lukus | |||
#exit 1 - kasutaja pole lukus | |||
#exit 2 - kasutajat pole üldse | |||
echo "Sisesta kasutajanimi" | |||
read nimi | |||
var=$(passwd -Sa | grep $nimi | cut -d" " -f2) | |||
if [ $? -eq 0 ]; then | |||
if [ "$var" == "L" ]; then | |||
echo "Kasutaja on lukus" | |||
exit 0 | |||
else | |||
echo "Kasutaja pole lukus" | |||
exit 1 | |||
fi | |||
else | |||
echo "Kasutajat pole" | |||
exit 2 | |||
fi | fi | ||
</source> | |||
---- | |||
'''QUEST 20:''' | |||
<source lang="python"> | |||
#!/usr/bin/python | |||
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee | |||
#Versioon: Quest20 ver 0.1 | |||
#!/usr/bin/python | |||
# -*- coding: utf-8 -*- | |||
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes! | |||
#exit(0) - kasutaja on lukus | |||
#exit(1) - kasutaja pole lukus | |||
#exit(2) - kasutajat pole üldse | |||
import string | |||
import sys | |||
var = raw_input("Sisesta kasutajanimi: ") | |||
filename = "/etc/shadow" | |||
for line in open(filename): | |||
if var in line: | |||
rec = string.splitfields(line, ':') | |||
if rec[1] == "!": | |||
print "Kasutaja",rec[0], "on lukus" | |||
sys.exit(0) | |||
elif rec[1] != "!": | |||
print "Kasutaja ",rec[0], "ei ole lukus" | |||
sys.exit(1) | |||
else: | |||
print "Sellist kasutajat ei leitud", var | |||
sys.exit(2) | |||
</source> | |||
---- | |||
Powershelli kodutöö | |||
<source lang="Powershell"> | |||
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse. | |||
# Autor: Siim Kängsepp | |||
# Versioon 0.1 | |||
$shared = get-content C:\script\shared.txt | |||
$nimed = Get-Content C:\script\nimed.txt | |||
for($i=0; $i -lt $shared.length; $i++){ | |||
$FolderPath = $shared[$i] | |||
$ShareName = $nimed[$i] | |||
New-Item $FolderPath -type directory | |||
#Teen shared valmis | |||
$Shares=[WMICLASS]”WIN32_Share” | |||
$Shares.Create($FolderPath,$ShareName,0) | |||
#Määran kataloogile kõik õigused | |||
$acl = Get-Acl $shared[$i] | |||
$permission = "user","FullControl","Allow" | |||
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission | |||
$acl.SetAccessRule($accessRule) | |||
$acl | Set-Acl $shared[$i] | |||
} | |||
#Write-Host "Sinu arvutis on nüüd järgmised shared:" | |||
Get-WmiObject Win32_Share | |||
</source> |
Latest revision as of 17:03, 9 June 2011
QUEST5:
#!/bin/bash
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee
#Versioon: QUEST 5 ver.0.1
#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 "Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).
Sisesta failinimi : " file
#Vaatame kas selline fail on üldse olemas:
if [ ! -e $file ]; then
exit 1
fi
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki
OK=0
while [ "$OK" != 1 ] ; do
echo "Sisesta soovitud õigused, peab olema 9-tähemä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
#Õiguste võrdlemise loogika
if [ "$w_6igus" = "$ws_6igus" ]; then
exit 0
fi
if [ "$w_6igus" != "$ws_6igus" ]; then
exit 2
fi
if [ "$g_6igus" != "$gs_6igus" ]; then
exit 3
fi
if [ "$o_6igus" != "$oo_6igus" ]; then
exit 4
fi
QUEST 20:
#!/bin/bash
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee
#Versioon: Quest20 ver 0.1
#Skript, mis vaatab kas kasutaja on lukus.
#exit 0 - kasutaja on lukus
#exit 1 - kasutaja pole lukus
#exit 2 - kasutajat pole üldse
echo "Sisesta kasutajanimi"
read nimi
var=$(passwd -Sa | grep $nimi | cut -d" " -f2)
if [ $? -eq 0 ]; then
if [ "$var" == "L" ]; then
echo "Kasutaja on lukus"
exit 0
else
echo "Kasutaja pole lukus"
exit 1
fi
else
echo "Kasutajat pole"
exit 2
fi
QUEST 20:
#!/usr/bin/python
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee
#Versioon: Quest20 ver 0.1
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!
#exit(0) - kasutaja on lukus
#exit(1) - kasutaja pole lukus
#exit(2) - kasutajat pole üldse
import string
import sys
var = raw_input("Sisesta kasutajanimi: ")
filename = "/etc/shadow"
for line in open(filename):
if var in line:
rec = string.splitfields(line, ':')
if rec[1] == "!":
print "Kasutaja",rec[0], "on lukus"
sys.exit(0)
elif rec[1] != "!":
print "Kasutaja ",rec[0], "ei ole lukus"
sys.exit(1)
else:
print "Sellist kasutajat ei leitud", var
sys.exit(2)
Powershelli kodutöö
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse.
# Autor: Siim Kängsepp
# Versioon 0.1
$shared = get-content C:\script\shared.txt
$nimed = Get-Content C:\script\nimed.txt
for($i=0; $i -lt $shared.length; $i++){
$FolderPath = $shared[$i]
$ShareName = $nimed[$i]
New-Item $FolderPath -type directory
#Teen shared valmis
$Shares=[WMICLASS]”WIN32_Share”
$Shares.Create($FolderPath,$ShareName,0)
#Määran kataloogile kõik õigused
$acl = Get-Acl $shared[$i]
$permission = "user","FullControl","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $shared[$i]
}
#Write-Host "Sinu arvutis on nüüd järgmised shared:"
Get-WmiObject Win32_Share