Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Linux. JZsCs 20072 Linux kernel JZsCs 20073 4 5.

Hasonló előadás


Az előadások a következő témára: "Linux. JZsCs 20072 Linux kernel JZsCs 20073 4 5."— Előadás másolata:

1 Linux

2 JZsCs Linux kernel

3 JZsCs 20073

4 4

5 5

6 6

7 7

8 8

9 9 Root felhasználó Kell egy olyan szerep, amely mindenhez hozzáfér, mindent beállíthat - rendszergazda Unix-ban ez egy kitüntetett felhasználó, teljhatalommal (root) Nem lehet több rendszergazdai felhasználó, ami nem valós, illetve a feladatok sem oszthatók szét (részleges jogok) Több megoldás (pl. sudo), aktuális: RBAC (de ez még nem igazán terjedt el)

10 JZsCs Indítás, bejelentkezés VirtualPC –Debian (X nélküli) Azonosító: –root / nik119

11 JZsCs Útvonal "." aktuális könyvtár ".." szülő könyvtár "/" gyökér könyvtár

12 JZsCs Standard fa /binrendszerprogramok /usr/binközérdekű felhasználói programok /etca rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwdfelhasználók azonosításához szükséges adatok egy része /tmpideiglenes állományok elhelyezése /devspeciális állományok /homefelhasználói könyvtárak

13 JZsCs /dev/tty*a terminálok nevei, a „* ” helyén bármely karakter állhat a gép kiépítettségétől függően /dev/hd*merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak /dev/fd*hajlékonylemezes egység neve /dev/memállományként elérhető memória neve /dev/nullkülönleges rendeltetésű állomány, ha olvasunk belőle, akkor azonnal az állomány végét érzékeljük, ha pedig írunk bele, akkor korlátlanul elnyel mindent anélkül, hogy bárhol is tárolná

14 JZsCs Memória Szerencsére nincs felosztva, teljesen egyben kezeli. Virtuális memória külön partíción (swap partíció)

15 JZsCs Könyvtár- és állománykezelés pwd az aktuális munkakönyvtár elérési úttal ellátott nevének kiírása ls [-altrR] könyvtár egy könyvtár tartalmának kilistázása ABC sorrendben -r a rendezés iránya fordított -R alkönyvtárak is rekurzívan -a a rejtett állományok is -l kiegészítő információk drwxrwxrwx ln user group size date time name -t módosítási idő szerinti rendezés

16 JZsCs mkdir [elérési_út/]könyvtár egy új könyvtár létrehozása mkdir –p./elso/masodik létrehozza az elso könyvtárat is cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév linknév link létrehozása -s szimbolikus link cat állomány1 [...állományN] állományok összefűzése: cat állomány1 állomány2 > állomány3 állomány kiíratása: cat állomány új állomány létrehozása: cat > állomány +

17 JZsCs rm kapcsolók állománynév állomány törlése -f nincs figyelmeztető üzenet -r könyvtárak törlése rekurzívan rmdir könyvtárnév üres könyvtár törlése !kitörölt állomány nem állítható vissza wc kapcsolók állománynév állomány jellemzőinek számlálása -c bájtok -l sorok -w szavak cp kapcsolók forrás cél állományok másolása -r rekurzív -s szimbolikus linket hoz létre másolás helyett (csak akkor működik, ha az aktuális könyvtárba másolunk) -f nincs figyelmeztető üzenet

18 JZsCs find kezdőpont kifejezés állomány keresése a könyvtárrendszerben kezdőponttól lefelé - name minta név szerint - user név tulajdonos szerint grep kapcsoló minta állománynév minta előfordulását keresi állományokban -c csak a mintát tartalmazó sorok száma -i kis és nagy betű azonos -l csak állománynevek -n sorszám + sor -v mindent ami nem tartalmazza a mintát

19 JZsCs mv kapcsolók forrás cél állományok átnevezése és/vagy mozgatása -f létezőt kérdés nélkül felülír -b mozgatás előtt biztonsági másolatot készít cél állomány vagy könyvtár more kapcsolók állomány... állomány tartalmának oldalakra tördelt megjelenítése a képernyőn -p nem görget, hanem lapoz -s több üres sorból egyet cmp kapcsolók áll1 áll2 állományok összehasonlítása -c a különböző bájtokat karakterként írja ki

20 JZsCs sort kapcsolók állománynév állomány sorainak rendezése -b beveztő szóközt kihagy -c rendezettséget vizsgál -o állomány állományba írja az eredményt -r fordított sorrend

21 JZsCs tar kapcsolók újnév állományok állományok/könyvtárak összecsomagolása és kibontása -t lista (teszt) -f lemezes álomány -x kibont -c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz) -A hozzámásol tar állományt --delete töröl -W ellenőriz -v kiírja az állományneveket a képernyőre

22 JZsCs Tar tar –cvf ujnev.tar allomanyok tar –xvf ujnev.tar tar –tvf ujnev.tar

23 JZsCs File file fájlnév megadja az állomány típusát a magic fájl alapján

24 JZsCs LESS Fájl tartalmának a megtekintése úgy, hogy abban közlekedni is lehet.

25 JZsCs Állományrendszerek beiktatása és leválasztása felcsatolás az állományrendszer valamely könyvtára helyére általában rendszergazdai jogosultság szükséges felcsatolás mount lecsatolás umount

26 JZsCs Ext2 FS inode táblák inode

27 JZsCs Háttértárak /dev könyvtár eszközfájljain keresztül érhetők el. /dev/fd0 floppy lemez (DOS-ban A:) /dev/fd1 floppy lemez (DOS-ban B:) IDE winchesterek, IDE CD meghajtók /dev/hda 1. csatorna master /dev/hdb 1. csatorna slave /dev/hdc 2. csatorna master /dev/hdd 2. csatorna slave Partíciók: /dev/hdc3 a 2. csatorna master lemezének 3. partíciója

28 JZsCs PORTOK /dev/ttyS0 a DOS alatti COM1 soros port. /dev/ttyS1 a DOS alatti COM2 soros port. /dev/lpt0 a DOS alatti LPT1 párhuzamos port. /dev/psaux A PS/2 port

29 JZsCs Mount /dev/hda1 /dev/hda2

30 JZsCs Fájl rendszerek hozzáépítése (mount) Minden egyetlen gyökérkönyvtárból érhető el: merevlemezen levő fő könyvtárfa Az egyes tároló eszközök (floppy, CD, stb.) fájljai 1-1 fájlrendszerbe vannak szervezve, melyek mindaddig elkülönülnek a könyvtárfától, míg nem csatoljuk őket ahhoz, ekkor részfává válnak Hozzáépítés (mount-olás): mount eszközhozzáépítési -pont # mount /dev/fd0 /mnt/floppy floppy hozzáépítése # mount /dev/hda4 /mnt merevlemez partíciók hozzáépítése

31 JZsCs A df parancs Eszköznevek megadásával kilistázza –az összes fájl-rendszert –az összes partíciót –a szabad hely méretét az egyes fájlrendszerekben –a hozzáépítési pontot az egyes fájlrendszerekben $df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda %/ /dev/hda % /mnt/dos /dev/hdc % /mnt/cdrom

32 JZsCs Leválasztás (unmount) umount eszközhozzáépítési –pont Nem a meghajtó, hanem maga az adathordozó kerül mount-olásra, unmount-olásra !!! A floppy-t, cd-t sem lehet csak úgy kivenni! Kilépéskor minden automatikusan leválasztásra kerül # umount /dev/fd0 /mnt/floppy floppy leválasztása # umount /dev/cdrom /dev/mnt cd leválasztása

33 JZsCs A védelmi rendszer uid - user identifier gid - group identifier /etc/passwd uid és alap gid /etc/group felhasználó-csoport összerendelések Felhasználói körök: tulajdonos csoporttárs többiek su - superuser (uid=0)

34 JZsCs Jogok olvasás - állomány tartalmának megtekintése, könyvtár esetén a tartalom kilistázása írás - állomány bővítése, kicserélése, megváltoztatása, ill. könyvtár esetén bejegyzés létrehozása, törlése végrehajtás - állomány futtatás, könyvtárban keresés, belépés az adott könyvtárba cd -vel, és informálódás az ls utasítás segítségével egy konkrét könyvtár vagy állomány meglétéről és tulajdonságairól

35 JZsCs Védelmi kódsor trwxrwxrwx t - bejegyzés típusa b blokkorientált speciális állomány (pl. /dev/hda1 ) c karakterorientált speciális áll. (pl. /dev/stty4 ) d alkönyvtár-bejegyzés l szimbolikus keresztkapcsolat - egyszerű állomány tulajdonos csoporttárs bárki

36 JZsCs Jogadás Futtatási időre setgid bit setuid bit Állandó chmod chown chgrp

37 JZsCs Jogosultságok -fájl d könyvtár llink Gazda jogai Csoport jogai Többi felhasználó jogai Rolvasható(4) wírható(2) xfuttatható(1)

38 JZsCs chown újtulajdonos állománynév állomány tulajdonosának megváltoztatása chgrpújcsoportállománynév állomány csoportjának megváltoztatása chmod kapcsoló[kinek] op jogok [op jogok] jogok beállítása - adása kinek : u az aktuális felhasználónak g a csoportnak o a többieknek op + jogokat adunk hozzá - jogokat veszünk el = pontosan

39 JZsCs jogok a következő betűk kombinációi lehetnek: r olvasási jog w írási jog x végrehajtási jog X végrehajtási jog, ha az állomány könyvtár vagy ha már van másik x bitje; s setuid vagy setgid mód chmod g-w állomány chmod +x állomány chmod 622 állomány

40 JZsCs Jogosultság – Speciális flagek sticky bit: chmod +t fnev –Fájloknál már nem használt (memóriában tartás) –Könyvtárra beállítva: a könyvárban levő fájlokat csak a tulajdonos törölheti (rendszerfüggő) –példa erre a /tmp, közös ftp könyvtárak suid (set user id): chmod +s fnev –Futtatható fájloknál a futtató felhasználó a fájl tulajdonosával lesz azonos (jogosultság szempontjából) –pl: másolás root által írható helyre –veszélyes! shell scriptnél különösen sgid: –Mint a suid, csak csoporttal

41 JZsCs Alapértelmezett bitek umask maszk az umask környezeti változó értékét maszk&0777 -re állítja az open() használja az újonnan létrehozott állományok jogainak meghatározására az open() mode paramétere pl. –umask 022 –mode 0666 az új állomány jogai: –0666&~022= & – –rw-r--r--

42 JZsCs Folyamatok

43 JZsCs ps –A információk folyamatokról kill kapcsolók PID jel küldése folyamathoz kill -9 PID(folyamat leállítása) -s szám jel küldése -l jel lista date dátum és idő kiírása utasítás& utasítás a háttérben fut

44 JZsCs Háttér – előtér időzítés programnév& program futtatás a háttérben fg háttérben futó folyamat előhozása

45 JZsCs Átirányítás Standard input more < help.txt Standard output ls -la > lista.txt Standard hibakimenet find / -name *.html 2> hibák

46 JZsCs Parancs csatolás Az első parancs standard kimenete lesz a második parancs standard bemenete. ls -la *.tar | wc -l A képernyőn megjelenik az aktuális könyvtárban található tar kiterjesztésű állományok száma

47 JZsCs Helyettesítő karakterek *0 vagy több tetszőleges karakter ? egy darab tetszőleges karakter [afu]a vagy f vagy u [135]1 vagy 3 vagy 5 [a-g]a -tól g -ig terjedő intervallumból egy karakter [1-6]1 -től 6 -ig terjedő intervallumból egy karakter [a-g1-6] az a -tól g -ig vagy az 1 -től 6 -ig terjedő intervallumból egy karakter

48 JZsCs Semlegesítő karakterek 1 \ a mögötte álló karaktert védi cat > ab\*c '..' shell behelyettesítéstől védi a közrefogott szöveget find / -name *.c 2>hibák | grep - l 'int len' megkeresi azokat a c kiterjesztésű állományokat, amelyek tartalmazzák az idézőjelek között megadott szöveget

49 JZsCs Semlegesítő karakterek 2 ".." shell behelyettesítéstől védi a közrefogott szöveget, de a környezeti változókat behelyettesíti ls "${HOME}/ab*c" megnézi, hogy van-e a saját könyvtárunkban ab*c nevű állomány `..` kiértékeli a közrefogott parancsot, és annak értékét helyettesíti az idézőjeles kifejezés helyére echo Ebben a könyvtárban `ls | wc -l` darab bejegyzés található

50 JZsCs Példa ls /dev/t*[3-8] ls /dev/*[0-9]* | wc -l

51 JZsCs Felhasználókezelés who név, terminál, bejelentkezés dátuma, ideje whoami saját felhasználói név w rendszerindítás ideje, bejelentkezett felhasználók száma, terhelés, felhasználók, terminálok, honnan jelentkeztek be, mikor, mit csinálnak

52 JZsCs Felhasználókezelés /etc/passwd : felhasználói információk (nyílt szöveg) /etc/shadow : jelszavak (kódolt) /etc/group : csoportok adatai groupadd : csoportot hozhatunk létre vele useradd: felhasználót adhatunk a rendszerhez /home/usernev -en belül lesznek a felhasználók alaphelyzetben nem jön létre /etc/default/useradd /etc/skel - ez a könyvtár lesz a home tartalma User létrehozása Unix alatt csak néhány konfigurációs állomány módosításából áll.

53 JZsCs /etc/shadow username:password:last_change:may_change:must_ch ange:warn_days:expire_date:disable:reserved

54 JZsCs Csoport létrehozása groupadd gname groupadd -g –GID (group ID) megadása fölött a tipikus

55 JZsCs Felhasználó hozzáadás useradd user1 –létrehoz egy felhasználót (beállítások nélkül) useradd -D : kiírja az alapértékeket useradd -g csoport1 user3 –elsődleges csoport useradd -g csoport1 -G csop2,csop3,csop4 user4 –másodlagos csoportok is useradd -m user5 –home könyvtár automatikus létrehozása useradd -p kod user6 –megadhatunk egy jelszót

56 JZsCs useradd -gusers -Gmgmt -s/bin/shell -pxxxx -d/home/roger -m roger Options: -d home directory -s starting program (shell) -p password -g (primary group assigned to the users) -G (Other groups the user belongs to) -m (Create the user's home directory Példa

57 JZsCs Rendrakás passwd –saját jelszavunk megváltoztatása passwd usernev –másik felhasználó jelszavának megadása groupdel csoportnev userdel usernev

58 JZsCs BASH (Bourne-Again Shell) Bourne shell – (sh) (Stephen Bourne) – az első nagy, majdnem standard a UNIX rendszereken a bash – (bash) az sh kibővítése visszafele kompatibilis az sh-val #!/bin/sh – ez a script első sora

59 JZsCs BASH (Bourne-Again Shell) milyen parancshélyt használunk? echo $SHELL segítség a parancsokról: date --help man date

60 JZsCs Parancsok sort –-r - fordított sorrendben tail –+nelső n sor megjelenítése –-nutolsó n sor megjelenítése –-ffolyamatos megjelenítés

61 JZsCs Aritmetika expr $ expr $ expr 10 / 2 $ expr 20 % 3 $ expr 10 \* 3 $ echo `expr 6 + 3`

62 JZsCs Idézőjelek ” (2)karaktersor, nem értelmezi a speciális karaktereket (kivétel $ és \ ) echo -e ”a\tb\n\ax\a\naaaaaa\rbbb” ‘ (1)karaktersor, változatlanul marad ` (7)parancsként értelmezi, végrehajtja echo ”A mai dátum: `date`”

63 JZsCs % echo 'What the *heck* is a $ doing here???' What the *heck* is a $ doing here??? % echo "Is your home directory $HOME?" Is your home directory /home/kreskin/u0/barnett? % echo "Your current directory is `pwd`" Your current directory is /home/kreskin/u0/barnett Idézőjelek

64 JZsCs Néhány környezeti változó $HOME $USERNAME $PWD $PATH $BASH_VERSION $SHELL Felhasználó által definiált változók n=10 helyes (Bourne Shell) set n=10 helyes (C Shell) n = 10 helytelen echo $n Változók törlése unset n

65 JZsCs Hivatkozás változókra ${VALTOZO_NEVE} $ VALTOZO_NEVE Példa: $ PATH=${PATH}:${XYZ_DIR}

66 JZsCs Script paraméterek $#parancssori argumentumok száma $0a script neve $1első paraméter $2második $*az összes argumentum

67 JZsCs Exit státusz $?a hibakódot tárolja (0 – OK) (!=0 Error) a következő utasítás felülírja date echo $? rosszparancs echo $?

68 JZsCs Értek beolvasása read változónév Példa: echo "Your first name please:„ read fname echo "Hello $fname, Lets be friend!"

69 JZsCs Parancsok összefűzése Több parancs végrehajtása parancs1;parancs2;parancs3 Példa: date;who

70 JZsCs Feltétel iffeltétel then parancs1; else parancs2; fi

71 JZsCs Összehasonlítások 5 > 2 a 5 c >

72 JZsCs Feltétel 0 - igaz 1,2,…-hamis -eqegyenlő if test 5 -eq 6 [ 5 -eq 6 ]

73 JZsCs nenem egyenlő -ltkissebb -lekissebb vagy egyenlő -gtnagyobb -genagyobb vagy egyenlő

74 JZsCs Állományok -snem üres -flétező állomány -dlétező könyvtár -wírható állomány -rolvasható állomány -xfuttatható If [ -f „$1” ] then echo „$1 létezik” fi

75 JZsCs Ciklus while feltétel do parancsok done

76 JZsCs While n=0 while [ num –lt 10 ] do echo $num num=$((num+1)) done

77 JZsCs for For változó in lista do parancs; done

78 JZsCs for for valtozo in alma szilva korte do echo $valtozo done

79 JZsCs for ciklus for (( i = 0 ; i <= 5; i++ )) do echo $i done

80 JZsCs Ciklus ellenőrzés Continue – megszakítja az aktuális iterációt, folytatja a következővel Break – megszakítja a teljes ciklust

81 JZsCs Ciklus ellenőrzés a=0 while [ "$a" -le "$LIMIT" ] do a=$(($a+1)) if [ "$a" -gt 2 ] then break fi echo -n "$a „ done echo; exit 0

82 JZsCs case Case „$változó” in „feltétel1” ) parancs;; „feltétel2” ) parancs;; esac

83 JZsCs #!/bin/sh case $2 in p) chmod 777 $1;; [1-4a-b][!a-b]?) ls -l;; x|X) ps -ew) who;; esac

84 JZsCs #!/bin/sh case $1 in proc) cat /proc/cpuinfo;; mem) cat /proc/meminfo;; hdd) if [ -d /proc/ide/hda ]; then echo Model: `cat /proc/ide/hda/model`; echo Cache size: `cat /proc/ide/hda/cache`; fi;; mnt) cat /proc/mounts;; esac

85 JZsCs if [ -f /etc/shells ] then echo „Elérhető shellek: „ echo "`cat /etc/shells`" fi

86 JZsCs Példa for fis in `find $1 -perm -u=rx -type f` do echo $fis # kiírjuk az állomány nevét head -$2 $fis # kiírjuk az első $2 sort az állományból done

87 JZsCs Példa if [ ! $# -eq 2 ] then echo usage: shell1 dir nr exit 1 fi

88 JZsCs Példa #!/bin/sh n=0 for i in * do if [ -f $i ]; then n=`expr $n + 1` fi done echo $n allomany van a katalogusban

89 JZsCs Cut parancs grep "user" /etc/passwd | cut -d: -f5 | cut -d, -f1 for x in `ps -e | grep "sleep" | cut -c1-5` do kill $x 2>/dev/null done

90 JZsCs Folyamatok listázása felhasználók szerint ps -u ps U pkill –KILL –u user // felhasználó kill pgrep –u root sshd // az sshd nevezetű és root tulajdonosú folyamatok listázása

91 JZsCs Példa Egy napnál régebben készült fájlok törlése for i in $(find "$1" -type f -atime +1); do echo $i rm $i done

92 JZsCs Megosztott mappa mountolása mount -t cifs // /Linux -o username=myntaccount,password=mypassword /mnt/ntfs

93 JZsCs Regularis kifejezések "[xyz]" matches any one of the characters x, y, or z. "[c-n]" matches any one of the characters in the range c to n. "[B-Pk-y]" matches any one of the characters in the ranges B to P and k to y. "[a-z0-9]" matches any single lowercase letter or any digit. "[!b-d]" matches any character except those in the range b to d.

94 JZsCs Tömbök array=(red green blue yellow magenta) len=${#array[*]} echo "The array has $len members. They are:" i=0 while [ $i -lt $len ]; do echo "$i: ${array[$i]}" let i++ done

95 JZsCs Példa Ftp-re #!/bin/sh HOST='ftp.users.qwest.net' USER='yourid' PASSWD='yourpw' FILE='file.txt' ftp -n $HOST <


Letölteni ppt "Linux. JZsCs 20072 Linux kernel JZsCs 20073 4 5."

Hasonló előadás


Google Hirdetések