Nhập môn hệ điều hành Linux

Tham gia vaøo moâ hình X window coù chöông trình X server vaø X client. Nhìn chung, X server laø chöông trình chaïy treân maùy traïm laøm vieäc WS cuûa ngöôøi söû duïng, coøn X client chaïy treân maùy chuû S naèm xa ngöôøi söû duïng. Chöông trình Xserver treân maùy traïm chòu traùch nhieäm quaûn lyù taøi nguyeân cuûa maùy traïm (maøn hình, baøn phím, chuoät) vaø thöïc hieän giao tieáp giöõa ngöôøi söû duïng vaø chöông trình X client chaïy treân maùy chuû (noùi chung laø ôû xa nhöôøi söû duïng). Keát noái giöõa X server vaø Xclient coù theå thöïc hieän hoaøn toaøn treân TCP/IP qua maïng LAN cuõng nhö WAN. Moät Xserver coù theå cho pheùp “hieån thò” nhieàu Xclient ôû nhieàu maùy khaùc nhau vaø ñoù laø öu ñieåm cô baûn cuûa Xwindow. Xserver “nghe” taïi coång 6000 vaø Xclient môû moät keát noái töø moät coång naøo ñoù (lôùn hôn 1023) veå coång 6000 cuûa Xserver.

doc38 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2039 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Nhập môn hệ điều hành Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ieän thò (dumped ) hay khoâng heä thoáng taäp tin 6 (fs_passno) : coù caàn kieåm tra hay khoâng bôûi fsck Taäp tin /etc/fstab ñöôïc söû duïng bôûi chöông trình mount trong quaù trình khôûi ñoäng cuûa Linux. Doøng /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 cho pheùp oå CDROM coù theå mount theo yù muoán cuûa ngöôøi duøng (khoâng mount automatic) vaø gaén vaøo /mnt/crdom vôùi kieåu heä thoáng taäp tin iso9660 vôùi muïc ñích chæ ñoïc. Neáu khoâng coù töø khoùa user thì chæ coù root môùi ñöôïc quyeàn mount oå CDROM. Vôùi taäp tin /etc/fstab nhö treân thì leänh mount/unmount oå CDROM seõ laø : mount /dev/cdrom hay umount /dev/cdrom Mount khoâng coù thoâng soá cho pheùp hieån noäi dung taäp tin /etc/mtab = nhöõng heä thoáng taäp tin ñaõ ñöôïc mounted. [root@pasteur tnminh]# mount /dev/hda2 on / type ext2 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,mode=0622) /dev/hda1 on /home/tnminh/minh type vfat (rw) So saùnh vôùi [root@pasteur tnminh]# more /etc/mtab /dev/hda2 / ext2 rw 0 0 none /proc proc rw 0 0 none /dev/pts devpts rw,mode=0622 0 0 /dev/hda1 /home/tnminh/minh vfat rw 0 0 ÔÛ ñaây chuùng ta thaáy 2 doøng ñaëc bieät : none /proc proc rw 0 0 none /dev/pts devpts rw,mode=0622 0 0 /dev chöùa nhöõng taäp tin ñaëc bieät : taäp tin thieát bò ngoaïi vi. Heä thoáng Linux söû duïng caùc taäp tin naøy ñeå truy xuaát döõ lieäu ñeán caùc thieát bò ngoaïi vi. Nhö vaäy, Linux giao tieáp ñeán caùc thieát bò ngoaïi vi gioáng nhö vôùi caùc taäp tin. Ví duï /dev/psaux ñöôïc duøng ñeå giao tieáp vôùi chuoät, /dev/hda1 ñeå giao tieáp vôùi phaân maûnh 1 cuûa ñóa cöùng master cuûa controler soá 0... brw-rw---- 1 root disk 3, 1 May 6 1998 hda1 crw-rw-r-- 1 root root 10, 1 May 6 1998 psaux crw------- 1 root tty 4, 64 Oct 3 15:55 ttyS0 crw------- 1 root tty 4, 65 May 6 1998 ttyS1 crw------- 1 root tty 4, 66 May 6 1998 ttyS2 crw------- 1 root tty 4, 67 May 6 1998 ttyS3 Kyù töï coät ñaàu tieân ‘b’ ñeå thoâng baùo kieåu giao tieáp block (cho thieát bò nhö oå ñóa), ‘c’ – giao tieáp kieåu kyù töï (cho thieát bò nhö baøn phím, chuoät …). Toùm laïi, ta nhaän thaáy caây thö muïc cuûa Unix cuõng gioáng nhö caây thö muïc cuûa MS DOS hay Windows. /proc laø heä thoáng taäp tin aûo cho pheùp ñoïc caùc thoâng tin cuûa caùc process treân boä nhôù. Ñeå thöïc taäp , ta coù theå duøng ps ñeå coi caùc tieán trình vaø thaáy caùc taäp tin töông öùng trong /proc nhö ví duï sau : [oracle@appserv]$ ps ax|grep 582 582 ? S 0:17 nmbd -D 8724 pts/5 S 0:00 grep 582 [oracle@appserv]$ cd /proc/582 [oracle@appserv 582]$ ls -l ls: exe: Permission denied ls: root: Permission denied ls: cwd: Permission denied total 0 -r--r--r-- 1 root root 0 Oct 12 17:39 cmdline lrwx------ 1 root root 0 Oct 12 17:39 cwd -r-------- 1 root root 0 Oct 12 17:39 environ lrwx------ 1 root root 0 Oct 12 17:39 exe dr-x------ 2 root root 0 Oct 12 17:39 fd pr--r--r-- 1 root root 0 Oct 12 17:39 maps -rw------- 1 root root 0 Oct 12 17:39 mem lrwx------ 1 root root 0 Oct 12 17:39 root -r--r--r-- 1 root root 0 Oct 12 17:39 stat -r--r--r-- 1 root root 0 Oct 12 17:39 statm -r--r--r-- 1 root root 0 Oct 12 17:39 status [oracle@appserv 582]$ more cmdline nmbd-D [oracle@appserv 582]$ Caùc kyù töï in ñaäm trong ví duï treân cho pheùp thaáy ñöôïc moái lieân heä giöõa /proc vaø tieán trình ñang chaïy. Caùc thao taùc treân coù theå thöïc hieän bôûi moät user baát kyø. III.2 Quyeàn truy caäp, sôû höõu taäp tin vaø thö muïc cuûa Linux (directory and file permission and ownership) : Do Linux laø moät heä ñieàu haønh multitasking vaø multiuser, nhieàu ngöôøi cuøng coù theå söû duïng moät maùy Linux vaø moät ngöôøi coù theå cho chaïy nhieàu chöông trình khaùc nhau. Coù hai vaán ñeà lôùn ñöôïc ñaët ra : quyeàn sôû höõu caùc döõ lieäu treân ñóa vaø phaân chia taøi nguyeân heä thoáng nhö CPU, RAM ... giöõa caùc process. Chuùng ta seõ baøn veà sôû höõu caùc taäp tin vaø caùc quyeàn truy xuaát taäp tin. Taát caû caùc taäp tin vaø thö muïc cuûa Linux ñeàu coù ngöôøi sôû höõu vaø quyeàn truy nhaäp. Baïn coù theå ñoåi caùc tính chaát naøy cho pheùp nhieàu hay ít quyeàn truy nhaäp hôn ñoái vôùi moät taäp tin hay thö muïc. Quyeàn cuûa taäp tin coøn cho pheùp xaùc ñònh taäp tin coù laø moät chöông trình (application) hay khoâng (khaùc vôùi MSDOS vaø MSWindows xaùc ñònh tính chaát naøy qua phaàn môû roäng cuûa teân taäp tin) .Ví duï vôùi leänh ls –l chuùng ta coù theå thaáy -rw-r—r— 1 fido users 163 Dec 7 14:31 myfile Coät ñaàu chæ ra quyeàn truy caäp taäp tin Coät 2 chæ soá lieân keát (link) ñoái vôùi taäp tin hay thö muïc Coät 3, 4 chæ chuû sôû höõu vaø nhoùm sôû höõu Coät 5 chæ ñoä daøi cuûa taäp tin Coät 6 chæ thôøi gian thay ñoåi cuoái cuøng Coät 7 laø teân taäp tin hay thö muïc Trong ví duï treân, caùc kyù töï -rw-r—r— bieåu thò quyeàn truy caäp cuûa taäp tin myfile. Sôû höõu cuûa myfile laø fido vaø nhoùm sôû höõu myfile laø users . Fido ñöôïc quyeàn ñoïc vaø ghi vaøo myfile, coøn nhöõng ngöôøi söû duïng cuûa nhoùm users vaø nhöõng ngöôøi khaùc chæ ñöôïc quyeàn ñoïc myfile. Linux cho pheùp ngöôøi söû duïng xaùc ñònh caùc quyeàn ñoïc (read), vieát (write) vaø thöïc hieän (execute) cho töøng ñoái töôïng trong nhoùm sau : sôû höõu (the owner), nhoùm (the group), vaø nhöõng ngöôøi coøn laïi ("others" (everyone else)). Quyeàn ñoïc cho pheùp baïn ñoïc noäi dung cuûa taäp tin. Ñoái thö muïc quyeàn ñoïc cho pheùp baïn söû duïng leänh ls ñeå xem noäi dung cuûa thö muïc. Quyeàn vieát cho pheùp baïn thay ñoåi noäi dung hay xoùa taäp tin. Ñoái vôùi thö muïc, quyeàn vieát cho pheùp baïn taïo ra, xoùa hay thay ñoåi teân trong thö muïc. Quyeàn thöïc hieän cho pheùp baïn goïi chöông trình leân boä nhôù baèng caùch nhaäp töø baøn phím teân cuûa taäp tin. Ñoái vôùi thö muïc, baïn chæ coù theå vaøo thö muïc bôûi leänh cd neáu baïn coù quyeàn thöïc hieän vôùi thö muïc . Xem xeùt laïi ví duï treân : -rw-r—r— 1 fido users 163 Dec 7 14:31 myfile Kyù töï ñaàu tieân cuûa quyeàn laø kyù töï “–“ aùm chæ raèng ñoù laø moät taäp tin bìnht thöôøng. Neáu myfile laø moät thö muïc, ta seõ thaáy vaøo dàoù kyù töï d. Ngoaøi ra coøn coù c cho thieát bò ngoaïi vi daïng kyù töï (nhö baøn phím), b cho thieát bò ngoaïi vi daïng block (nhö oå ñóa cöùng). Chín kyù töï tieáp theo chia thaønh 3 nhoùm, cho pheùp xaùc ñònh quyeàn cuûa ba nhoùm sôû höõu (owner), nhoùm (group) vaø coøn laïi (other). Moãi caëp ba naøy cho pheùp xaùc ñònh quyeàn ñoïc, vieát vaø thöïc hieän theo thöù töï keå treân. Quyeàn ñoïc vieát taét laø “r” ôû vò trí ñaàu tieân, quyeàn vieát vieát taét baèng “w” ôû vò trí thöù hai vaø vò trí thöù ba laø quyeàn thöïc hieän kyù hieäu baèng chöõ “x” . Neáu moät quyeàn khoâng ñöôïc cho, taïi vò trí ñoù seõ coù kyù töï “-“ . Trong tröôøng hôïp cuûa taäp tin myfile, sôû höõu coù quyeàn rw töùc laø ñoïc vaø vieát. Myfile khoâng phaûi laø moät chöông trình. Nhoùm cuøng vôùi coøn laïi chæ coù quyeàn ñoïc taäp tin (read-only). Hình sau cho ta thaáy roõ hôn caùch “ñoïc” quyeàn truy caäp ñoái vôùi taäp tin. Quyeàn truy caäp cô baûn cuûa taäp tin Song song vôùi caùch kyù hieäu mieâu taû baèng kyù töï nhö ôû treân, quyeàn thao taùc taäp tin coøn coù theå cho döôùi daïng 3 soá . Ñoái vôùi myfile, quyeàn ñoù laø 644. Ñieàu quan troïng laø phaûi hieåu caùch kyù hieäu baèng soá vì noù lieân quan ñeán vieäc thay ñoåi caùc quyeàn sau naøy. Caùc soá coù theå nhaän taát caû caùc giaù trò töø 0 ñeán 7. Soá ñaàu tieân mieâu taû quyeàn cuûa sôû höõu, soá thöù hai cho nhoùm vaø soá thöù ba cho coøn laïi. Moãi soá laø toång cuûa caùc quyeàn theo quy taéc sau : read permission 4 Write permission 2 Execute permission 1 Vì vaäy, moät taäp tin vôùi quyeàn 751 coù nghóa laø sôû höõu coù quyeàn read, write, vaø execute baèng 4+2+1=7, Nhoùm coù quyeàn read vaø execute baèng 4+1=5, vaø coøn laïi coù quyeàn execute baèng 1. Neáu chuùng ta xem kyõ, chuùng ta seõ thaáy moïi soá töø 0 ñeán 7 ñeàu töông öùng vôùi moät toå hôïp duy nhaát caùc quyeàn truy nhaäp taäp tin. 0 or —-: No permissions at all 4 or r—: read-only 2 or -w-: write-only (rare) 1 or —x: execute 6 or rw-: read and write 5 or r-x: read and execute 3 or -wx: write and execute (rare) 7 or rwx: read, write, and execute Neáu baïn quen vôùi heä nhò phaân, haõy suy nghó baèng heä thoáng nhò phaân. Khi ñoù, rwx seõ nhö soá nhò phaân 3 bits. Neáu quyeàn ñöôïc cho, soá nhò phaân töông öùng seõ baèng 1, ngöôïc laïi, noù seõ baèng 0. Ví duï r-x seõ laø soá nhò phaân 101, vaø theo heä thaäp phaân seõ laø 4+0+1, hay 5. —x seõ töông öùng 001, hay 0+0+1 = 1 … Chuù yù: Ngöôøi söû duïng coù quyeàn ñoïc thì coù quyeàn copy taäp tin vaø taäp tin sao cheùp seõ thuoäc sôû höõu ngöôøi laøm copy nhö minh hoïa sau [tnminh@backup tnminh]$ ls -l /etc/passwd -rw-r--r-- 1 root root 1113 Oct 13 12:30 /etc/passwd [tnminh@backup tnminh]$ cp /etc/passwd ./ [tnminh@backup tnminh]$ ls -l passwd -rw-r--r-- 1 tnminh admin 1113 Oct 15 10:37 passwd Caùc quyeàn d9ònh khi taïo taäp tin. Khi moät taäp tin hay thö muïc ñöôïc taïo ra, permission maëc ñònh seõ ñöôïc xaùc ñònh bôûi caùc quyeàn tröø bôùt bôûi caùc quyeàn hieån thò baèng umask [tnminh@pasteur tnminh]$ umask 002 [tnminh@pasteur tnminh]$ echo tao mot file > tmp [tnminh@pasteur tnminh]$ ls -l total 5472 -rw-rw-r-- 1 tnminh tnminh 13 Oct 3 21:55 tmp [tnminh@pasteur /etc]$ umask 022 [tnminh@pasteur tnminh]$ echo tao mot file khac >tmp1 [tnminh@pasteur tnminh]$ ls -l -rw-rw-r-- 1 tnminh tnminh 13 Oct 3 21:55 tmp -rw-r--r-- 1 tnminh tnminh 18 Oct 3 21:59 tmp1 Trong ví duï treân, quyeàn maëc ñònh luùc ñaàu xaùc ñònh bôûi umask=002. Khi ñoù, taäp tin tmp taïo ra seõ coù quyeàn laø 664 vaø ñoù chính laø buø ñeán 6 cuûa umask. Quyeàn thöïc hieän chöông trình caàn ñöôïc gaùn coá yù bôûi ngöôøi söû duïng hay caùc chöông trình bieân dòch. Sau ñoù ta ñoåi giaù trò cuûa umask thaønh 022 vaø taäp tin taïo ra coù quyeàn 644. Giaù trò maëc ñònh cuûa caùc quyeàn thöôøng ñöôïc gaùn moãi khi ngöôøi söû duïng login vaøo heä thoáng thoâng qua caùc taäp tin khôûi taïo bieán moâi tröôøng nhö .profile, .bashrc. Ñöùng treân quan ñieåm baûo maät heä thoáng, giaù trò 024 laø toát nhaát, noù cho ngöôøi cuøng nhoùm coù quyeàn ñoïc vaø khoâng cho quyeàn naøo vôùi nhöõng ngöôøi khaùc. - Leänh chown, chgrp vaø chmod : Ñaây laø nhoùm leänh ñöôïc söû duïng raát phoå bieán, cho pheùp thay quyeàn truy caäp cuûa taäp tin hay thö muïc. Chæ coù chuû sôû höõu vaø superuser môùi coù quyeàn thöïc hieän caùc leänh naøy. Caùch duøng leänh : chmod quyeàn_truy_caäp_môùi teân_file. darkstar:~$ ls -l myfile -rw-r—r— 1 fido users 114 Dec 7 14:31 myfile darkstar:~$ chmod 345 myfile darkstar:~$ ls -l myfile —wxr—r-x 1 fido users 114 Dec 7 14:31 myfile darkstar:~$ chmod 701 myfile darkstar:~$ ls -l myfile -rwx——x 1 root users 114 Dec 7 14:31 myfile Ví duï thay ñoåi vaø hieän thò cho thaáy söï thgay ñoåi quyeàn truy caäp taäp tin myfile . Chuù yù laø ta coù quyeàn caáp phaùt quyeàn thöïc hieän (execute) maø khoâng caàn bieát laø taäp tin coù phaûi laø moät chöông trình hay khoâng. Phöông phaùp thay ñoåi tuyeät ñoái naøy coù moät soá öu ñieåm vì noù laø caùch ñònh quyeàn tuyeät ñoái, keát quaû cuoái cuøng khoâng phuï thuoäc vaøo quyeàn truy caäp tröôùc ñoù cuûa taäp tin. Ñoàng thôøi, deã noùi “thay quyeàn taäp tin thaønh baûy-naêm-naêm” thì deã hôn laø “thay quyeàn taäp tin thaønh ñoïc-vieát-thöïc hieän, ñoïc-thöïc hieän, ñoïc-thöïc hieän” Baïn cuõng coù theå thay ñoåi quyeàn truy nhaäp moät caùch töông ñoái vaø deã nhôù. Ñeå chæ ra nhoùm quyeàn naøo caàn thay ñoåi, baïn coù theå söû duïng u (user), g (group), o (other), hay a (all). Tieáp theo ñoù laø daáu + ñeå theâm quyeàn vaø – ñeå bôùt quyeàn. Cuoái cuøng laø baûn thaân caùc qyuyeàn vieát taét bôûi r,w,x. Ví duï nhö ñeå boå sung quyeàn thöïc hieän cho nhoùm vaø coøn laïi, ta nhaäp vaøo doøng leänh darkstar:~$ chmod go+x myfile Ñaây laø caùch thay ñoåi töông ñoái vì keát quaû cuoái cuøng phuï thuoäc vaøo quyeàn ñaõ coù tröôùc ñoù maø leänh naøy khoâng lieân quan ñeán. Treân quan ñieåm baûo maõt heä thoáng, caùch thay ñoåi tuyeät ñoái daãn ñeán ít sai soùt hôn. Thay ñoåi quyeàn truy caäp cuûa moät thö muïc cuõng ñöôïc thöïc hieän gioáng nhö ñoái vôùi moät taäp tin. Chuù yù laø neáu baïn khoâng coù quyeàn thöïc hieän (execute) ñoái vôùi moät thö muïc, baïn khoâng theå thay ñoåi thö muïc cd vaøo thö muïc ñoù. Moïi ngöôøi söû duïng coù quyeàn vieát vaøo thö muïc ñeàu coù quyeàn xoùa taäp tin trong thö muïc ñoù, khoâng phuï thuoäc vaøo quyeàn cuûa ngöôøi ñoù ñoái vôùi taäp tin. Vì vaäy, ña soá caùc thö muïc coù quyeàn drwxr-xr-x. Nhö vaäy chæ coù ngöôøi sôû höõu cuûa thö muïc môùi coù quyeàn taïo vaø xoùa taäp tin trong thö muïc. Ngoaøi ra, thö muïc coøn coù moät quyeàn ñaëc bieät, ñoù laø cho pheùp moïi ngöôøi ñeàu coù quyeàn taïo taäp tin trong thö muïc, moïi ngöôøi ñeàu coù quyeàn thay ñoåi noäi dung taäp tin trong thö muïc, nhöng chæ coù ngöôøi taïo ra môùi coù quyeàn xoùa taäp tin. Ñoù laø sticky bit cho thö muïc. Thö muïc /tmp thöôøng coù sticky bit baät leân drwxrwxrwt 7 root root 16384 Oct 21 15:33 tmp Ta thaáy chöõ t cuoái cuøng trong nhoùm caùc quyeàn, theå hieän cho sticky bit cuûa /tmp III.3 Lieân keát (link) taäp tin: Trong Unix coù 2 hình thöùc lieân keát hoaøn toaøn khaùc nhau, ñoù laø hard link vaø soft link hay symbolic link. Hard link cho pheùp taïo moät teân môùi cho taäp tin. Caùc teân naøy coù vai troø hoaøn toaøn nhö nhau vaø taäp tin chæ bò hoaøn toaøn xoùa boû khi hard link cuoái cuøng cuûa noù bò xoùa. Leänh ls –l cho pheùp hieån thò soá hard link ñeán taäp tin. Symbolic link coù chöùc naêng gioáng nhö shortcut cuûa MS Windows. Khi ta ñoïc/ghi soft link, ta ñoïc/ghi taäp tin; khi ta xoùa symbolic link, ta chæ xoùa symbolic link vaø taäp tin ñöôïc giöõ nguyeân. Link ñöôïc taïo bôûi leänh ln . Töï choïn ln –s cho pheùp taïo symbolic link. Ví duï [tnminh@pascal tnminh]$ls -l -rw------- 1 tnminh pkt 517 Oct 27 12:00 mbox drwxr-xr-x 2 tnminh pkt 4096 Aug 31 17:50 security [tnminh@pascal tnminh]$ln –s mbox mybox [tnminh@pascal tnminh]$ln –s security securproj [tnminh@pascal tnminh]$ln –l -rw------- 1 tnminh pkt 517 Oct 27 12:00 mbox lrwxrwxrwx 1 tnminh pkt 4 Oct 27 17:57 mymail -> mbox lrwxrwxrwx 1 tnminh pkt 8 Oct 27 17:57 secrproj -> security drwxr-xr-x 2 tnminh pkt 4096 Aug 31 17:50 security [tnminh@pascal tnminh]$ Baïn ñoïc coù theå thaáy khaù roõ keát quaû cuûa symbolic link qua thí duï treân. Symbolic link raát coù nhieàu öùng duïng. Ví duï nhö moät taäp tin XXX cuûa moät chöông trình YYY naèm trong thö muïc /var/ZZZ. Neáu phaân maûnh cuûa /var/ZZZ bò quaù ñaày, ta coù theå “sô taùn” XXX qua moät thö muïc khaùc thuoäc phaân maûnh khaùc vaø taïo moät link theá vaøo ñoù maø chöông trình YYY vaãn khoâng heà “hay bieát” vì noù vaãn truy caäp ñeán /var/ZZZ/XXX nhö thöôøng leä. Caùc thao taùc treân taäp tin. Caùc leänh cô baûn cho pheùp laøm vieäc vôùi caùc taäp tin laø ls : xem noäi dung moät thö muïc cp : copy taäp tin/thö muïc mv : di chuyeån taäp tin/thö muïc rm : xoaù taäp tin. rm –rf cho pheùp xoùa thö muïc khoâng roãng vaø taát caû caùc thö muïc con mkdir : taïo thö muïc môùi more, less, cat : xem noäi dung taäp tin diff : so saùnh noäi dung hai taäp tin touch : ghi laïi thôøi gian taäp tin hoaëc taïo taäp tin môùi neáu chöa coù vi, pico, emacs ... cho pheùp soaïn thaûo vaên baûn, laäp trình. Tieän ích mc gioáng nhö Norton Cammander treân DOS cho pheùp thao taùc deã daøng caùc taäp tin, keå caû thao taùc vôùi taäp tin cuûa maùy khaùc thoâng qua maïng. Leänh tar vaø gzip. Ñaây laø 2 leänh cho pheùp löu tröõ (backup) cuõng nhö sao cheùp döõ lieäu chuû yeáu cuûa Unix. Leänh tar cho pheùp ñoùng goùi moät heä thoáng taäp tin thaønh moät taäp tin vôùi phaàn ñuoâi .tar. Caáu truùc cuûa heä thoáng taäp tin naøy (heä thoáng caùc thö muïc con) ñöôïc löu tröõ vaø phuï hoài trong quaù trình môû goùi (untar). Leänh gzip cho pheùp neùn (compact) moät taäp tin. Thoâng thöôøng, ñeå löu tröõ, ngöôøi ta tar caùc döõ lieäu, roài sau ñoù zip taäp tin keát quaû cuûa tar. Quaù trình phuïc hoài laøm theo quy trình ngöôïc laïi. Leänh tar vaø tuøy choïn phoå bieán laø : Ñeå taïo ra moät löu tröõ tar     tar  -cv  dir_name  >  dir_name.tar Khi ñoù, toaøn boä noäi dung vaø caáu truùc thö muïc con cuûa dir_name seõ ñöôïc löu trong taäp tin dir_name.tar. Ngöôïc laïi, ñeå phuïc hoài löu tröõ, ta duøng     tar  -xvf  dir_name.tar Leänh df, du. Leänh df (disk free) cho pheùp hieån thò tình traïng söû duïng cuûa caùc oå ñóa nhö dung löôïng, ñaõ söû duïng vaø dung löôïng coøn raûnh. Leänh du thö_muïc cho pheùp hieån thò ñoä lôùn cuûa thö muïc ñoù. Leänh fsck. Linux ñoøi hoûi caàn ñöôïc döøng theo ñuùng quy trình, töùc laø phaûi shutdown maùy tröôùc khi taét ñieän baèng coâng taéc. Moãi khi maùy Linux bò taét ñoät ngoät, heä thoáng taäp tin bò hö haïi vaø caàn ñöôïc söûa chöõa qua dòch vuï fsck (file system check). Thoâng thöôøng, fsck söûa chöõa thaønh coâng moät caùch töï ñoäng heä thoáng taäp tin vaø Linux khôûi ñoäng laïi deã daøng. Tuy nhieân, neáu hö hoûng quaù naëng, Linux seõ chuyeån qua cheá ñoä single mode ñeå söûa chöõa. Khi ñoù, chuùng ta chæ coù theå laøm vieäc vôùi maùy tröïc tieáp treân baøn phím cuûa noù. Ta seõ phaûi söû duïng leänh fsck thieát_bò_ñóa_cöùng_bò_hö ñeå söûa chöõa. Ví duï nhö fsck /dev/hda1 seõ söûa pphaân ñoaïn ñaàu cuûa oå ñóa master cuûa controller soá 0. IV. Quaù trình khôûi ñoäng vaø keát thuùc cuûa UNIX : Nhö thoâng leä, khi moät maùy tính ñöôïc khôûi ñoäng, sau khi kieåm tra caùc thieát bò phaàn cöùng gaén treân maùy tính qua caùc chöông trình kieåm tra ghi trong ROM, heä ñieàu haønh ñöôïc taûi leân boä nhôù. Coâng taùc ñaàu tieân cuûa heä ñieàu haønh laø kieåm tra caùc thieát bò ngoaïi vi vaø taûi caùc chöông trình ñieàu khieån (driver) caàn thieát leân boä nhôù. Sau caùc coâng taùc naøy, baét ñaàu giai ñoaïn ñònh hình heä thoáng vaø moãi heä ñieàu haønh, thaäm trí moãi phieân baûn cuûa moät heä ñieàu haønh thöïc hieän moät khaùc. Chuùng toâi xin giôùi thieäu caùch thöùc khôûi ñoäng vaø caáu hình heä thoáng cuûa Linux RedHat 6.x . Caùc Unix khaùc nhö SUN OS 6.x, 7.x cuõng coù heä thoáng caùc taäp tin khôûi ñoäng vaø cô cheá hoaït ñoäng gaàn gioáng nhö Linux RedHat 6.x. Taäp tin ñaàu tieân maø heä ñieàu haønh xem xeùt ñeáùn laø /etc/inittab [tnminh@proxy tnminh]$ ls –l /etc/ inittab -rw-r--r-- 1 root root 1756 May 30 15:51 inittab [tnminh@proxy tnminh]$ more /etc/inittab # # inittab This file describes how the INIT process should set up # the system in a certain run-level. # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: Möùc (level) laøm vieäc maëc ñònh ñöôïc quy ñònh trong taäp tin naøy. Ví duï treân cho thaáy möùc maëc ñònh laø möùc 3 ôû doøng cuoái cuøng. Unix noùi chung coù 7 möùc hoaït ñoäng khaùc nhau töø 0 ñeán 6. Möùc 0 laø ñeå shutdown heä thoáng. Möùc 1 laø ñôn ngöôøi söû duïng (single user ) vaø thöôøng ñöôïc duøng ñeå söûa chöõa loãi heä thoáng taäp tin, möùc 2, 3 laø hai möùc cho ña ngöôøi söû duïng, möùc 6 duøng ñeå reboot heä thoáng, möùc 4,5 do ngöôøi söû duïng töï thieát keá cho mình. Töông öùng vôùi caùc möùc treân, trong thö muïc /etc/rc.d coù caùc thö muïc rc0.d – rc6.d, chöùa caùc taäp tin khôûi ñoäng trong töøng möùc (rc laø vieát taét cuûa run command). RedHat 6.x coù thö muïc /etc/rc.d/init.d chöùa taát caû caùc taäp tin khôûi ñoäng. Thöôøng caùc taäp tin naøy laø caùc shell script (taäp hôïp leänh shell) hoaëc perl script (nhö Debian Linux chaúng haïn). Trong caùc thö muïc rc?.d chæ coù caùc lieân keát hình thöùc (symbolic link) ñeán caùc taäp tin khôûi ñoäng trong /etc/rc.d/init.d. SUN OS 7.0 laïi ñaët thöïc söï caùc script khôûi ñoäng vaøo caùc thö muïc rc?.d thay vì symbolic link. [tnminh@proxy /etc/rc.d]$ ls -l total 22 drwxr-xr-x 2 root root 1024 May 10 09:44 init.d -rwxr-xr-x 1 root root 2722 Apr 15 1999 rc -rwxr-xr-x 1 root root 693 Aug 17 1998 rc.local -rwxr-xr-x 1 root root 9822 Apr 14 1999 rc.sysinit drwxr-xr-x 2 root root 1024 May 3 01:44 rc0.d drwxr-xr-x 2 root root 1024 May 3 01:44 rc1.d drwxr-xr-x 2 root root 1024 May 3 01:44 rc2.d drwxr-xr-x 2 root root 1024 May 10 09:47 rc3.d drwxr-xr-x 2 root root 1024 May 3 01:44 rc4.d drwxr-xr-x 2 root root 1024 May 3 01:44 rc5.d drwxr-xr-x 2 root root 1024 May 3 01:44 rc6.d Trong caùc thö muïc rc?.d, caùc script baét ñaàu baèng S (start) ñöôïc söû duïng khi khôûi ñoäng, coøn caùc script baét ñaàu töø K (kill) duøng ñeå döøng caùc tieán trình tröôùc khi qua moät möùc hoaït ñoäng khaùc. Toaøn boä caùc taäp tin naøy quyeát ñònh caáu hình laøm vieäc cuûa moät maùy Unix sau khi hoaøn thaønh quaù trình khôûi ñoäng. Vieäc khôûi ñoäng heä thoáng caùc dòch vuï cuõng thöïc hieän thoâng qua cô cheá nhö ñaõ mieâu taû treân. Leänh init soá_möùc cho pheùp chuyeån giöõa caùc möùc cuûa heä thoáng. Ví duï [root@proxy /etc/rc.d]# init 1 cho pheùp chuyeån heä thoáng töø möùc hieän haønh qua möùc 1 ñeå söûa chöõa. Sau ñoù init 3 cho pheùp quay veà möùc 3 ña ngöôøi duøng. Khi chuùng ta ñaùnh leänh shutdown, toaøn boä heä thoáng chuyeån veà möùc 0 vaø chuùng ta döøng heä thoáng. Chuù yù luoân shutdown hay halt heä thoáng tröôùc khi taét coâng taéc ñieän. V. Quaûn lyù ngöôøi söû duïng : Trong quaù trình caøi ñaët Linux chuùng ta khôûi taïo ngöôøi söû duïng root cho heä thoáng. Ñaây laø superuser, töùc laø ngöôøi söû duïng ñaëc bieät vaø khoâng coù giôùi haïn naøo veà quyeàn haïn ñoái vôùi root. Söû duïng quyeàn root chuùng ta raát thaáy thoaûi maùi vì chuùng ta coù theå laøm ñöôïc thao taùc maø khoâng phaûi lo laéng gì ñeát xeùt quyeàn truy caäp naøy hay khaùc. Tuy nhieân, khi heä thoáng bò söï coá do moät loãi laàm naøo ñoù, chuùng ta môùi thaáy söï nguy hieåm khi laøm vieäc nhö root. Baïn thöû hình dung toaøn boä caùc Email cuûa moät mail server cuûa toaøn coâng ty bò xoùa do ñaùnh moät leänh sai thì taùc haïi seõ lôn ñeán möùc naøo ( ñöøng ñeán gaëp tröïc tieáp giaùm ñoác khi baùo tin naøy maø neân thoâng baùo qua ñieän thoaïi ñeå traùnh moät caùi … baït tai, L). Vì vaäy, haõy chæ duøng quyeàn root khi baïn khoâng coù caùch naøo khaùc. Caàn phaân bieät baïn ñang login nhö root hay ngöôøi söû duïng thöôøng thoâng qua daáu nhaéc cuûa shell. login: tnminh Password: Last login: Sat Oct 28 14:30:15 from 172.16.10.199 [tnminh@pascal tnminh]$ su –l root Password: [root@pascal /root]# Doøng 4 vôùi daáu $ cho thaáy ta ñang keát noái nhö moät ngöôøi söû duïng thöôøng (tnminh). Doøng cuoái cuøng vôùi daáu # cho thaáy baïn ñang thöïc hieän caùc leänh nhö root. Leänh su cho pheùp baïn thay ñoåi login döôùi moät user khaùc maø khoâng phaûi logout roài login laïi. Baïn caàn taïo caùc taøi khoaûn (account) cho ngöôøi söû duïng thöôøng sôùm nhaát coù theå ñöôïc (ñaàu tieân laø cho baûn thaân baïn). Vôùi nhöõng server quan troïng vaø coù nhieàu dòch vuï khaùc nhau, thaäm trí baïn coù theå taïo ra caùc superuser thích hôïp cho töøng dòch vuï ñeå traùnh duøng root cho caùc coâng taùc naøy. Ví duï nhö superuser cho coâng taùc backup chæ caàn chöùc naêng ñoïc (read-only) maø khoâng caàn chöùc naêng ghi. Taäp tin /etc/passwd. Taäp tin /etc/passwd ñoùng moät vai troø soáng coøn ñoái vôùi moät heä thoáng Unix. Moïi ngöôøi ñeàu coù theå ñoïc ñöôïc taäp tin naøy nhöng chæ coù root môùi coù quyeàn thay ñoåi noù. Taäp tin /etc/passwd ñöôïc löu döôùi daïng text hieån nhö ñaïi ña soá caùc taäp tin caáu hình cuûa Unix. [oracle@appserv oracle]$ more /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: ... tnminh:x:501:501:TNMinh:/home/tnminh:/bin/bash Moãi user ñöôïc löu trong moät doøng goàm 7 coät. Coät 1 : teân ngöôøi söû duïng Coät 2 : maõ lieân quan ñeán passwd cho Unix chuaån vaø ‘x’ ñoái vôùi Linux. Linux löu maõ naøy trong moät taäp tin khaùc /etc/shadow maø chæ coù root môùi coù quyeàn ñoïc. Coät 3:4 : user ID:group ID Coät 5: Teân ñaày ñuû cuûa ngöôøi söû duïng. Moät soá phaàn meàm phaù password söû duïng döõ lieäu cuûa coät naøy ñeå thöû ñoaùn password. Coät 6: thö muïc caù nhaân Coät 7: chöông trình seõ chaïy ñaàu tieân sau khi login (thöôøng laø shell) cho user Taäp tin môû ñaàu bôûi superuser root. Chuù yù laø taát caû nhöõng user coù user ID = 0 ñeàu laø root!!! Tieáp theo laø caùc user heä thoáng. Ñaây laø caùc user khoâng coù thaät vaø khoâng theå login vaøo heä thoáng. Cuoái cuøng laø caùc user bình thöôøng. Taäp tin /etc/shadow. Unix truyeàn thoáng löu caùc thoâng tin lieân quan tôùi maät khaåu ñeå ñaêng nhaäp (login) ôû trong /etc/passwd. Tuy nhhieân, do ñaây laø taäp tin phaûi ñoïc ñöôïc bôûi taát caû moïi ngöôøi do moät soá yeâu caàu cho hoaït ñoäng bình thöôøng cuûa heä thoáng (nhö chuyeån User ID thaønh teân khi hieån thò trong leänh ls chaúng haïn) vaø nhìn chung caùc user ñaët maät khaåu “yeáu”, do ñoù haàu heát caùc Unix phieân baûn môùi ñeàu löu maät khaåu trong moät taäp tin khaùc /etc/shadow vaø chæ co root ñöôïc quyeàn ñoïc taäp tin naøy. Chuù yù: Theo caùch xaây döïng maõ hoùa maät khaåu, chæ coù 2 caùch phaù maät khaåu laø veùt caïn (brute force) vaø ñoaùn. Phöông phaùp veùt caïn, theo tính toaùn chaët cheõ, laø khoâng theå thöïc hieän noåi vì ñoøi hoûi thôøi gian tính toaùn quaù lôùn, coøn ñoaùn thì chæ tìm ra nhöõng maät khaåu ngaén, hoaëc “yeáu”, ví duï nhö nhöõng töø tìm thaáy trong töø ñieån nhö god, darling ... Taïo user (account) môùi : Ñeå taïo moät moät account, baïn coù theå söû duïng leänh adduser (hoaëc useradd tuøy vaøo phieân baûn). Taát nhieân laø baïn phaûi laøm thao taùc naøy döôùi quyeàn root (daáu nhaéc #) [root@appserv oracle]# /usr/sbin/adduser foo [root@appserv oracle]# passwd foo Changing password for user foo New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully [root@appserv oracle]# Sau khi baïn taïo xong user bôûi doøng ñaàu tieân cuûa ví duï treân, user foo vaãn chöa keát noái ñöôïc vì thieáu password. Baïn phaûi khôûi taïo password cho foo bôûi leänh passwd foo nhö thaáy ôû treân. Vì vaán ñeà an ninh cuûa maùy Unix naøy vaø keùo theo söï an toaøn cuûa toaøn heä thoáng maïng cuûa baïn, raát quan troïng choïn ñuùng password. Moät password goïi laø ñuùng neáu : Coù ñoä daøi toái thieåu 8 kyù töï.ï Phoái hôïp giöõa chöõ thöôøng, chöõ hoa, soá vaø caùc kyù töï ñaëc bieät Khoâng lieân quan ñeán teân tuoåi, ngaøy sinh … cuûa baïn vaø ngöôøi thaân Khoâng coù trong töø ñieån Trong ví duï treân, baïn khôûi taïo ngöôøi duøng vaø khoâng quan taâm gì ñeán nhoùm (group) cuûa ngöôøi duøng. Raát tieän lôïi neáu baïn taäp hôïp nhieàu ngöôøi duøng vaøo chung moät nhoùm coù cuøng moät chöùc naêng vaø cuøng chia seû nhau döõ lieäu. Khi baïn taïo ngöôøi söû duïng nhö treân, Linux seõ taïo cho moãi ngöôøi moät nhoùm. Ñoïc taäp tin /etc/passwd ta thaáy [root@appserv oracle]# more /etc/passwd|grep foo foo:x:1012:1013::/home/foo:/bin/bash [root@appserv oracle]# foo laø user soá 1012 vaø thuoäc nhoùm 1013. Xem taäp tin /etc/group ta thaáy [root@appserv oracle]# more /etc/group root:x:0:root ………………. users:x:100: ……………… foo:x:1013: vaø ta coù theå keát naïp foo vaøo nhoùm users baèng caùch thay soá 1013 baèng 100, laø group ID cuûa users. Xoùa user (account) : Leänh userdel duøng ñeå xoùa moät user. Baïn cuõng coù theå xoùa moät user baèng caùch xoùa ñi doøng döõ lieäu töông öùng trong taäp tin /etc/passwd. VI. Quyeàn truy caäp cuûa tieán trình. Setuid vaø setgid. Ngöôøi söû duïng khi thao taùc treân heä thoáng vaø truy caäp caùc taäp tin ñeàu thöïc hieän thoâng qua caùc tieán trình. Nhìn chung caùc tieán trình seõ coù quyeàn nhö ngöôøi söû duïng noù. User foo khi ñaùnh leänh more /etc/passwd seõ goïi leân boä nhôù tieán trình more vaø tieán trình seõ hieån thò t noäi dung cuûa /etc/passwd. Tieán trình more naøy seõ coù quyeàn truy caäp nhö foo vaø do /etc/passwd cho pheùp taát caû ñeàu ñoïc ñöôïc vaø leänh naøy thöïc hieän thaønh coâng. Tuy nhieân more /etc/shadow seõ khoâng thaønh coâng vì vôùi quyeàn cuûa foo, tieán trình more khoâng theå hieån thò noäi dung cuûa /etc/shadow. Nhö ta bieát, ngöôøi söû duïng coù theå thay ñoåi maät khaåu cuûa baûn thaân mình thoâng qua leänh passwd. Neáu vaãn theo cô cheá treân, leänh passwd seõ coù quyeàn nhö ngöôøi goïi noù vaø do ñoù khoâng coù quyeàn ghi vaøo taäp tin /etc/shadow. Ñeå giaûi quyeát nhöõng yeâu caàu laø coù nhöõng thao taùc ngöôøi söû duïng caàn coù quyeàn root, Unix ñaët ra cô cheá setuid/setgid cho caùc chöông trình. Theo cô cheá naøy, chöông trình khi ñöôïc ngöôøi söû duïng (goïi laø real user) goïi leân boä nhôù seõ coù quyeàn nhö ngöôøi sôû höõu cuûa taäp tin chöông trình (goïi laø effective user). Ví duï neáu ta coi chöông trình passwd ta seõ thaáy [tnminh@backup tnminh]$ ls -l /usr/bin/passwd -r-s--x--x 1 root root 13536 Jul 12 2000 /usr/bin/passwd [tnminh@backup tnminh]$ Chöông trình naøy coù sôû höõu laø root vaø coù moät kyù töï “s” ñöùng vaøo vò trí cuûa “x”. Kyù töï naøy noùi leân raèng passwd ñöôïc setuid vaø cho duø ai goïi passwd leân boä nhôù, passwd seõ coù quyeàn root. Hoaøn toaøn töông töï ñoái vôùi setgid. Chuù yù: Treân quan ñieåm baûo maät heä thoáng, caùc chöông trình coù setuid veà quyeàn root laø nhöõng ñieåm quan troïng caàn xem xeùt vì ña soá caùc xaâm nhaäp heä thoáng lieân quan tôùi loãi cuûa caùc chöông trình loaïi naøy. VII. Keát noái maïng thoâng qua TCP/IP: Chuùng ta seõ xem xeùt quaù trình noái moät maùy Linux vaøo maïng Ethernet ñeå trao ñoåi thoâng tin baèng giao thöùc TCP/IP treân Ethernet. VII.1. HDH Linux vaø card maïng: Ñeå noái moät maùy Linux vaøo moät maïng Ethernet, baïn caàn phaûi coù ñaàu tieân laø moät card maïng maø Linux ñaõ coù chöông trình driver. Sau ñaây laø moät soá maïng maø Linux coù trôï giuùp (danh saùch sau khoâng ñaày ñuû vaø caùc phieân baûn môùi cuûa Linux hoã trôï raát nhieáu caùc card maïng khaùc nhau) : 3Com 3C509 3Com 3C503/16 Novell NE1000 Novell NE2000 Western Digital WD8003 Western Digital WD8013 Hewlett-Packard HP27245 Hewlett-Packard HP27247 Hewlett-Packard HP27250 Giaû söû caùc baïn muoán gaén maùy cuûa mình vaøo moät maïng LAN Ethernet vaø baïn ñaõ coù moät card maïng. Vaán ñeà ñaàu tieân laø söï nhaän bieát cuûa Linux ñoái vôùi card naøy. Neáu card cuûa baïn laø moät card khaù phoå bieán nhö 3c509 cuûa 3COM hay NE2000 cuûa Novell, HDH Linux seõ nhaän bieát söï hieän dieän cuûa card trong quaù trình boot. Ñeå bieát xem keát quaû nhaän bieát card maïng, ta coù theå xem xeùt caùc thoâng baùo cuûa kernel Linux trong quaù trình boot cuûa heä thoáng qua leäng dmesg Freeing unused kernel memory: 60k freed Adding Swap: 72572k swap-space (priority -1) eth0: 3c509 at 0x300 tag 1, BNC port, address 00 a0 24 4f 3d dc, IRQ 10. 3c509.c:1.16 (2.2) 2/3/98 becker@cesdis.gsfc.nasa.gov. eth0: Setting Rx mode to 1 addresses. Hai doøng in ñaäm baùo raèng card maïng 3c509 ñaõ ñöôïc kernel nhaän bieát. Trong tröôøng hôïp kernel khoâng nhaän bieát card L, chuùng ta phaûi laøm laïi kernel Linux vaø ñaët module ñieàu khieån (driver) cuûa card vaøo trong kernel hay caáu hình ôû cheá ñoä load module. Ñeå caáu hình tieáp noái maïng qua TCP/IP chuùng ta phaûi xaùc ñònh roõ caùc thoâng tin lieân quan ñeán ñòa chæ IP cuûa maùy. Caùc thoâng tin caàn bieát laø : Ñòa chæ IP cuûa maùy Netmask Ñòa chæ cuûa maïng Broadcast Ñòa chæ IP cuûa gateway Chuùng ta seõ laàn löôït ñieåm qua caùc khaùi nieäm cô baûn treân vaø seõ hoïc saâu hôn trong phaàn TCP/IP cuûa khoùa hoïc. Ñòa chæ IP cuûa maùy laø moät daõy 4 soá vieát döôùc daïng A.B.C.D, trong ñoù moãi soá nhaän giaù tri töø 0-255. Neáu maùy cuûa baïn keát noái moät maïng nhoû taïi nhaø do baïn thieát laäp thì ñòa chæ kieåu 192.168.1.D laø moät ñòa chæ neân ñaët, vôùi D laø caùc soá khaùc nhau cho töøng maùy. Neáu maùy cuûa baïn seõ hoøa nhaäp vôùi moät maïng LAN ñaõ coù tröôùc ñoù vaø baïn muoán keát noái vôùi caùc maùy khaùc thì hoûi ngöôøi quaûn trò maïng veà ñòa chæ IP baïn coù theå gaùn cho maùy cuûa mình cuøng vôùi taát caû caùc thoâng soá tieáp theo. Netmask. Töông töï nhö treân, neáu baïn töï quaûn, netmask seõ laø 255.255.255.0 Ñòa chæ maïng. Neáu baïn töï quaûn, ñòa chæ cuûa maïng seõ laø 192.168.1.0 Broadcast. Neáu baïn töï quaûn, broadcast laø 192.168.1.255 Ñòa chæ gateway. Ñaây laø ñòa chæ cuûa maùy cho pheùp baïn keát noái vôùi maïng LAN khaùc, töùc laø caùc maùy tính vôùi 3 soá ñaàu cuûa ñòa chæ khoâng gioáng baïn laø 192.168.1. Baïn boû troáng neáu baïn chæ lieân laïc vôùi caùc maùy cuøng maïng 192.168.1.XXX. Chuù yù laø ñòa chæ maïng cuûa maùy gateway baét buoäc phaûi truøng vôùi ñòa chæ maïng cuûa baïn. Sau khi ñaõ xaùc ñònh caùc thoâng soá, ví duï nhö IP address = 192.168.1.15 Netmask = 255.255.255.0 suy ra network address = 192.168.1.0 vaø broadcast = 192.168.1.255 Gateway = 192.168.1.1 VII.2. Caáu hình card maïng: Ø Leänh ifconfig. Sau khi laøm cho kernel nhaän bieát söï hieän dieän cuûa card maïng, coâng taùc tieáp theo laø caáu hình TCP/IP cho card. Trong quaù trình caøi ñaët Linux Redhat 6.X, bình thöôøng chuùng ta ñaõ ñöôïc chöông trình caøi ñaët hoûi vaø caáu hình hoä . Trong tröôøng hôïp khi chuùng ta boå sung card maïng sau khi Linux ñaõ ñöôïc caøi ñaët, chuùng ta coù theå söû duïng tieän ích netconf cho muïc ñích naøy hoaëc chuùng ta söû duïng leänh ifconfig ñeå töï caøi ñaët. Leänh ifconfig ñöôïc söû duïng trong quaù trình boot heä thoáng ñeå caáu hình caùc trang thieát bò maïng. Sau ñoù, trong quaù trình vaän haønh, ifconfig ñöôïc söû duïng cho debug, hoaëc ñeå cho ngöôøi quaûn trò heä thoáng thay ñoåi caáu hình khi caàn thieát . Leänh ifconfig khoâng coù tuøy choïn duøng ñeå hieån thò caáu hình hieän taïi cuûa maùy. [root@pasteur tnminh]# /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:A0:24:4F:3D:DC inet addr:192.168.2.20 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:531 errors:4 dropped:0 overruns:0 frame:4 TX packets:1854 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:10 Base address:0x300 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:1179 errors:0 dropped:0 overruns:0 frame:0 TX packets:1179 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 Ñeå gaùn ñòa chæ IP 193.105.106.10 cho card maïng Ethernet ñaàu tieân ta duøng leänh ifconfig eth0 193.105.106.10 netmask 255.255.255.0 broadcast 192.105.106.255 Linux cho pheùp baïn söû duïng bí danh (alias) cho card maïng, töùc laø cho pheùp baïn coù nhieàu ñòa chæ IP cho cuøng moät card vaät lyù. Keát quaû nhaän ñöôïc gaàn gioáng nhö baïn coù gaén nhieàu card vaät lyù leân maùy. Do ñoù, baïn coù theå duøng moät card ñeå noái vôùi nhieàu maïng logic khaùc nhau. Cuù phaùp cuûa leänh naøy laø : ifconfig eth0:0 208.148.45.58 netmask 255.255.255.248 broadcast 208.148.45.255 up Caùc taäp tin caáu hình cuûa keát noái maïng laø /etc/sysconfig/network-scripts/ifcfg-ethX vôùi X laø 0,1 ... hay 0:0, 0:1 .... Baïn coù theå thay ñoåi caáu hình keát noái maïng baèng caùch söûa ñoåi laïi taäp tin naøy baèng moät chöông trình soaïn thaûo text nhö mc chaúng haïn, sau ñoù khôûi ñoäng laïi keát noái maïng baèng /etc/rc.d/init.d/network restart Nhôù kieåm tra laïi keát quaû qua leänh ifconfig. Ø Leänh route. Leänh Route cho pheùp laøm caùc thao taùc ñeán baûng daãn ñöôøng (forwarding table) cuûa kernel. Noù ñöôïc söû ñaàu tieân ñeå xaùc ñònh ñöôøng daãn coá ñònh (static) ñeán nhöõng maùy hoaëc nhöõng maïng qua caùc card maïng ethernet ñaõ ñöôïc caáu hình tröôùc ñoù bôûi ifconfig. Leänh route khoâng coù tuøy choïn (option) cho pheùp hieån thò baûng daãn ñöôøng hieän taïi cuûa kernel (Leänh netstat –r cuõng coù taùc duïng töông töï) [root@pasteur tnminh]# /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.20 * 255.255.255.255 UH 0 0 0 eth0 192.168.2.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.2.10 0.0.0.0 UG 0 0 0 eth0 Ñeå chæ ra raèng card maïng eth0 ñöôïc noái vôùi moät maïng 208.148.45.56 ta duøng leänh route nhö sau : route add -net 208.148.45.56 eth0 Coøn neáu chuùng ta muoán söû duïng bí danh cuûa card maïng ñeå noái vaøo moät maïng logic khaùc, ta coù theå söû duïng leänh route add -net 193.105.106.0 eth0:0 Coâng taùc cuoái cuøng laø phaûi chæ ra caùc ñòa chæ cuûa gateway maëc ñònh. route add default gw 193.105.106.1 metric 1 Bieát söû duïng thaønh thaïo cuù phaùp cuûa 2 leänh ifconfig vaø route raát quan troïng, noù cho pheùp caùc caùn boä quaûn trò thay ñoåi caáu hình keát noái maïng cuûa moät server moät caùch nhanh choùng vaø khoâng phaûi khôûi ñoäng laïi maùy. Vì vaäy, server luoân saün saøng. Baïn cuõng coù theå söû duïng tieän ích netconfig ñeå caáu hình lieân keát maïng neáu chöa thaønh thaïo nhieàu cuù phaùp cuûa caùc leänh treân. Ø Leänh ping. ÖÙng duïng cuûa leänh naøy laø ñeå thöû xem 2 maùy coù keát noái ñöôïc vôùi nhau chöa. Cuù phaùp cô baûn cuûa leänh raát ñôn giaûn laø ping ñòa_chæ_IP_maùy_ñích. Ví duï nhö [tnminh@proxy tnminh]$ ping sun PING sun.vnuhcm.edu.vn (172.16.1.4): 56 data bytes 64 bytes from 172.16.1.4: icmp_seq=0 ttl=255 time=0.1 ms 64 bytes from 172.16.1.4: icmp_seq=1 ttl=255 time=0.2 ms 64 bytes from 172.16.1.4: icmp_seq=2 ttl=255 time=0.1 ms 64 bytes from 172.16.1.4: icmp_seq=3 ttl=255 time=0.1 ms --- sun.vnuhcm.edu.vn ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.1/0.1/0.2 ms [tnminh@proxy tnminh]$ Neáu 2 maùy coù theå lieân laïc ñöôïc vôùi nhau, ñoàng thôøi chuùng ta seõ coù traû lôøi cuøng vôùi thôøi gian traû lôøi ñeå cho bieát söï thoâng thoaùng veà maïng giöõa 2 maùy. Coù theå noùi, ping phaûi chaïy tröôùc tieân tröôùc taát caû caùc hoaït ñoäng maïng khaùc. Chuù yù: Neân söû duïng ping –n ñeå traùnh truïc traëc do dòch vuï DNS laøm aûnh höôûng tôùi vieäc keát quaû thöû keát noái maïng. Ø Leänh Traceroute. Ñaây cuõng laø leänh cho pheùp chaån ñoaùn hoaït ñoäng cuûa maïng. Cuù phaùp cuûa leänh gioáng nhö leänh ping nhöng keát quaû khoâng chæ döøng ôû söï traû lôøi maø coøn chæ ra caùc thieát bò trung gian naèm giöõa 2 maùy. # tnminh@nefertiti ~ > traceroute 203.162.44.33 traceroute to 203.162.44.33 (203.162.44.33): 1-30 hops, 38 byte packets 1 makeda.pasteur.fr (157.99.64.3), 1.66 ms, 1.66 ms, 1.66 ms 2 418.ATM4-0.GW21.Defense.OLEANE.NET (195.25.28.149), 5.0 ms, 4.17 ms, 4.17 m 3 FastEth0-0.GW16.Defense.OLEANE.NET (195.25.25.208), 4.17 ms, 4.17 ms, 4.17s 4 100.ATM6-1.GW2.Telehouse.OLEANE.NET (194.2.3.245), 5.0 ms, 5.0 ms, 5.0 ms .............. 14 210.132.93.210 (210.132.93.210), 849 ms (ttl=241!), 807 ms (ttl=241!), 970 s (ttl=241!) 15 202.167.121.195 (202.167.121.195), 905 ms !H 203.162.3.42 (203.162.3.42), 1 88 ms (ttl=242!) Chuù yù laø khi chuùng ta thöû keát noái vôùi moät maùy ôû xa trong Internet, do nhieàu maïng aùp duïng caùc böùc töôøng löûa (firewall) neân nhieàu khi leänh ping vaø traceroute khoâng chaïy nhöng treân thöïc chaát laø maïng vaãn thoâng. VIII. X-Window. X-window (chuù yù window khoâng coù “s” nhö Windows cuûa Miscrosoft) laø giao dieän ñoà hoïa cuûa Unix. X Window System ñöôïc phaùt trieån taïi Laboratory for Computer Science, Massachusetts Institute of Technology vaøo 1984. Tuy nhieân, do Unix laøheä ñieàu haønh maïng neân phöông thöùc hoaït ñoäng cuûa X-widow cuõng khaùc haún Windows cuûa Microsoft. Cô cheá hoaït ñoäng cuûa Xwindow ñöôïc mieâu taû trong sô ñoà sau: Xserver (XF86-SVGA) Xclient (netscape, xterm) User------- Maùy traïm WS <------ maïngTCP/IP------à Maùy chuû S (maøn hình, baøn phím, chuoät) Tham gia vaøo moâ hình X window coù chöông trình X server vaø X client. Nhìn chung, X server laø chöông trình chaïy treân maùy traïm laøm vieäc WS cuûa ngöôøi söû duïng, coøn X client chaïy treân maùy chuû S naèm xa ngöôøi söû duïng. Chöông trình Xserver treân maùy traïm chòu traùch nhieäm quaûn lyù taøi nguyeân cuûa maùy traïm (maøn hình, baøn phím, chuoät) vaø thöïc hieän giao tieáp giöõa ngöôøi söû duïng vaø chöông trình X client chaïy treân maùy chuû (noùi chung laø ôû xa nhöôøi söû duïng). Keát noái giöõa X server vaø Xclient coù theå thöïc hieän hoaøn toaøn treân TCP/IP qua maïng LAN cuõng nhö WAN. Moät Xserver coù theå cho pheùp “hieån thò” nhieàu Xclient ôû nhieàu maùy khaùc nhau vaø ñoù laø öu ñieåm cô baûn cuûa Xwindow. Xserver “nghe” taïi coång 6000 vaø Xclient môû moät keát noái töø moät coång naøo ñoù (lôùn hôn 1023) veå coång 6000 cuûa Xserver. Tröôùc khi keát noái, Xserver phaûi cho pheùp Xclient ñöôïc quyeàn keát noái thoâng qua leänh xhost +ñòa_chæ_maùy_Xclient treân maøn hình cuûa Xserver. Ñeå Xclient bieát phaûi hieån thò ñi ñaâu, ta caàn thay ñoåi bieán moâi tröôøng DISPLAY treân maùy coù Xclient qua leänh export DISPLAY=ñòa_chæ_maùy_Xserver:0.0. Sau ñoù goïi chöông trình Xclient, ví duï xterm & hay netscape & (chuù yù daáu & ôû cuoái cho pheùp chöông trình chaïy background). Nhöõng coâng taùc treân thöïc chaát phaûi laøm ñeå caáu hình moät Xserver laø : Xaùc ñònh nhaø saûn xuaát, phieân baûn cuûa video controller. Qua ñoù xaùc ñòng ñöôïc chöông trình Xserver. Trong nhieàu tröôøng hôïp, XF86-SVGA laø töông thích. Xaùc ñònh maøn hình ñeå qua ñ1o xaùc ñònh caùc thoâng soá veà toác ñoä queùt doïc vaø ngang cuûa maøn hình Xaùc ñònh ñoä phaân giaûi cuûa maøn hình, ña soá laø 800x600 hay 1024x768 Ngöôøi söû duïng löïa choïn chöông trình quaûn lyù cöûa soå (Window Manager). Söï löïa choïn naøy phuï thuoäc vaøo sôû thích laø chính. KDE vaø GNOME laø 2 löïa choïn chính cuûa Linux. Raát may maén laø vieäc caøi ñaët giao dieän Xwindow treân Linux hieän nay ñaõ ñöôïc töï ñoäng hoùa raát nhieàu. Trong tröôøng hôïp coù truïc traëc, leänh X –probeonly >/tmp/test 2>&1 cho pheùp chuùng ta ghi laïi toaøn boä caùc thoâng baùo cuûa Xserver vaøo taäp tin /tmp/test vaø duøng cho xem xeùt tìm nguyeân nhaân truïc traëc cuûa Xserver. Ta thöû xem trong ví duï sau: [root@backup X11]# more /tmp/t XFree86 Version 3.3.6a / X Window System ...... Configured drivers: SVGA: server for SVGA graphics adaptors (Patchlevel 1): (teân Xserver) s3_savage, NV1, STG2000, RIVA 128, RIVA TNT, RIVA TNT2, ... danh saùch caùc video controller maø Xserver hoã trôï ..... ct65550, ct65554, ct65555, ct68554, ct69000, ct64200, ct64300, mediagx, V1000, V2100, V2200, p9100, spc8110, i740, i740_pci, Voodoo Banshee, Voodoo3, i810, i810-dc100, i810e, smi, generic XF86Config: /usr/X11R6/lib/X11/XF86Config (taäp tin caáu hình) (**) stands for supplied, (--) stands for probed/default values (**) XKB: keycodes: "xfree86" ...... (**) Mouse: zaxismapping: (-)4 (+)5 (**) SVGA: Graphics device ID: "Cirrus Logic GD5480" (Xserver nhaän daïng ñöôïc video controller – Ñaëc bieät quan troïng) (**) SVGA: Monitor ID: "My Monitor" ........ (**) SVGA: Using 16 bpp, Depth 16, Color weight: 565 (ñoä phaân giaûi maøn hình) (--) SVGA: Maximum allowed dot-clock: 100.000 MHz (**) SVGA: Mode "800x600": mode clock = 40.000, clock used = 39.991 ........ Tieän ích Xconfigurator cuõng coù theå giuùp ích cho baïn. Taát caû caáu hình cuûa Xserver ñöôïc ghi laïi trong taäp tin text /etc/X11/XFConfig. Baïn coù theå töï thay ñoåi caùc thoâng soá trong naøy neáu hieåu roõ yù nghóa cuûa chuùng. IX. Theo doõi hoaït ñoäng cuûa heä thoáng. Tieän ích syslog. Syslog laø tieän ích cuûa Unix cho pheùp ghi nhaän laïi moät caùch taäp trung vaø chuaån (giöõa caùc Unix) hoaït ñoäng cuûa heä thoáng caùc dòch vuï vaø thoâng baùo cuûa kernel. Thoâng qua syslog, ta coù theå: Xem thoâng baùo loãi khi khôûi ñoäng moät chöông trình dòch vuï, qua ñoù coù theå söûa ñoåi laïi caáu hình cho thích hôïp Xem xeùt laïi nhöõng gì ñaõ xaûy ra, dòch vuï naøo ñaõ khôûi ñoäng laïi, nhöõng ai ñaõ thöïc hieän keát noái taïi thôøi ñieåm naøo ... Vieát chöông trình dòch vuï vaø göûi ñeán syslog caùc thoâng baùo nhaèm ghi laïi hoaït ñoäng cuûa chöông trình cuûa mình. Ñeå thöïc hieän caùc chöùc naêng keå treân, syslog coù moät tieán trình server syslogd thöôøng ñöôïc khôûi ñoäng cuøng vôùi heä thoáng. Chöông trình syslogd naøy ñoïc taäp tin caáu hình /etc/syslog.conf ñeå xaùc ñònh phaûi ghi laïi nhöõng gì vaø ôû ñaâu. Ta thöû coi /etc/syslog.conf (moïi user ñeàu coù theå ñoïc taäp tin naøy) [tnminh@backup X11]$ cat /etc/syslog.conf # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* /var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages, plus log them on another # machine. *.emerg * # Save mail and news errors of level err and higher in a # special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # Receive log from center router local0.* /var/log/router [tnminh@backup X11]$ Hai khaùi nieäm caàn bieát ñeå hieåu taäp tin naøy laø facility vaø priority. Facility chính laø danh saùch caùc dòch vuï coù theå log. Priority bieåu thò caáp ñoä nghieâm troïng cuûa thoâng baùo. Cuù phaùp trong taäp tin /etc/syslog laø facility.priority. Coät beân phaûi xaùc ñònh ñòa chæ ghi log. /etc/log/maillog laø taäp tin ghi laïi thoâng baùo cuûa mail.*; daáu “*” aùm chæ thoâng baùo seõ ñöôïc hieän ra ôû taát caû caùc maøn hình cuûa caùc user; @maùy_khaùc cho pheùp göûi thoâng baùo tôùi syslogd cuûa maùy khaùc; |chöông_trình_xöû_lyù cho pheùp göûi thoâng baùo qua pipe “|” tôùi chöông_trình_xöû_lyù... Syslog facilities: Name Facility Kern Kernel User Regular user processes Mail Mail system Lpr Line printer system auth Authorization system, or programs that ask for user names and passwords (login, su, getty, ftpd, etc.) daemon Other system daemons news News subsystem uucp UUCP subsystem local0... local7 Reserved for site-specific use mark A timestamp facility that sends out a message every 20 minutes syslog Priorities Priority Meaning emerg Emergency condition, such as an imminent system crash, usually broadcast to all users Alert Condition that should be corrected immediately, such as a corrupted system database Crit Critical condition, such as a hardware error Err Ordinary error warning Warning notice Condition that is not an error, but possibly should be handled in a special way Info Informational message debug Messages that are used when debugging programs None Do not send messages from the indicated facility to the selected file. For example, specifying *.debug;mail.none sends all messages except mail messages to the selected file. Chuù yù neáu ta log moät priority thì ta seõ log toaøn boä priorities coù ñoä nghieâm troïng cao hôn. Ví duï neáu trong /etc/syslog coù mail.info thì taát caû mail.notice hay mail.emerg ñeàu ñöôïc log. Vôùi moät maùy chuû baän roän, taäp tin log phình to raát nhanh vaø chuùng ta ñöùng tröôùc moät baøi toaùn laø ñoàng thôøi phaûi giöõ log laâu nhaát coù theå ñöôïc ñeå ñeà phoøng söï coá vaø xoùa log ñeå coù khoâng gian ñóa cho maùy hoaït ñoäng. Logrotate laø moät tieän ích giuùp cho nhaø quaûn trò xoay voøng (rotate), neùn (compact) vaø göûi mail thoâng tin log. Logrotate ñoïc taäp tin caáu hình /etc/logrotate.conf ñeå bieát chu kyø quay voøng vaø caùc thoâng tin khaùc. Ví duï sau # sample logrotate configuration file errors sysadmin@my.org compress /var/log/messages { rotate 5 weekly postrotate /sbin/killall -HUP syslogd endscript } cho thaáy taäp tin /var/log/message ñöôïc löu vaø quay voøng 5 tuaàn. Leänh /sbin/killall –HUP syslogd cho pheùp khôûi taïo laïi taäp tin /var/log/message vì taäp tin cuõ ñaõ bò ñoåi tin vaø neùn. X. Caøi ñaët RedHat Linux. RedHat laø moät Linux distributor phoå bieán nhaát hieän nay. RedHat löïa choïn phieân baûn kernel cuûa Linux vaø caùc chöông trình dòch vuï khaùc ñoùng thaønh caùc goùi (taäp tin coù phaàn môû roäng .rpm) vaø löu vaøo moät hoaëc hai ñóa CDROM. Phieân baûn cuoái cuøng cuûa Redhat Linux hieän nay laø 7.1 vôùi kernel 2.4.2-2. Caùc ñóa CDROM cuûa RedHat ñeàu coù theå duøng ñeå boot maùy vaø ñieàu naøy laøm ñôn giaûn raát nhieàu quaù trình caøi ñaët RedHat Linux. Coù theå mieâu taû sô löôïc caùc böôùc caàn phaûi qua khi caøi ñaët RedHat Linux laø 1. söûa caáu hình maùy ñeå boot töø oå CDROM 2. Ñaët ñóa soá 1 cuûa RedHat Linux vaøo oå CDROM vaø khôûi ñoäng laïi maùy 3. Löïa choïn moät phöôngphaùp caøi ñaët, ví duï text 4. löïa choïn kieåu caøi ñaët , server hay traïm laøm vieäc hay custom 5. Chia laïi oå ñóa cöùng 6. löïc choïn caùc goùi seõ caøi ñaët 7. ñeå cho chöông trình caøi ñaët Linux töï laøm vieäc 8. thöïc hieän moät soá caáu hình neáu coù yeâu caàu hieån thò treân maøn hình. Sau khi Linux ñöôïc caøi xong, ta coù theå theâm bôùt caùc goùi (package) vaøo/ra heä thoáng thoâng qua tieän ích rpm (Redhat Package Manager). Caùc goùi cuûa RedHat thöôøng naèm trong thö muïc RPMS cuûa CDROM. Ñeå caøi moät goùi X, ta duøng leänh rpm -i [install-options] + Caùc taäp tin cuûa goùi X seõ ñöôïc rpm ñaët vaøo caùc vò trí quy ñònh ñaûm baûo cho söï hoaït ñoäng cuûa dòch vuï X. Trong moät soá tröôøng hôïp chuùng ta muoán caøi “ñeø” leân goùi ñaõ caøi tröôùc vaø coù truïc traëc. Khi ñoù option --force cho pheùp thay goùi cuõ baèng goùi môùi. Leänh rpm -e + cho pheùp xoùa moät goùi ñaõ caøi ñaët. Ngoaøi ra rpm coøn cho pheùp xem xeùt tính toaøn veïn cuûa moät chöông trình, naâng caáp moät dòch vuï, lieät keâ caùc taäp tin trong moät goùi hoaëc chæ ra goùi chöùc moät taäp tin ... Ñaây laø moät coâng cuï raát maïnh cho pheùp quaûn trò moät maùy Linux. Baïn ñoïc coù theå ñoïc manpage cuûa rpm ñeå bieát theâm.

Các file đính kèm theo tài liệu này:

  • docNhập môn hệ điều hành Linux.DOC
Tài liệu liên quan