115
Operációs Rendszerek Önállóan feldolgozandó részek, amelyekből dolgozat írása fog történni a harmadik héten

Operációs Rendszerek

Embed Size (px)

DESCRIPTION

Operációs Rendszerek. Önállóan feldolgozandó részek, amelyekből dolgozat írása fog történni a harmadik héten. Felhasználók, csoportok típusai. Rendszergazda által létrehozott felhasználók, csoportok Beépített felhasználók, csoportok - PowerPoint PPT Presentation

Citation preview

Page 1: Operációs  Rendszerek

Operációs Rendszerek

Önállóan feldolgozandó részek, amelyekből dolgozat írása fog történni a harmadik héten

Page 2: Operációs  Rendszerek

Felhasználók, csoportok típusai

Rendszergazda által létrehozott felhasználók, csoportok

Beépített felhasználók, csoportok◦Pl.: Rendszergazda, Vendég, stb.

Rendszergazdák, Vendégek, stb.Speciális csoportok◦Az OS által automatikusan karbantartott tagság:

Pl. interaktív – az éppen bejelentkezett felhasználók

Page 3: Operációs  Rendszerek

Felhasználókezelés• Számítógép-kezelés Rendszereszközök• Helyi felhasználók és fiókok mappa

Page 4: Operációs  Rendszerek

Felhasználók adatai

Általános◦ Teljes név, Leírás◦ A köv. bejelent. meg kell változtatni a jelszót◦ A jelszót nem lehet megváltoztatni◦ A jelszó soha nem jár le◦ A fiók le van tiltva◦ A fiók zárolt

Tagság

Melyik beállítás/állapot mire jó?Mi az hogy zárolt? Zárolt != Tiltott

Page 5: Operációs  Rendszerek

Jótanácsok

• A rendszergazda fiókot telepítés után azonnal nevezzük át! (brute-force attack)

• Ne rendszergazdai jogosultságokkal használjuk a gépet! (vírusok, worm-ok, trójaik, stb.)

Page 6: Operációs  Rendszerek

1. Feladat

• Hozzon létre egy ‘probacsoport’ nevű csoportot!

• Hozzon létre egy ‘proba’ nevű felhasználót, jelszava ‘proba’ legyen!

• Állítsa be, hogy a ‘proba’ felhasználó a ‘Felhasználók’ és a ‘probacsoport’ csoport tagja legyen!

• Jelentkezzen be a ‘proba’ felhasználó nevében!

Page 7: Operációs  Rendszerek

NTFS jellemzői

• Jogosultságkezelés• Naplózás• Kvótakezelés• Titkosítás• Öröklődés

Page 8: Operációs  Rendszerek

NTFS jogosultságok – 1

• Egyszerű fájlmegosztás kikapcsolása

• A könyvtáron jobb gomb

• Biztonság fül

Page 9: Operációs  Rendszerek

NTFS jogosultságok – 3

• Felhasználónak, vagy csoportnak adok jogot? Miért?

• Engedélyezés Megtagadás• Melyik az erősebb?

• Tulajdonos jogai

Page 10: Operációs  Rendszerek

2. Feladat

• Hozzon létre a c:\hallgato könyvtár alatt egy saját könyvtárat, másoljon ide néhány fájlt!

• Szakítsa meg a jogok öröklődését!• Állítsa úgy be a könyvtár jogait, hogy ahhoz csak a

‘probacsoport’ tagjai férjenek hozzá!• Próbáljon belépni a mappába! Sikerült?• Jelentkezzen be a ‘proba’ név alatt! Így sikerül elérni a

mappát?

Page 11: Operációs  Rendszerek

Könyvtárak megosztása

• A mappán jobb gomb Megosztás

• Megosztási név• Felhasználók

számának korlátozása (!)

• Engedélyek

Page 12: Operációs  Rendszerek

Könyvtárak megosztása

• Helyi bejelentkezésnél érvényes jog• Megosztás jog

Page 13: Operációs  Rendszerek

Operációs Rendszerek I.

Ismerkedés a parancssorralFájlkezelés parancssorból

Egyszerű parancsfájlok

Page 14: Operációs  Rendszerek

A parancssor (cmd)

• Jellemzői– Majd minden OR alatt van valami hasonló– Használata esetenként gyorsabb, mint a GUI alapú

megoldásoké– Lehet scriptet írni– Kevesebb erőforrás igény (mint GUI esetén)– Van history (előzmények)

• könnyebb parancsot ismételni• log is egyben

– Parancsok és kapcsolók pontos szintaxisát ismerni kell (de…)

Page 15: Operációs  Rendszerek

A parancssor

• indítása: futtatás cmd• shift + jobb klikk könyvtáron:

– "Open Command Window Here"

• Indulási könyvtár: indítás helye / HOMEPATH• kilépés: exit• navigáció

– Parancssorban mozgás: kurzor, HOME és END– ↑ és ↓ history– F7 parancs history „ablakban”– fájlnév kiegészítés: TAB– Teljes képernyő: bal ALT+ENTER

Page 16: Operációs  Rendszerek

Ablak megjelenése

Indítási paraméterek◦/c : egyetlen (megadott) parancs végrehajtása◦/t:fg : színek beállítása (pl. 16)◦/e:on : parancskiterjesztés engedélyezése◦Stb. (lásd cmd /? és HELP)

Címsoron jobb klikk tulajdonságok◦Működési környezet beállítása

Tippek: HELP „To configure the command prompt”title parancs: ablak címének megadása

Page 17: Operációs  Rendszerek

Parancsok típusai

• belső:– cmd.exe tudja pl.:

• dir• copy

• külső parancsok másik exe-t futtat le:– pl.: sort.exe c:\Window\System32\sort.exe

• Vagy nem, ez telepítéstől függ!

Page 18: Operációs  Rendszerek

Parancsok felépítése• Parancsnév [kapcsolók] [paraméterek]

– pl: copy /y fajl1 fajl2 • Parancsok működése kapcsolókkal (/kapcsolo)

módosítható• Kapcsolók egyidejű használata parancsfüggő (HELP),

lehetnek egymást kizáró kapcsolók is• Általában mindig van: /?• Ha a program mindenképpen vár paramétert, de nem

adjuk meg hibajelzés• Egyszerre akár több paraméter is átadható (vagy

éppen átadandó)

Page 19: Operációs  Rendszerek

Segítség• Források

• Konvencionális kapcsoló: /?• help „parancsnév”• Start menü – Segítség és támogatás

• Referencia: „Command-line reference A-Z”, „Command shell overview”

• JelölésekCOPY [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}]

[+ Source [{/a|/b}] [+ ...]] [Destination [{/a|/b}]]• COPY: a parancs• Source, Destination: paraméterek• /d, /v, stb. : kapcsolók• [/d] [destination] : opcionális elem• {/a|/b} : egymást kizáró (együtt nem használható) elemek

Page 20: Operációs  Rendszerek

Fontosabb parancsok

echo: üzenet írása a képenyőreecho Hello vilag > uzenet.txt : fájl készítés

dir: könyvtár tartalmának listázásacd: munkakönyvtár lekérése / beállításacopy: fájlok másolásamove / rename: fájlok mozgatása, átnevezésemkdir, rmdir: könyvtár létrehozás, törlésedit: minimal editordel: fájlok törlése

Page 21: Operációs  Rendszerek

Gyakorlás• Alapok

– Indítsa el a parancsértelmezőt (cmd)– Állítson be kék háttért és sárga betűket– Az ablak címét állítsa át: „parancsaim”-ra

• On-Line help– Hogyan lehet a „dir” parancsot úgy futtatni, hogy az csak a fájlok neveit írja ki?

(/B)– Melyik paranccsal lehet a c: meghajtó könyvtárstruktúráját (fát) kiíratni?

• Alapvető parancsok (minden lépés után ellenőrizze az eredményt)– Hozzon létre egy „munkáim” könyvtárat– Ebben hozzon létre egy „valami.txt” fájl– Készítsen másolatot „fontos.txt” néven– A „valami.txt” fájl nevezze át „nemfontos.txt” névre– Törölje le a létrehozott fájlokat és a könyvtárat

Page 22: Operációs  Rendszerek

Fájlok és könyvtárak

• Diszk és könyvtárstruktúra (részletek később)– Diszkeket betűjelükkel azonosítjuk (pl. c:)– Diszkeken fa struktúrájú könyvtár-rendszer– Az egyes könyvtárak közötti elválasztójel: ‘\’

• Kitűntetett helyek (könyvtár struktúrában)– Gyökér (kiinduló) könyvtár, jele: \– Munkakönyvtár (aktuális könyvtár)– Felhasználó „HOME” könyvtára (HOMEPATH környezeti változó)

• Fájl elérési utak megadása– abszolút elérés: gyökérkönyvtártól, a fát végigjárva adjuk meg– Relatív megadás: a munkakönyvtárhoz képest (relatív) adjuk meg

• Hivatkozás az aktuális könyvtárra: ‘.’• Hivatkozás a szülő könyvtárra: ‘..’

• Elérési út megadása parancsoknál– Abszolút vagy relatív– Elérés keresési út (PATH környezeti változó) segítségével– Ha nincs kiterjesztés: behelyettesít (exe, com, cmd, bat, stb.)

Page 23: Operációs  Rendszerek

Környezeti változókKülönféle azonosítók tárolására alkalmas

◦ pl. SystemRoot, windir, UserName, PATHSajátgép/Tulajdonságok/Speciális/Környezeti változókKétféle környezeti változó

◦ Felhasználó változói◦ Rendszerváltozók

Használatuk parancssorban Lekérdezés: set◦ Megadás

set PATH=c:\mydirset PATH=%PATH%;c:\mydirset ALMA=%PATH%;c:\mydir

◦ Hivatkozás a változóra: %név%echo %ALMA%

set parancs csak az aktuális cmd ablakban él.setx : mindenhol elérhető változót hozhatunk létre vele

Page 24: Operációs  Rendszerek

Gyakorlás• PATH

– Készítsen másolatot a „notepad.exe” fájlról (c:\windows\system32) a saját könyvtárába „notesz.exe” néven

– Az elérési út megváltozatásával biztosítsa, hogy a „notesz.exe” bárhonnan elindítható legyen

• Egyéb változók– Hozzon létre egy munkakönyvtárat, majd egy „enkonyvtaram”

változót, amely értékként a könyvtár elérési útját tartalmazza!– Az „enkonyvtaram” változó használatával másolja át a Windows

system32 könyvtárában található összes „com” típusú fájlt a létrehozott könyvtárba!

– Törölje le az „enkonyvtaram” tartalmát és magát a könyvtárat is!

Page 25: Operációs  Rendszerek

Állománynevek• Hossza legfeljebb 255 karakter lehet• Tartalmazhat szóközt és pontokat (többet)• Tartalmazhat ékezetes betűket• Tiltott karakterek: ? * \ / : < > | • Fájltípusok: kiterjesztés alapján dől el• Kiterjesztés az utolsó pont mögött álló rész (lehet több, mint 3

karakter)– a „beépített” típusok (exe, cmd, stb.) mellett az alkalmazások is

regisztrálhatnak saját típusokat (asszociáció)• Kis és nagybetűt megőrzi, de fájlok kezelésekor nem veszi

figyelembe• Hosszú nevekhez rövid (8.3) változatú név létrehozása

automatikusan megtörténik• További tudományok:

http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

Page 26: Operációs  Rendszerek

• A .txt fájlnévkiterjesztéshez tartozó fájltípustársítás törléséhez a következőt kell beírnia:FTYPE rtffile="C:\Program Files\Windows NT\Accessories\WORDPAD.EXE" "%1"

ASSOC .rtf=rtffile

Page 27: Operációs  Rendszerek

„Gondok” az állománynevekkelSzóközök a névben: honnan „tudja” a parancs?

Forrás: elso masodik Cél: harmadikcopy elso masodik harmadik (3 paraméter)Megoldás: idézőjelek használata

Kis és nagybetűk• „Idegen” rendszereknél (pl. Unix) gondokat okozhat

Nemzeti karakterek a nevekben• A nevek az adott XP példány alapértelmezett kódlapját

használva konvertálódnak Unicode-ról, ez pedig már a magyar ékezeteknél is gond lehet (pl. angol az alapértelmezett kódlap) – „Control Panel/Regional and Language/Advanced”

Page 28: Operációs  Rendszerek

Elnevezési tippek

• ekezet nelkul (ha lehet)• space nélkül, helyette alulvonás (_)• kis-nagybetűk egységesen • név önmagáért beszéljen

– később is tudnunk kell mi az adott fájl– ne legyen nagyon hosszú

Page 29: Operációs  Rendszerek

Gyakorlás• Nevükben szóközt tartalmazó fájlok

– Létrehoz: „alma”, „korte” és „alma korte”– Töröl alma korte (idézőjel nélkül)– Nézd meg mit csináltál…– Töröl alma korte (most már rendesen)

• Kis és nagybetű– Létrehoz: alma– Másol: alma → Korte– Másol: alma → KORTE– Másol: alma → kORTE– Hány körte van? Pontosan mi a neve?

Page 30: Operációs  Rendszerek

Fájl és könyvtárkezelés

Könyvtárak tartalmának listázása: dirAktuális (munka) könyvtár nevének lekérése: cdAktuális (munka) könyvtár megváltoztatása: cdKönyvtárváltás „visszaúttal”: pushd/popdTovábbi parancsok◦ Könyvtár létrehozása: mkdir◦ Könyvtár törlése: rmdir

Alapértelmezés: csak üres könyvtárat enged törölni! /S kapcsoló: rekurzív törlés, akkor is megy, ha nem üres a könyvtár /Q kapcsoló: /S esetén elnyomja a megerősítés kérést

◦ Átnevezés

Page 31: Operációs  Rendszerek

Navigáció a könyvtárszerkezetben

• cd - aktuális könyvtár lekérése• cd c:\ - c:\ könyvtár felkeresése• cd \ - aktuális meghajtó gyökér könyvtára• cd .. - szülő könyvtár (egy szintet fel)• c:\> cd d:\ - nem vált lemezt!

cd d:\ & d:c:\> cd /D d:\ - így már vált lemezt

• pushd . - aktuális könyvtár berakása a verembe• popd - előző könyvtár előhúzása• pushd c:\ - váltás a c lemez gyökerébe, közben elraktározva az

aktuális könyvtárat - popd-re vissza

Page 32: Operációs  Rendszerek

Alapvető fájlműveletek• Másolás: copy

– copy <srcfile> <dstfile>– Összefűzés: copy <srcfile> <+srcfile> … <dstfile>

• Mozgatás: move (átnevezésre is használható)– move <srcfile> <dstfile>

• Átnevezés: rename/ren– rename <src> <dst>, de dst esetében csak egy fájlnév állhat, elérési út

nem (semmilyen módon)!• rename c:\tmp\alma.txt korte.txt • rename c:\tmp\alma.txt c:\temp\korte.txt

• Törlés: del/erase– del <file>– Rekurzív törlés (alkönyvtárakban is): del /s <file>

Page 33: Operációs  Rendszerek

Fájlműveletek (folytatás)• Speciális „fájlok” – Unix örökség az eszközök

eléréséhez (con, nul, COM1 stb.)– copy con c:\tmp\alma.txt (CTRL-Z!)– copy c:\tmp\alma.txt con– copy c:\tmp\alma.txt nul

• xcopy– Rekurzív másolás (üres könyvtárak is): xcopy

a: b: /s /e – Adott dátum után módosult fájlok másolása: xcopy \

rawdata \reports /d:12-29-1993 – Ugyanez, dátum-korlát nélkül („egyszerű” copy): xcopy \

rawdata \reports /u

Page 34: Operációs  Rendszerek

Gyakorlás• pushd/popd

– Milyen egyéb módon lehet biztosítani a pushd/popd szolgáltatását (legalább egy mélységig)?

• Copy– 3 szöveges fájl létrehozása (pár soros)– Fájlok összefűzése egy fájllá

• Copy con– Fájl létrehozása „copy con” módon– Fájl kiíratása „copy con” módon

• xcopy– Készítse el a c:\konyvtar mappában a felhasználó saját

könyvtárának könyvtárstruktúráját (fájlok nélkül, csak az üres könyvtárak)

Page 35: Operációs  Rendszerek

Helyettesítő karekterek

• Probléma: valamilyen műveletet (pl. másolás, törlés) egyszerre több fájlon szeretnénk végrehajtani

• Megoldás: ha a fájlok nevük alapján megkülönböztethetők, akkor a helyettesítő karakterek használata

• Helyettesítő karakterek:– : tetszőleges számú karakter– : egyetlen karakter

• Használatuk (pl): copy ab*cd?.e* d:

Page 36: Operációs  Rendszerek

Szöveges fájlok• Fájl létrehozása

– Notepad, edit (karakteres)– copy con <fn>

• Fájl tartalmának megjelenítése– type <fn>– more <fn>– copy <fn> con

Page 37: Operációs  Rendszerek

Parancsok egymásutánisága

• Többféle lehetőség• &: mindig végrehajtásra kerül

– cmd1 & cmd2 • &&: csak akkor kerül végrehajtásra, ha a

művelet sikeres– cmd1 && cmd2

• ||: csak akkor kerül végrehajtásra ha a művelet sikertelen– cmd1 || cmd 2

Page 38: Operációs  Rendszerek

Parancsok egymásutánisága

Parancsok csoportosítása

(parancs1 & parancs2) || (parancs3)

(dir & echo hello & mkdir hello)

Page 39: Operációs  Rendszerek

Gyakorlás

• Primitív „move” parancs összefűzéssel– Először másol, ha sikeres volt, akkor töröl

• Előfeltétel ellenőrzés– Csak akkor próbálja kiírni egy fájl tartalmát (pl.

more), ha az létezik• Hibakezelés

– Ha a másolás parancs nem fut le, akkor írjon ki egy üzenetet (pl. „hát ez nem jött össze”)

Page 40: Operációs  Rendszerek

ÁtirányításSzabványos be- és kimeneti, hibacsatornákA „jól nevelt” segédprogramok ezeket a csatornákat

használják (nem közvetlen képernyő, billentyű elérést)A parancsértelmező képes a szabványos csatornák

„eltérítésére” a program tudta nélkül!◦ kimeneti csatorna átirányítása fájlba

dir > alma.txt vagy dir >> alma.txt (utóbbi hozzáfűz)◦ bemeneti csatorna fájlból

sort < alma.txt◦ Hibacsatorna átirányítása

valami.exe 2> alma.txt◦ Csatornába irányítás

valami.exe 2>&1

Page 41: Operációs  Rendszerek

Parancsösszefűzés, átirányítás

Összetett feladatok esetén az eredményt több parancs egymás utáni végrehajtása adja– Minden parancs kimenetét fájlba irányítom, a

következő parancs ebből dolgozik• dir > alma & sort < alma

– Vagy: a parancsok ki- és bemenetét közvetlenül összekapcsolom

• dir | sort

Page 42: Operációs  Rendszerek

Egyéb hasznos parancsok

• sort• find• tree• fc

Page 43: Operációs  Rendszerek

GyakorlásFájlmásolás type paranccsal és átirányítássalDöntse el, hogy létezik-e az adott könyvtár, de a

tartalmát ne írja ki /Fájl kimenetének (dir) átirányítása „nul” eszközre/

Kapcsolók használata nélkül tördelje fel képernyőkre a „dir” parancs kimenetét /pipe használata (dir és more kapcsolata)/

Készítsen el a „nevek.txt” fájlt, amelyet töltsön fel a laborban találhatók keresztneveivel. Rendezze ABC sorrendbe a neveket!

Page 44: Operációs  Rendszerek

Gyakorlás

• Parancsok működésének kitalálása On-Line help segítségével (sort, fc, find)

Page 45: Operációs  Rendszerek

Parancsfájlok• Ami volt: parancsok összekapcsolása parancssorból

(parancsok egymás utáni végrehajtása, függőséggel), az STDIO (átirányítás, pipe)

• Parancsfájlok: mi az?• Általános célú parancsfájlok: parancssori

paraméterek• Parancssori paraméteres példa• További lehetőségek röviden: változók, elágazások,

vezérlésátadás és ciklusok• Egyszerű példák

Page 46: Operációs  Rendszerek

Batch fájlok

• Fájl kiterjesztése: bat vagy cmd• Fájl tartalma: különféle parancsok egymásutánja• rem: comment

– pl: rem Ezt a sort ne hajtsd végre– Ki fogja irni, de nem értelmezi

• echo off– Alapból mindent kiír, ezzel a parancs kiírása

megakadályozható globálisan– Parancs elé tett @ ugyanezt teszi (arra a sorra)

• Escape karakter: ^

Page 47: Operációs  Rendszerek

Gyakorlás

• Egyszerű parancsfájl létrehozása és futtatása: parancsok egymásutánja

• Előző órák során kipróbált parancs-kombinációk átírása parancs fájlba

• Echo off hatásának kipróbálása• Megyjegyzések a fájlok elejére (ki készítette,

mi a célja)

Page 48: Operációs  Rendszerek

Változók• Lásd Korábbi: környezeti változók!• létrehozás: set valtozonev=”valami”• törlés: set valtozonev=• A változóknak azonnal értéket kell adni• Ez sem case sensitive• Hatóköre az adott parancsfájl• kisebb hatókör kell, akkor setlocal, endlocal• Aritmetika: /a

– set ertek=4+4 – string-ként értelmezi– set /a ertek=4+4: 8 (azaz összeadta)

Page 49: Operációs  Rendszerek

Bemeneti paraméterek

• %0: fájl neve• %1, %2, … %9: kapcsolók, paraméterek• %* - az átadott összes paraméter• SHIFT parancs (paraméterek eltolása)• SHIFT /3 eltolás a 3. paramétertől kezdődően

– Pl. a.cmd fájl, benne echo-k (echo %0, echo %1, stb.)– a.cmd se ki se be se nyő– : %0: a.cmd– : %1: se – : %2: ki– stb.

Page 50: Operációs  Rendszerek

Bemeneti paraméterek (mély)

• Paraméter Leírás• %1 1. bejövő paraméter.• %~1 1. bejövő paraméter, " nélkül• %~f1 A bejövő paramétert kiegészíti teljes

útvonallá• %~d1 Beadott paraméterből a meghajtó %1.• %~p1 Beadott paraméter elérési útja %1.• %~n1 Beadott paraméter fájlnév része.• %~x1 Beadott paraméter kiterjesztése %1.• %~s1 Kiegészítés a rövid fájlnév és kiterjesztés

használatához (%~sx1 és %~sn1)

Page 51: Operációs  Rendszerek

Bemeneti paraméterek*• @echo off• echo fully qualified name %~f1• echo drive %~d1• echo path %~p1• echo filename %~n1• echo file extension %~x1• echo short filename %~sn1• echo short file extension %~sx1• echo drive and directory %~dp1• echo filename and extension %~nx1

• c:\TEMP\>fuss.bat longfilename.long– fully qualified name c:\TEMP\longfilename.long– drive c:– path \TEMP\– filename longfilename– file extension .long– short filename LONGFI~1– short file extension .LON– drive and directory c:\TEMP\– filename and extension longfilename.long

*: http://www.sharepointproconnections.com/article/server-management/how-do-i-pass-parameters-to-a-batch-file-.aspx

Page 52: Operációs  Rendszerek

Gyakorlás

• Előzőekben elkészített fájlok (pl. move megoldása copy és delete segítségével) kiegészítése– Paramétereket parancssorból vegye– Ha a forrásfájl nem létezik, akkor írjon ki

valamilyen üzenetet (előzetes tesztelés)• Egyszerű összeadó gép készítése

– Adja össze a paraméterként megadott két számot!

Page 53: Operációs  Rendszerek

IF – feltételes elágazásokIF: feltételtől függő működés megvalósítása• IF [NOT] condition (statement1) [else (statement2)]• if "%1"=="a" (echo A) else (echo is not A)

– Amennyiben az első beadott paraméter (%1) értéke a, akkor az echo A ág fut le, különben a másik

Page 54: Operációs  Rendszerek

Elágazások folytatás• Összehasonlítások IF-ben - stringek

– if "stringA"=="stringB"– if "%varA%"=="stringA"– if "%varA%"=="%varB%"

• Idézőjel használata hasznos– /i kapcsoló használatával nem tesz különbséget a kis- és nagybetűk

között– Számok összehasonlítása

• EQU equal • NEQ not equal • LSS less than • LEQ less than or equal • GTR greater than • GEQ greater than or equal

– if „%varA%” lss ”%varB%”: igaz, ha varA kisebb, mint varB• Bizonyos esetben működik a varA<varB, de nem mindig!

Page 55: Operációs  Rendszerek

IF – további formákIF: speciális formulák• IF [NOT] condition (statement1) [else (statement2)]

Alapértelmezett használat• if [not] errorlevel number command [else expression]

Előző parancs visszatérési értéke (ha 0, akkor IGAZ)• if [not] exist FileName command [else expression]

Ha létezik a fájl, akkor IGAZ• if defined variable command [else expression]

Ha a változó definiált, akkor IGAZ• További speciális ifek: if /?

Page 56: Operációs  Rendszerek

Elágazások folytatás• IF „%ComputerName%”==”kalapacs” (echo „De fura nev”)

else (echo „Nem is olyan fura nev”)– „”-re vigyázni, nélküle nem megy!– IF NOT: mint az IF, csak negálva

• IF [NOT] DEFINIED– true, ha a megadott változó létezik:

if not definied %temp% (set temp=”C:\temp”)– DE: %1, %2, stb. mindig definiálva van!

• IF [NOT] EXIST: fájl létezését vizsgálja• IF [NOT] ERRORLEVEL: elágazás parancs végrehajtási státusza

(exit code) alapján– DIR q:\ & IF ERRORLEVEL 1 (echo HIBA)– Igaz, ha az exit code >= mint az érték

Page 57: Operációs  Rendszerek

Bemeneti paraméter vizsgálata(mély)

• if %1==a (echo ez bizony a)– c:\>vizsgal.bat a - működik– c:\>vizsgal.bat "a" - nem jó - a != "a"

• if "%~1"=="a"– %~1 : a paraméter körüli " eltávolítása– Ilyenkor akkor is működik, ha a paraméter a és

akkor is, ha "a"

Page 58: Operációs  Rendszerek

Elágazások folytatás• IF igaz és hamis ágához csak egy parancsot írhatunk (vagy

láncolni) goto• Például:

if "%1"=="1" goto almaif "%1"=="2" goto kortegoto exit:alma

echo „ez itt az 1-ag”goto exit:korte

echo „ez itt a 2-ag”goto exit:exit

Page 59: Operációs  Rendszerek

Gyakorlás• Az első paraméterként kapott értéket vizsgáljuk meg.

Amennyiben 12 a szám, írjuk ki, hogy "Tizenkettő", amennyiben nem, akkor írjuk ki, hogy "A beírt érték nem tizenkettő!"

• Move példa hibakezelés része átalakítása „if” szerkezetre• Készítsen scriptet, amely az első paraméterként kapott fájlt

ellenőrzi, hogy létezik-e. Amennyiben igen, akkor írassa ki, amennyiben nem, hozzon létre egy új fájlt a könyvtár fastruktúrájának tartalmával

• Négy alapműveletes számológép, RPN megadással (parancssori paraméterekkel)

Page 60: Operációs  Rendszerek

Iteráció

• for [módszer] (változónév) in (fájllista) do (parancs) • Módszer lehet:

– /D: Könyvtárak iterálása– /R: alkönyvtárakkal együtt– /L: értéksorozat végigjárása– /F: fájlon belül soronkénti iterálás– Kapcsoló nélkül: Fájlok iterálása

• Példák– for %%B in (*.*) do echo %%B– for /d %%B in (*.*) do echo %%B– for /l %%B in (0,1,10) do @echo %%B– for /f %%B in (akarmi.txt) do echo %%B

• Parancssorban csak %B a változó

Page 61: Operációs  Rendszerek

Iteráció

• for /d %%B in (%SystemRoot% %SystemRoot%\*) do echo %%B

• for /d %%B in (%APPDATA% %APPDATA%\*) do(@for %%C in (”%%B\*.txt”) do echo %%C)

Page 62: Operációs  Rendszerek

Gyakorlás• 1. Készítsen egy olyan scriptet, amely elszámol az

első paraméterként megadott értéktől a másodikig. Módosítsa úgy a scriptet, hogy akkor is fusson le, ha az első paraméter nagyobb, mint a második!

• 2. Hozzon létre egy fájlt, melynek tartalma a következő legyen:– Valami_1– Valami_2– Valami_3

• Hozzon létre script segítségével könyvtárakat a fájlban szereplő nevekkel!

Page 63: Operációs  Rendszerek

Bevezetés

• Windows XP többfelhasználós operációs rendszer – és nagyjából a többi Windows is

• A felhasználók csoportokba szervezhetők• Egy felhasználó több csoportnak is a tagja

lehet

Page 64: Operációs  Rendszerek

Többfelhasználós rendszer

• Kijelentkezés, bejelentkezés• Felhasználóváltás (windows+L)

– Tartományos környezetben nem

• Futtatás mint– jobb klikk– runas parancs

• bármilyen futtatható állományra• Tipp: TC futtatás mint rendszergazda

Page 65: Operációs  Rendszerek

Mi a felhasználó?

• Név– Minden felhasználónak van egy neve, ami alapján

a humán operátor azonosítja• SID

– Minden felhasználónak van egy SID-je (Security ID), ez alapján azonosítja a rendszer

Page 66: Operációs  Rendszerek

Felhasználó hozzáadása (1)

• Egyszerű felület:– Vezérlőpult /

Felhasználókezelés– control userpasswords

• Szinte semmi nem állítható be

• 1-2 felhasználó esetén jó csak

Page 67: Operációs  Rendszerek

Felhasználókezelés (2)

• Domainben alap• control

userpasswords2• Egyszerűsített

csoportkezelés• Kevesebb beállítási

lehetőség

Page 68: Operációs  Rendszerek

Felhasználókezelés (3)

• userpass..2-n Speciális lap

• mmc lusrmgr.msc• Szabadon beállíható

minden• „Ipari” kivitel• Ezt nézzük át

Page 69: Operációs  Rendszerek

Felhasználókezelés (4)

Parancssorból is felvehető user:◦net user parancs◦pl: net user wg /add

user létrehozása

net localgroup admins /addcsoport létrehozása

net localgroup admins WG /adduser csoporthoz hozzáadása

Page 70: Operációs  Rendszerek

Helyi felhasználók és csop.

• Végrehajtható feladatok (user):– Hozzáadás– Lista exportálása– Átnevezés: nem név alapján azonosít a windows,

ezért lehet– Törlés: nem javasolt (letiltás inkább)– Új jelszó megadás: rendszergazda új jelszót oszt,

érdemes megváltoztatni

Page 71: Operációs  Rendszerek

Felhaszn. Beallítások

• Felhasználó nevén jk, Tulajdonságok• General: név, leírás, jelszó, letiltás• Member Of: Csoporttagságok• Profile:

– profile path: saját könyvtár (doc&sett)– logon script: belépéskor futtatás– home folder: kezdőkönyvtár megadás

Page 72: Operációs  Rendszerek

Beépített felhasználók

• Guest: vendég (legyen letiltva)• Rendszergazda: célszerű átnevezni• System: Maga a számítógép

Page 73: Operációs  Rendszerek

Beépített csoportok (1)

• Felhasználók– Igen kevés jog

• Kiemelt felhasználók– Több jog, de pl. rendszergazda felhasználót nem

hozhat létre• Rendszergazdák

– Mindenre kiterjedő jogosultságok• Vendégek

Page 74: Operációs  Rendszerek

Beépített csoportok-Spec.

• Everyone– Minden felhasználó tagja

• Authenticated Users– „Rendes” felhasználók - system és guest nem

tagja. Célszerű ezt használni.• Creator Owner

– Egy erőforrás létrehozója vagy tulajdonosa

Page 75: Operációs  Rendszerek

Általános jótanácsok

• Felhasználókat rendezzük csoportba• Felhasználót ne töröljük, zároljuk

Page 76: Operációs  Rendszerek

Login módok beállítása

• Change the way the users sign in– Ha ki van kapcsolva, akkor alt+ctrl+delete

megnyomása után lehet bejelentkezni (védelem)– User accountnál állítható– Group policy editorban is beállítható– Registryből állítható

• HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LogonType

Page 77: Operációs  Rendszerek

Adminisztrátor felhasználó

• Telepítés után az admin felhasználó látszólag elérhetetlen– Klasszikus bejelentkező képernyőnél írjuk be az

administrator (rendszergazda) nevet– XP-s bejelentkezésnél Alt+ctrl+del kétszer

Page 78: Operációs  Rendszerek

Felhasználók megjelenítése a welcome screenen

• HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

• Ezen bejegyzéshez kell adni egy DWORD típust, aminek a neve legyen a felhasználó neve, az érték pedig 0, ekkor letilthatunk bizonyos felhasználókat a welcome screenből.

• Tiltsa le az Administratort az üdvözlőképernyőből!

Page 79: Operációs  Rendszerek

Belépési házirendek

• Személyre szabható a belépési mód– Biztonsági házirendben állítható– run: (mmc) gpedit.msc (csak professional)

Page 80: Operációs  Rendszerek

Belépési házirendek

Page 81: Operációs  Rendszerek

Account policy

• gpedit.msc –ben– Futtatás: mmc, windows\system32\gpedit.msc

• Enforce password history• Maximum password age• Minimum age• Minimum length• Complexity

Page 82: Operációs  Rendszerek

Megosztott gépek biztonsága

• Biztonságosabbá tehető a számítógép, ha– Felhasználóknak legyen saját accountja– nem használt account eltávolítandó– Administratort átnevezni– Ne írja ki az utolsó nevet

Page 83: Operációs  Rendszerek

Megosztott gépek biztonsága

Page 84: Operációs  Rendszerek

Feladatok - 1

Hozzon létre két csoportot: hallgatok, oktatok

Hozzon létre 5 felhasználót: user1 - user5user1 és user2 csak a hallgatok csoportjába tartozzon.

user3 és user4 csak az oktatok csoportjába tartozzon.

User5 legyen tagja mind a hallgatok, mind az oktatók csoportjának.

Parancssoros és GUIs megoldást vegyítse

Page 85: Operációs  Rendszerek

Feladatok - 2

Állítsa be úgy a rendszert, hogy a user 1 és user 2 ne kapcsolhassa ki a számítógépet

a jelszavaknak minimum 5 karakteresnek kelljen lennie

minden bejelentkezést naplózzon

tiltsa le a hangrögzítő alkalmazást (felügyeleti sablonok)

Page 86: Operációs  Rendszerek

PowerShell

• Automatizmust elősegítő parancsok gyűjteménye

• Parancssorhoz hasonló, de annál hatékonyabb• Alkalmazások, Windows komponensek

vezérlése parancssorból, kívülről• Minden objektum

Page 87: Operációs  Rendszerek

Powershell verziók

• PowerShell v1.0: 2006– 129 parancs– Windows 2008 kiegészítés– Letölthető Windows 2003 és XP verzió

• PowerShell v2.0: 2009– Windows 7 és 2008 R2 alapból tartalmazza– Letölthető Windows 2003 és XP verzió

• http://support.microsoft.com/kb/968930

• PowerShell v3.0: 2012

Page 88: Operációs  Rendszerek

Használata

• Start / kellékek / WinPowerShell• Parancssorral kompatibilis - látszólag

– Ez is átszinezhető– cd, dir, mkdir, copy - minden parancs elérhető - de

csak hasonló parancs!• mkdir proba• echo "hello" > proba\mintafajl.txt• del proba - könyvtár törlésére is - suspend új

• Nem case sensitive - mkdir == MKdir– get-command == gET-COMMand

Page 89: Operációs  Rendszerek

Miért más, mint mások?

• Objektumokon dolgozik, szöveg helyett– A parancsok eredménye egymás után fűzhető programozás

nélkül– Hagyományosan (pl: linux - bash)

• kill `ps ax | grep java | cut -f1`– A ps ax lekérdezi a futó folyamatokat. A grep kikeresi a java nevűt, a cut

feldarabolja a kimenetet tabonként, ahol az első érték a process ID, ami kell a kilövéshez.

– A ` `-en belüli rész fut le először, visszaad egy azonosító számot, és lefut a kill <PID> parancs (ahol PID helyére bekerül a java folyamat azonosítója)

– Powershellben ugyanez• get-process java | stop-process• ps java | kill

Page 90: Operációs  Rendszerek

ps kimenete (linux)• PID TTY STAT TIME COMMAND• 1 ? Ss 0:00 /sbin/init• 1611 ? Ss 0:00 /usr/sbin/sshd• 1930 ? S 0:10 metacity• 1932 ? S 0:26 gnome-power-manager• 1933 ? S 2:21 /usr/libexec/gdm-simple-greeter• 17867 ? SN 0:00 /usr/bin/python /usr/bin/denyhosts.py --daemon

--config=/etc/denyhosts.conf• 18093 ? Ss 0:00 sshd: winger [priv]• 18096 ? S 0:00 sshd: winger@pts/0• 18097 pts/0 Ss 0:00 -bash• 18143 pts/0 S+ 0:00 /usr/bin/mc -P /tmp/mc-winger/mc.pwd.18097• 18145 pts/1 Ss 0:00 bash -rcfile .bashrc• 18171 pts/1 R+ 0:00 java• 24960 ? Ss 0:13 /usr/sbin/httpd

Page 91: Operációs  Rendszerek

PowerShell parancs típusok

• cmdlet (command-let)– Powershell parancs

• pl: Get-ChildItem - könyvtár listázása

• alias– cmdlet-ek ismerős nevei

• pl: Get-ChildItem cmdlet-re mutató alias: ls, dir, gci

• natív parancs– "normál" windows parancsok, programok

• pl: notepad, ping, ipconfig

• script– Powershell scriptek

Page 92: Operációs  Rendszerek

cmdlet

• Ige-Főnév formátum (verb-noun ; csináld-mit)

Verb NounAdd ObjectGet QADUserImport VMExport AliasNew ContentRemove QADGroup

Page 93: Operációs  Rendszerek

Forrás: Wikipedia

Page 94: Operációs  Rendszerek

Példa parancsok 1

• Dir C:\windows• Alias Dir• $a = dir C:\windows• $a.count• $a | Select Name• $a | Select Name, Extension• $a | group extension• Get-ChildItem PS:\powershell • $DateToCompare = (Get-date).AddDays(-2)• Get-Childitem PS:\windows–recurse | where-object

{$_.lastwritetime –gt $DateToCompare}

Page 95: Operációs  Rendszerek

Powershell Get-Command Get-Help * Get-Help about_* get-help get-command -detailed get-help get-command -example get-command -commandType function get-command write-* get-command *-object get-command more get-command more.com | get-member get-command more.com | foreach {$_.FileVersionInfo} get-qaduser -logonname JDoe | get-member get-qaduser -logonname JDoe | get-member -MemberType Property get-qaduser -logonname JDoe | select DisplayName, PhoneNumber Get-PSDrive Get-ChildItem HKLM: Get-ChildItem Function: Get-ChildItem cert:

Page 96: Operációs  Rendszerek

• get-command• get-help• get-member• get-psdrive

forrás: http://keithhill.spaces.live.com/Blog/cns!5A8D2641E0963A97!788.entry

Page 97: Operációs  Rendszerek

Objektumok

• Get-Service -name fax• Get-Service | Get-Member• Get-Service | Get-Member

-MemberType Property• Get-Service | Get-Member

-MemberType Method

Page 98: Operációs  Rendszerek

• Start-service -name fax• Get-ChildItem | Get-Member• Get-ChildItem -Path C:\ -Recurse | Where-

Object {$_.LastWriteTime -gt “08/25/2007″}<enter>

Page 99: Operációs  Rendszerek

Kimenet formázása

• Get-Command Format-*• Get-ChildItem C:\Windows | Format-Table• Get-ChildItem C:\Windows | Format-Table -AutoSize• Get-ChildItem C:\Windows | Format-List• Get-ChildItem C:\Windows -Recurse | Format-List -

Property FullName,CreationTime,LastWriteTime• Get-ChildItem C: | Format-Wide -Column 3

Page 100: Operációs  Rendszerek

Kimenet átirányítás

• Get-Process | ConvertTo-html• out-file cmdlet - hasonló a > parancshoz

– Get-Process | ConvertTo-html | out-file “Processes.html”

• Megnyitás:– Invoke-Item Processes.html

• Get-Process | Export-CSV Processes.csv

Page 101: Operációs  Rendszerek

Változók

$ a változók neve előtt• $a = Get-Content c:\file.txt• $users = Get-QADUser –SizeLimit 0• $VMs = Get-VM$_ az aktuális objektumot jelenti

get-process | where-object { $_.WS -gt 1000MB } | stop-process

Page 102: Operációs  Rendszerek

Elágazás• $x = 2 #creates a variable x and assigns 2 as the value• if ($x -eq 5) {Write-Host "Hello my name is Bob"}• elseif ($x -eq 4) {Write-Host "Hello, my name is Sue"}• elseif ($x -eq 2) {Write-Host "Hello, my name is Troy"}• elseif ($x -gt 1) {Write-Host "Hello, my name is Mary"}• else {"I have no idea what my name is?"}

Page 103: Operációs  Rendszerek

Iterációk• do while for

• while until

• foreach

do { Write-Host $i $i++} while ($i -le 5)

while ($i -le 5) { Write-Host $i $i++}

do { Write-Host $i $i++} until ($i -gt 5)

for ($i=1; $i -le 5; $i++){ Write-Host $i}

$ints = @(1, 2, 3, 4, 5)

foreach ($i in $ints){Write-Host $i}

Page 104: Operációs  Rendszerek

foreach

• Nincs feltételvizsgálat, gyűjtemény elemeit járja be - pl: processzorok listázása

$strComputer = “.”

$colItems = get-wmiobject -class “Win32_Processor” -namespace “root\CIMV2″ ` -computername $strComputer

foreach ($objItem in $colItems) {write-host “Caption: ” $objItem.Captionwrite-host “CPU Status: ” $objItem.CpuStatuswrite-host “Current Clock Speed: ” $objItem.CurrentClockSpeedwrite-host “Device ID: ” $objItem.DeviceIDwrite-host “L2 Cache Size: ” $objItem.L2CacheSizewrite-host “Name: ” $objItem.Name}

Page 105: Operációs  Rendszerek

Külső programok is vezérelhetőek

• Microsoft alkalmazások mindegyike fog PS támogatással rendelkezni

• pl: MS SQL szerver kezelése távolról - új adatbázis létrehozása• Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases• $MyDBVar = New-Object

Microsoft.SqlServer.Management.SMO.Database• $MyDBVar.Parent = (Get-Item ..)• $MyDBVar.Name = "NewDB"• $MyDBVar.Create()• $MyDBVar.State

Page 106: Operációs  Rendszerek

Providerek

• A rendszer elemeihez való hozzáférés providereken keresztül történik.

• get-psprovider - elérhető providerek

Page 107: Operációs  Rendszerek

Provider használata

• Provider használatához csatlakozni kell az általa kínált erőforráshoz– Get-PSDrive

Page 108: Operációs  Rendszerek

Csatlakozás providerhez

• Set-Location Alias:– get-childitem

• Set-Location Env:– get-childitem

• Set-Location c:– get-childitem

Page 109: Operációs  Rendszerek

• A Get-ChildItem és társai parancsok nem lemez kezelők, hanem a provideren belül kezelik az elemeket

• pl: – fájl átnevezése

• Rename-Item -Path c:\valami -newname masik

– környezeti változó átnevezése• set-location env:• Rename-Item -Path env:var1 -NewName var2

Page 110: Operációs  Rendszerek

PowerShell scriptek

• Scriptek készíthetőek• .ps1 kiterjesztéssel• Execution policy

– megadja, hogy milyen scriptek futtathatóak• Restricted – scriptek letiltva• RemoteSigned – aláírt távoli, vagy helyi scriptek• AllSigned – aláírt scriptek• Unrestricted – bármi fut

• Get-ExecutionPolicy• Set-ExecutionPolicy <policy name>• #: comment

Page 111: Operációs  Rendszerek

PowerShell script - paraméterek

• Bejövő paraméterek– args tömb

• echo $args• echo $args[0]• echo $args[1]• foreach($arg in $args){

echo $arg}

Page 112: Operációs  Rendszerek

PowerShell script - paraméterek

• Formális paraméterlistát is generálhatunk– első sorba kell, hogy kerüljön

• param([string]$foo = "x", [string]$bar = "y")– [string]: paraméter típusa– $foo: paraméter neve– „x”: default érték– fussal.ps1 alma korte– fussal.ps1 alma– fussal.ps1 alma –foo korte

Page 113: Operációs  Rendszerek

PowerShell mintascript

• param([string]$foo = "x", [string]$bar = "y")• Write-Host "Arg: $foo"• Write-Host "Arg: $bar"• foreach ($svc in Get-Service){• if($svc.displayName.startsWith($args[0]))• {• echo $svc• }• }

Page 114: Operációs  Rendszerek

Feladat

• Készítsünk egy olyan scriptet, ami első paraméterként megadott nevű (azzal kezdődő, azt tartalmazó stb) szolgáltatást megkeres, és ha fut, akkor leállítja.

Page 115: Operációs  Rendszerek

Feladat

• Az előző scriptet bővítsük ki. Két paramétert fogadjon:– -name és –muvelet

• name: a szolgáltatás neve, amit berhelni akarunk• muvelet: lehet indit vagy leallit

– Értelem szerűen működjön (és persze ellenőrizze, hogy az adott feladat értelmes –e) (ha fut, akkor ne indítsa el megint)