User:Amill: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Python=
==Ülesanne==
#Skript kontrollib, kas kasutaja on lukus.<br>
#Skript tuleb käivitada ''root'' õigustes, kui õigused puuduvad, väljutakse skriptist<br>
#Skript tuleb käivitada kujul: python is_locked.py kasutajanimi. Kui ei käivitata, teatakse kasutajale, kuidas tuleb skript käivitada.
#Kui kasutaja on lukus, siis öeldakse, et kasutaja on lukus.<br>
#Kui kasutaja ei ole lukus, sis öeldakse, et kasutaja ei ole lukus.<br>
#Kui kasutajat ei eksisteeri, siis öeldakse, et kasutajat ei ole olemas<br>
==Lahendus==
<source lang="python">
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Autor:Andres Mill A22 amill@itcollege.ee
#Versioon:0.1
#Viimane muutmise kuupäev:23.05.2011
#Skript kontrollib, kas kasutaja on lukus.
#Impordime sys ja os moodulid
#sys moodulit kasutame k2surea parameetrite lugemiseks.
#os moodulit kasutame õiguste kontrolliks.
import sys
import os
#Kontrollime, kas skript on käivitatud õigel kujul
#Kui on, defineerime muutuja kasutaja, mis sisaldab otsitavat kasutajanime.
#Kui ei ole, teatame kasutajale, mis kujul skript tuleb käivitada ja väljume skritist
if len(sys.argv) == 2:
    kasutaja = (sys.argv[1])
else:
    print "Käivita skript kujul: python %s kasutajanimi"%(sys.argv[0])
    exit(0)
#Kontrollime, kas skript on käivitatud root õigustes.
#Kui ei ole, teatame kasutajale, et käivita skript  uuesti vastavates õigustes.
if os.getuid() != 0:
    print "Käivita skript root õigustes!"
    exit(0)
#Avame /etc/shadow faili, kus saame kontrollida, kas kasutaja on lukus.
fh=open("/etc/shadow")
#Abimuutuja, millega saame kontrollida, kas kasutaja on olemas.
i=0;
#Käime foriga kõik read läbi.
#Kui kasutaja on reas olemas, kontrollime, kas kasutaja on lukus.
#Kui reas on symbolid :!, siis on kasutaja lukus.
for line in fh.readlines():
    if kasutaja in line :
i=i+1
if ":!" in line :
    print "Kasutaja %s on lukus"%(kasutaja)
else :
    print "Kasutaja %s pole lukus"%(kasutaja)
#Kui i väärtus on 0, siis kasutajat pole olemas.
#Kui i väärtus on 1, siis kasutaja on oleas.
if (i==0):
    print "Kasutajat %s ei ole olemas."%(kasutaja)
#Sulgeme faili.   
fh.close()
</source>
=Bash=
==Ülesanne==
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.<br>
Tagastab 0, kui kuulub ja 1 kui ei kuulu.<br>
user_in_group.sh <kasutaja> <grupp> <br>
==Lahendus==
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
#author: Andres Mill
#Author: Andres Mill
#Rühm: A22
#Rühm: A22
#Version: 0.1
#Version: 0.1
#Viimane muutmise kuupäev: 11.05.2011
#Skript kontrollib, kas kasutaja kuulub etteantud gruppi või mitte.
#Skript kontrollib, kas kasutaja kuulub etteantud gruppi või mitte.
 
 
#Kontrollime mitme parameetriga programm on käivitatud,
#Kontrollime mitme parameetriga programm on käivitatud,
#kui parameetrite arv ei ole kaks,siis väljutakse programmist
#kui parameetrite arv ei ole kaks,siis väljutakse programmist
#ja andakse teada, et käivita skript uuesti sellisel kujul.
#ja andakse teada, et käivita skript uuesti sellisel kujul.
if [ $# -ne 2 ]; then
if [ $# -ne 2 ]; then
echo "K2ivita skript uuesti kahe parameetiga kujul $(basename $0) kasutaja grupp"
echo "Käivita skript uuesti kahe parameetiga kujul $(basename $0) kasutaja grupp"
exit 1
exit 1
fi
fi
 
#Vaatame, mis grupidesse kasutaja kuulub.
#Vaatame, mis grupidesse kasutaja kuulub.
#Vaatame, kas kasutaja kuulub gruppi
#Vaatame, kas kasutaja kuulub gruppi
#Kui grepimise tulemusel ridade arv on suurem kui null, antakse teada,et kasutaja kuulub gruppi.
#Kui grepimise tulemusel ridade arv ei ole null, antakse teada,et kasutaja kuulub gruppi.
#Kui grepimisega leitud ridade arv on väiksem kui null teatatakse, et kasutaja ei kuulu gruppi.
#Kui grepimisega leitud ridade arv on null teatatakse, et kasutaja ei kuulu gruppi.
if [ $( groups $2|grep $1 -c) >0 ]; then
echo "0 - Kasutaja kuulub gruppi."
if [ $( groups $1|grep $2 -c) != 0 ]; then
exit 0
 
else
else
echo "1 - Kasutaja ei kuulu gruppi"
exit 1
fi  
fi  
exit 0
 
</source>
</source>

Latest revision as of 19:15, 23 May 2011

Python

Ülesanne

  1. Skript kontrollib, kas kasutaja on lukus.
  2. Skript tuleb käivitada root õigustes, kui õigused puuduvad, väljutakse skriptist
  3. Skript tuleb käivitada kujul: python is_locked.py kasutajanimi. Kui ei käivitata, teatakse kasutajale, kuidas tuleb skript käivitada.
  4. Kui kasutaja on lukus, siis öeldakse, et kasutaja on lukus.
  5. Kui kasutaja ei ole lukus, sis öeldakse, et kasutaja ei ole lukus.
  6. Kui kasutajat ei eksisteeri, siis öeldakse, et kasutajat ei ole olemas

Lahendus

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Autor:Andres Mill A22 amill@itcollege.ee
#Versioon:0.1
#Viimane muutmise kuupäev:23.05.2011
#Skript kontrollib, kas kasutaja on lukus.
 
#Impordime sys ja os moodulid
#sys moodulit kasutame k2surea parameetrite lugemiseks.
#os moodulit kasutame õiguste kontrolliks.
import sys
import os
 
#Kontrollime, kas skript on käivitatud õigel kujul
#Kui on, defineerime muutuja kasutaja, mis sisaldab otsitavat kasutajanime.
#Kui ei ole, teatame kasutajale, mis kujul skript tuleb käivitada ja väljume skritist
if len(sys.argv) == 2:
    kasutaja = (sys.argv[1])
else:
    print "Käivita skript kujul: python %s kasutajanimi"%(sys.argv[0])
    exit(0)
 
#Kontrollime, kas skript on käivitatud root õigustes.
#Kui ei ole, teatame kasutajale, et käivita skript  uuesti vastavates õigustes.
if os.getuid() != 0:
    print "Käivita skript root õigustes!" 
    exit(0)
 
#Avame /etc/shadow faili, kus saame kontrollida, kas kasutaja on lukus.
fh=open("/etc/shadow")
 
#Abimuutuja, millega saame kontrollida, kas kasutaja on olemas.
i=0;
 
#Käime foriga kõik read läbi.
#Kui kasutaja on reas olemas, kontrollime, kas kasutaja on lukus.
#Kui reas on symbolid :!, siis on kasutaja lukus.
 
for line in fh.readlines():
    if kasutaja in line :
	i=i+1
	if ":!" in line :
	    print "Kasutaja %s on lukus"%(kasutaja)
	else :
	    print "Kasutaja %s pole lukus"%(kasutaja)
 
#Kui i väärtus on 0, siis kasutajat pole olemas.
#Kui i väärtus on 1, siis kasutaja on oleas.
if (i==0):
    print "Kasutajat %s ei ole olemas."%(kasutaja)
 
#Sulgeme faili.    
fh.close()

Bash

Ülesanne

Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.
Tagastab 0, kui kuulub ja 1 kui ei kuulu.
user_in_group.sh <kasutaja> <grupp>

Lahendus

#!/bin/bash
#Author: Andres Mill
#Rühm: A22
#Version: 0.1
#Viimane muutmise kuupäev: 11.05.2011
#Skript kontrollib, kas kasutaja kuulub etteantud gruppi või mitte.
 
 
#Kontrollime mitme parameetriga programm on käivitatud,
#kui parameetrite arv ei ole kaks,siis väljutakse programmist
#ja andakse teada, et käivita skript uuesti sellisel kujul.
 
if [ $# -ne 2 ]; then
echo "Käivita skript uuesti kahe parameetiga kujul $(basename $0) kasutaja grupp"
exit 1
fi
 
#Vaatame, mis grupidesse kasutaja kuulub.
#Vaatame, kas kasutaja kuulub gruppi
#Kui grepimise tulemusel ridade arv ei ole null, antakse teada,et kasutaja kuulub gruppi.
#Kui grepimisega leitud ridade arv on null teatatakse, et kasutaja ei kuulu gruppi.
 
if [ $( groups $1|grep $2 -c) != 0 ]; then
exit 0

else
exit 1
fi