User:Skangsep: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Skangsep (talk | contribs)
No edit summary
Skangsep (talk | contribs)
No edit summary
 
(46 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''QUEST5:'''
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis.
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee
(777=rwxrwxrwx).
#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
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida
read -p "Sisesta failinimi : " file
read -p "Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.
#Kasutaja sisestab õigused, milliste vastu ta kontrollida tahab. Õigused tuleks sisestada täht-formaadis (777=rwxrwxrwx)!
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).
read -p "sisesta õigused (peab olema t2htformaadis ja 9-kohaline) : " s_6igus
 
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:
#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`
echo $f_6igus
 
#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 25: 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
 
   
echo sisestatud õigused: $s_6igus
 
#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 40: 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
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
</source>
----


#Õiguste võrdlemise loogika


if [ $(w_6igus) != $(ws_6igus) ]  
 
then
 
echo 2-omanikul valed õigused
'''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
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
else
echo 1
  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