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.

Hasonló előadás


Az előadások a következő témára: "Linux."— Előadás másolata:

1 Linux

2 Linux kernel JZsCs 2007

3 JZsCs 2007

4 JZsCs 2007

5 JZsCs 2007

6 JZsCs 2007

7 JZsCs 2007

8 JZsCs 2007

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) JZsCs 2007

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

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

12 Standard fa /bin rendszerprogramok
/usr/bin közérdekű felhasználói programok /etc a rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwd felhasználók azonosításához szükséges adatok egy része /tmp ideiglenes állományok elhelyezése /dev speciális állományok /home felhasználói könyvtárak JZsCs 2007

13 /dev/fd* hajlékonylemezes egység neve
/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/null kü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á JZsCs 2007

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

15 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 JZsCs 2007

16 cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév linknév
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 <CTRL>+<D> JZsCs 2007

17 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 JZsCs 2007

18 - name minta név szerint - user név tulajdonos szerint
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 JZsCs 2007

19 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 JZsCs 2007

20 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 JZsCs 2007

21 -c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz)
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 JZsCs 2007

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

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

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

25 Á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 JZsCs 2007

26 Ext2 FS inode táblák ... ... ... ... inode 1 ... 2 ... 3 4 ... 5 6 7 8
9 10 11 12 ... 13 ... ... ... JZsCs 2007

27 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 JZsCs 2007

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

29 Mount /dev/hda1 /dev/hda2 JZsCs 2007

30 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 JZsCs 2007

31 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 JZsCs 2007

32 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 JZsCs 2007

33 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) JZsCs 2007

34 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 JZsCs 2007

35 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 JZsCs 2007

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

37 Jogosultságok - fájl d könyvtár l link R olvasható(4) Gazda jogai
w írható(2) x futtatható(1) Gazda jogai Csoport jogai Többi felhasználó jogai JZsCs 2007

38 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 JZsCs 2007

39 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 JZsCs 2007

40 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 JZsCs 2007 40

41 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-- JZsCs 2007

42 Folyamatok JZsCs 2007

43 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 JZsCs 2007

44 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 JZsCs 2007

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

46 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 JZsCs 2007

47 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 [a-g1-6] az a-tól g-ig vagy az 1-től 6-ig terjedő intervallumból egy karakter JZsCs 2007

48 Semlegesítő karakterek1
\ 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 JZsCs 2007

49 Semlegesítő karakterek2
".." 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ó JZsCs 2007

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

51 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 JZsCs 2007

52 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. JZsCs 2007 52

53 /etc/shadow username:password:last_change:may_change:must_change:warn_days:expire_date:disable:reserved username: The username of the account as specified in the /etc/passwd file password: The password is in encrypted hash format, meaning that it has been hashed using a salt as the seed. The rest of the post is on this very topic. last_change: The number of days, since January 1, 1970, when the password was last changed. may_change: The number of days since the last password change before a new password change is allowed. must_change: The number of days since the last password change when a new password change is required. warn_days: The number of days before must_change when the user begins receiving warning about changing their password. expire_date: The number of days after the password expires when the account is disabled. disable: The number of days since January 1, 1970, when the account will be disabled. reserved: A reserved field for the system. JZsCs 2007

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

55 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 JZsCs 2007 55

56 Példa 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 JZsCs 2007

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

58 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 JZsCs 2007

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

60 Parancsok sort <állomány> tail <állomány>
-r - fordított sorrendben tail <állomány> +n első n sor megjelenítése -n utolsó n sor megjelenítése -f folyamatos megjelenítés JZsCs 2007

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

62 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`” JZsCs 2007

63 Idézőjelek % echo '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 JZsCs 2007

64 Néhány környezeti változó Felhasználó által definiált változók
$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 n= 10 helytelen n =10 helytelen echo $n Változók törlése unset n JZsCs 2007

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

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

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

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

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

70 Feltétel if feltétel then parancs1; else parancs2; fi JZsCs 2007

71 Összehasonlítások 5 > 2 a < b c > 5 c > 5 + 30 -1
JZsCs 2007

72 Feltétel 0 - igaz 1,2,… - hamis -eq egyenlő if test 5 -eq 6
JZsCs 2007

73 -le kissebb vagy egyenlő -gt nagyobb -ge nagyobb vagy egyenlő
-ne nem egyenlő -lt kissebb -le kissebb vagy egyenlő -gt nagyobb -ge nagyobb vagy egyenlő JZsCs 2007

74 Állományok -s nem üres -f létező állomány -d létező könyvtár
-w írható állomány -r olvasható állomány -x futtatható If [ -f „$1” ] then echo „$1 létezik” fi JZsCs 2007

75 Ciklus while feltétel do parancsok done JZsCs 2007

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

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

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

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

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

81 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 JZsCs 2007

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

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

84 proc) cat /proc/cpuinfo;; mem) cat /proc/meminfo;;
#!/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 JZsCs 2007

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

86 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 JZsCs 2007

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

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

89 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 JZsCs 2007

90 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 JZsCs 2007

91 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 JZsCs 2007

92 Megosztott mappa mountolása
mount -t cifs // /Linux -o username=myntaccount,password=mypassword /mnt/ntfs The CIFS VFS is a virtual file system for Linux to allow access to servers and storage appliances compliant with the SNIA CIFS Specification version 1.0 or later.    Popular servers such as Samba, Windows 2000, Windows XP and many others support CIFS by default.   The CIFS VFS provides some support for older servers based on the more primitive SMB (Server Message Block) protocol (you also can use the Linux file system smbfs as an alternative for accessing these).   CIFS VFS is designed to take advantage of advanced network file system features such as locking, Unicode (advanced internationalization), hardlinks, dfs (hierarchical, replicated name space), distributed caching and uses native TCP names (rather than RFC1001, Netbios names).  Unlike some other network file systems all key network function including authentication is provided in kernel (and changes to mount and/or a mount helper file are not required in order to enable the CIFS VFS). With the addition of upcoming improvements to the mount helper (mount.cifs) the CIFS VFS will be able to take advantage of the new CIFS URL specification though.   The TODO list includes some of the other features being planned for future releases.   The CIFS VFS has been tested with Linux and later as well as regular testing on Linux 2.6 (and has been in the kernel source starting with Linux kernel Testing has been done on various hardware architectures including x86 and even big endian zSeries hardware.   The cifs and smbfs file systems can coexist on the same system and do not conflict. JZsCs 2007

93 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. JZsCs 2007

94 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 JZsCs 2007

95 Példa Ftp-re #!/bin/sh HOST='ftp.users.qwest.net' USER='yourid'
PASSWD='yourpw' FILE='file.txt' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS $PASSWD put $FILE quit END_SCRIPT exit 0 JZsCs 2007


Letölteni ppt "Linux."

Hasonló előadás


Google Hirdetések