Bài giảng Quản trị hệ điều hành Linux

pdf 113 trang hoanguyen 3731
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Quản trị hệ điều hành Linux", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_quan_tri_he_dieu_hanh_linux.pdf

Nội dung text: Bài giảng Quản trị hệ điều hành Linux

  1. www.nhipsongcongnghe.net
  2. www.nhipsongcongnghe.net QU N TR H IU HÀNH LINUX MC L C 1. Gi i thi u h iu hành Linux 1.1 Lch s Linux 1.2 Cài t Linux 2. Giao ti p trên môi tr ưng Linux 2.1 Gi i thi u trình so n th o vi 2.2 Gi i thi u ti n ích mc 2.3 Các câu l nh c ơ b n trên Linux 2.3.1 Hi u bi t v các câu l nh trong Linux 2.3.2 Các câu l nh v th m c và file 2.3.3 Các câu l nh nén d li u 2.3.4 Các câu l nh qu n lý ti n trình 3. Gi i thi u h th ng t p tin, th ư m c. 3.1 Gi i thi u 3.1.1 Th m c ch 3.1.2 Các th m c h th ng 3.2 Các quy n truy c p file, th ư m c 3.2.1 Thay i quy n s h u file, th m c s d ng l nh chown 3.2.2 Thay i nhóm s d ng file/th m c v i l nh chgrp 3.2.3 S d ng s theo h c ơ s 8 t ơ ng ng v i thu c tính truy c p 3.2.4 S d ng ngôn ng t nhiên t ơ ng ng v i quy n truy c p 3.2.5 Thay i quy n truy c p file th m c s d ng l nh chmod 3.2.6 Các chú ý c bi t trên các quy n th m c 3.3 Thi t l p m t chính sách cho server nhi u ng ưi s d ng 3.3.1 Thi t l p c u hình các quy n truy c p file c a ng i s d ng 3.3.2 Thi t l p m c nh các quy n truy c p file cho ng i s d ng 3.3.3 Thi t l p các quy n có th th c thi cho các file 3.4 Làm vi c v i file, th ư m c 3.4.1 Xem các file và các th m c 3.4.2 Chuy n n th m c 3.4.3 Xác nh ki u file 3.4.4 Xem th ng kê các quy n c a file hay th m c 3.4.5 Sao chép file và th m c 3.4.6 Dch chuy n các file và th m c 3.4.7 Xóa các file và th m c 3.4.8 Tìm ki m file 4. Qu n lý ng ưi dùng và tài nguyên 4.1 Khái ni m 4.2 To superuser 4.3 Qu n lý ng ưi dùng v i các công c dòng l nh 4.3.1 To m t tài kho n ng i s d ng m i 4.3.2 To m t nhóm m i 4.3.3 Sa i m t tài kho n ng i s d ng ang t n t i 4.3.4 Thay i ng d n th m c ch
  3. www.nhipsongcongnghe.net 4.3.5 Thay i UID 4.3.6 Thay i nhóm m c nh 4.3.7 Thay i th i h n k t thúc c a m t tài kho n 4.3.8 Sa i m t nhóm ang t n t i 4.3.9 Xóa ho c h y b m t tài kho n ng i s d ng 4.4 Cài t máy in 4.4.1 Cu hình máy in 4.4.2 Cài t máy in c c b 4.4.3 Cài t máy in trên h th ng Unix xa 4.4.4 Cài t máy in Samba (SMB) 4.4.5 Ch n trình iu khi n Print Driver và k t thúc 4.4.6 Thay i thông s c u hình các máy in có s n 4.4.7 Backup các thông s c u hình máy in 4.4.8 Qu n lý công vi c in n 5. Trình di n thi t l p m ng và cài t Diul-up trên Linux 5.1 Thi t l p m ng 5.1.1 HH Linux và card m ng 5.1.2 Cu hình card m ng 5.1.3 Các ti n ích m ng: Telnet và ftp 5.2 Cài t Diul-up 5.2.1 Cài t 5.2.2 Quay s t xa 6. Lp trình shell 6.1 To và ch y ch ươ ng trình shell 6.2 S d ng các bi n 6.2.1 Gán m t giá tr cho m t bi n 6.2.2 Tham s và các bi n Shell có s n 6.3 S d ng d u trích d n 6.4 Làm vi c v i câu l nh test 6.5 S d ng các câu l nh r nhánh 6.5.1 Lnh if 6.5.2 Lnh case 6.6 S dng các câu l nh vòng l p 6.6.1 Lnh for 6.6.2 Lnh while 6.6.3 Lnh until 6.6.4 Lnh shift 6.6.5 Lnh select 6.6.6 Lnh repeat 6.7 S d ng các hàm 6.8 Tng k t 7. Cài t và Qu n tr WebServer 7.1 Hưng d n cài t trên môi tr ưng Linux 7.2 Qu n tr WebServer 7.2.1 Ph n m m Apache 7.2.2 Biên d ch và cài t 7.2.3 Kh i ng và t t WebServer 7.2.4 Cu hình Apache 7.2.5 Xác th c ng i dùng
  4. www.nhipsongcongnghe.net 8. Qu n lý ti n trình 8.1 Ti n trình 8.1.1 Ti n trình ti n c nh 8.1.2 Ti n trình h u c nh 8.2 iu khi n và giám sát ti n trình 8.2.1 S d ng l nh ps l y thông tin tr ng thái c a ti n trình 8.2.2 Phát tín hi u cho m t ch ơ ng trình ang chy 8.2.3 Giao ti p gi a các ti n trình 8.3 Lp k ho ch các ti n trình 8.3.1 S d ng l nh at 8.3.2 S d ng l nh crontab 9. Bo m t h th ng 9.1 Nh ng nguy c ơ an ninh trên Linux 9.2 Xem xét chính sách an ninh c a b n 9.3 Tng c ưng an ninh cho KERNEL 9.4 An toàn các giao d ch trên m ng 9.5 Linux firewall 9.6 Dùng công c dò tìm kh o sát h th ng 9.7 Phát hi n s xâm nh p qua m ng 9.8 Ki m tra kh n ng b xâm nh p 9.9 i phó khi h th ng b t n công
  5. www.nhipsongcongnghe.net 1. Gi i thi u h iu hành Linux 1.1. Lch s Linux là h iu hành mô ph ng Unix, c xây d ng trên ph n nhân (kernel) và các gói ph n m m mã ngu n m . Linux c công b d i b n quy n c a GPL (General Public Licence). Unix ra i gi a nh ng n m 1960, ban u c phát tri n b i AT&T, sau ó c ng ký th ơ ng m i và phát tri n theo nhi u dòng d i các tên khác nhau. N m 1990 xu h ng phát tri n ph n m m mã ngu n m xu t hi n và c thúc y b i t ch c GNU. M t s licence v mã ngu n m ra i ví d BSD, GPL. N m 1991, Linus Torvald viêt thêm phiên b n nhân v0.01 (kernel) u tiên c a Linux a lên các BBS, nhóm ng i dùng m i ng i cùng s d ng và phát tri n. N m 1996, nhân v1.0 chính th c công b và ngày càng nh n c s quan tâm c a ng i dùng. N m 1999, phiên b n nhân v2.2 mang nhi u c tính u vi t và giúp cho linux b t u tr thành i th c nh tranh áng k c a MSwindows trên môi tr ng server. N m 2000 phiên bn nhân v2.4 h tr nhi u thi t b m i ( a x lý t i 32 chip, USB, RAM trên 2GB ) bt u t chân vào th tr ng máy ch cao c p. Quá trình phát tri n c a linux nh sau: - Nm 1991: 100 ng i dùng. - Nm 1997: 7.000.000 ng i dùng. - Nm 2000: hàng tr m tri u ng i dùng, h ơn 15.000 ng òi tham gia phát tri n Linux. Hàng n m th tr ng cho Linux t ng tr ng trên 100%. Các phiên b n Linux là s n ph m óng gói Kernel và các gói ph n m m min phí khác. Các phiên b n này c công b d i licence GPL. M t s phiên b n n i b t là: Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake. Gi ng nh Unix, Linux g m 3 thành ph n chính: kernel, shell và c u trúc file. Kernel là ch ơ ng trình nhân, ch y các ch ơ ng trình và qu n lý các thi t b ph n c ng nh a và máy in. Shell (môi tr ng) cung c p giao di n cho ng i s d ng, còn c mô t nh m t b biên d ch. Shell nh n các câu l nh t ng i s d ng và g i các câu l nh ó cho nhân th c hi n. Nhi u shell c phát tri n. Linux cung c p m t s shell nh : desktops, windows manager, và môi tr ng dòng l nh. Hi n nay ch y u t n t i 3 shell: Bourne, Korn và C shell. Bourne c phát tri n t i phòng thí nghi m Bell, C shell c phát tri n cho phiên b n BSD c a UNIX, Korn shell là phiên b n c i ti n c a Bourne shell. Nh ng phiên b n hi n nay c a Unix, bao g m c Linux, tích h p c 3 shell trên. Cu trúc file quy nh cách l u tr các file trên a. File c nhóm trong các th mc. M i th m c có th ch a file và các th m c con khác. M t s th m c là các th m c chu n do h th ng s d ng. Ng i dùng có th t o các file/th m c c a riêng mình c ng nh d ch chuy n các file gi a các th m c ó. H ơn n a, v i Linux ng i dùng có th thi t l p quy n truy nh p file/th m c, cho phép hay h n ch m t ng i dùng ho c m t nhóm truy nh p file. Các th m c trong Linux c t ch c theo c u trúc cây, b t u b ng m t th m c g c (root). Các th m c khác c phân nhánh t th m c này. Kernel, shell và c u trúc file c u thành nên c u trúc h iu hành. V i nh ng thành ph n trên ng i dùng có th ch y ch ơ ng trình, qu n lý file, và t ơ ng tác v i h th ng.
  6. www.nhipsongcongnghe.net 1.2. Cài t máy ch Linux Lu ý: tr c khi cài t, c n tìm hi u các thông tin v ph n c ng c a h th ng, bao gm - Thông tin v a c ng - Thông tin v card m ng - Thông tin v card ho - Thông tin v màn hình - Thông tin v giao th c và c u hình m ng n u k t n i m ng - Thông tin v các thi t b ngoài. Có th ch n nhi u ph ơ ng án cài t nh cài t t a m m, t a c ng, t a CD Rom ho c qua m ng. Tài li u này ch n h ng d n quá trình cài t phiên b n 7.0 t a CDRom. Yêu c u máy cài t có kh n ng kh i ng (boot) t a CD-Rom (c h tr h u h t trong các máy tính hi n nay). Sau ây là các b c cài t c th . Khi k t thúc b c tr c ch ơ ng trình cài t t ng chuy n sang b c sau. M t s b c cài t cho phép quay l i b c tr c b ng cách ch n Back. 1. a a CD Rom Redhat vào a. Kh i ng l i máy (l u ý ph i m b o máy có kh n ng kh i ng t a CD-Rom. Ch n ch cài text 2. Ch n ch cài text boot: text 3. La ch n ngôn ng Ch n ngôn ng m c nh là English
  7. www.nhipsongcongnghe.net 4. La ch n ki u bàn phím La ch n ki u th hi n bàn phím là us . 5. Màn hình chào m ng Sau khi ã l a ch n xong ngôn ng cài t, bàn phím và ph ơ ng pháp cài t, màn hình chào m ng xu t hi n. B m OK ti p t c. 6. Ch n ki u cài t
  8. www.nhipsongcongnghe.net Hp h i tho i cho phép b n ch n l a ki u cài t h iu hành Linux RedHat nh m t Workstation, Server, Custom hay ch là nâng c p phiên b n ã cài t. Ch n ki u cài t là Custom System. Ch n OK ti p t c. 7. La ch n ph n m m phân chia a Linux a ra cho b n hai ph n m m phân chia a dành cho Linux: ó là Disk Druid và fdisk. Ch ọn Disk Druid để ti ếp t ục. Bn c n t o 2 partition install RedHat, nh ng delete nh ng partition có s n trong máy b n (n u không thì d li u có s n s m t, t t nh t là b n nên sao l u d li u tr c cho b o m!). Dùng các ch c n ng add , edit , delete t o 1 partition v i type là
  9. www.nhipsongcongnghe.net Linux swap , dung l ng b ng dung l ng RAM c a máy. Ti p theo t o m t partion tên " /" vi lo i Linux native , dung l ng ít nh t là 500Mb (tu theo dung l ng còn tr ng c a a b n, n u b n mu n install tr n gói RedHat thì c n n kho ng 2288MB). Hãy yên chí là n u b n t o sai (partition kích th c quá l n, l n h ơn dung lng còn tr ng c a a) thì RedHat s không cho b n i ti p. Ch c n t o 2 partition này là r i. Khi nào b n click c Next thì coi nh là thành công! t o m t partition m i, ch n Add. Màn hình Edit New Partition xu t hi n Mt s v n có th x y ra khi thêm m t partition
  10. www.nhipsongcongnghe.net 8. Hi u ch nh m t partition Ch n m t partition c n hi u ch nh, nh n Edit, màn hình m i s cho phép b n thay i các thông s c a partition ã ch n nh kích th c, ki u, 9. Hoàn thành vi c phân chia a Ch ơ ng trình cài t s yêu c u b n format l i phân vùng v a t o, chú ý không ch n nh ng phân vùng d li u quan tr ng i v i b n.
  11. www.nhipsongcongnghe.net 10. Kh i t o LILO LI nux LO ader (LILO) cho phép b n xác nh th i gian kh i t o Linux hay m t h iu hành nào khác. Khi kh i t o cho server, LILO c c u hình t ng trên Master Boot Record [MBR]. If you are performing a custom-class installation, the LILO Installation dialogs let you indicate how or whether to install LILO. Vi c ch n LILO trong c a s LILO Configuration cho phép b n thêm các tu ch n mc nh vào l nh boot LILO và các tùy ch n này c chuy n cho Linux kernel t i th i im boot.
  12. www.nhipsongcongnghe.net . Chú ý r ng n u b n ch n Skip , b n s không th boot h th ng Red Hat Linux m t các tr c ti p mà s ph i s d ng ph ơ ng pháp boot khác (boot disk ch ng h n) B n ch nên l a ch n cách này khi b n ch c ch n ã có cách khác boot h th ng Red Hat Linux c a b n. Dùng l a ch n t boot loader t i Master Boot Record kh i t o ngay h iu hành Linux khi b t máy. Màn hình này cho phép b n t tên cho máy tính c a mình. B n có th thay i hostname sau khi ã cài t xong b ng l nh hostname newname, trong ó newname là tên mà b n mu n t.
  13. www.nhipsongcongnghe.net 11. Cu hình k t n i m ng Nu máy không có card m ng, s không nh n c màn hình này. Th c hi n c u hình mng cho máy nh sau B l a ch n config using DHCP ( ch c p phát a ch IP ng ), nh p a ch IP, subnetmask theo h ng d n c a giáo viên h ng d n th c hành. 12. Cu hình firewall: ch n Medium 13. Cu hình chu t
  14. www.nhipsongcongnghe.net Thông th ng thì ch ơ ng trình cài t s t phát hi n lo i chu t c a máy b n. N u không, b n hãy ch n lo i chu t phù h p trong danh sách, và n u b n không bi t chu t ca mình lo i gì thì c yên, click Next ti p t c. La ch n Emulate 3 Buttons cho phép b n s d ng chu t c a b n nh chu t có 2 nút trong ó dùng nút gi a b ng cách b m hai nút cùng m t lúc.N u b n có chu t hai nút, bn hãy s d ng ch c n ng này vì XWindow tr nên d dùng nh t v i khi chu t có ba nút. 14. Cu hình Time Zone Nu b n mu n thi t l p ng h cho CMOS theo gi GMT (Greenwich Mean Time), ch n Hardware clock set to GMT . Tuy nhiên, n u máy tính c a b n s d ng m t h
  15. www.nhipsongcongnghe.net iu hành khác thì vi c thi t t ng h theo gi GMT s khi n cho h iu hành khác ó hi n th sai th i gian. t gi VN, ch n Asia/Saigon thay i c u hình v th i gian sau khi b n ã cài t, b n có th dùng l nh /usr/sbin/timeconfig 15. Thi t l p m t kh u root Hp tho i Root Password bu c b n ph i thi t l p m t mt kh u root cho h th ng ca b n. B n s s d ng m t kh u này log vào h th ng và th c hi n các ch c n ng qu n tr h th ng c a mình. 16. To user Bn có th t o tài kho n user cho chính mình s d ng hàng ngày. User root (superuser ) có quy n truy nh p vào h th ng nh ng r t nguy hi m, ch nên s dng b o d ng hay qu n tr h th ng. Mt kh u c a user có phân bi t ch hoa ch th ng và ít nh t là 6 ký t .
  16. www.nhipsongcongnghe.net 15. Bn có th t o ti p nhi u user theo c a s sau: 16. Cu hình xác th c ng i dùng Do b n kh i t o theo ch custom, b c này cho phép b n c u hình cách mà h iu hành linux c a b n s d ng xác th c m t kh u. La ch n Use Shadow Passwords : m t kh u c a b n áng nh n m trong t p /etc/passwd s c thay th b ng th m c /etc/shadow và ch c truy nh p b i superuser (root) Tu ch n Enable MD5 Passwords cho phép mã hóa m t kh u theo chu n MD5.
  17. www.nhipsongcongnghe.net 17. Ti p theo, b n có th ch n l a các gói tin cài t. B n nên ch n các ph n mm, d ch v hay s d ng nh t cài t s n trên máy khi kh i ng. Tuy nhiên, tuy nhiên, b n c ng có th cài t sau này tu theo nhu c u s d ng. Các gói tin này n u c cài t s c ghi l i trong t p /tmp/install.log sau khi kh i t o l i h th ng c a bn. Có th cài t t ng gói tin nh h ơn b ng cách ch n Select individual packages và nh n OK.
  18. www.nhipsongcongnghe.net 18. Cu hình Video Adapter Ch ơ ng trình cài t s t phát hi n video card kh i t o. Nh n OK ti p t c. 19. B t u kh i t o các gói tin: Quá trình kh i t o s c ghi vào t p /tmp/install.log. Nh n OK ti p t c.
  19. www.nhipsongcongnghe.net 20. T o a kh i t o cho h th ng (boot disk): Ch n No và ti p t c.
  20. www.nhipsongcongnghe.net 21. Hoàn thành cài t Nh v y là b n ã hoàn thành xong công vi c cài t h iu hành RedHat 7.0. B n hãy rút a ra kh i CD và nh n OK kh i ng l i h th ng.
  21. www.nhipsongcongnghe.net 2. Giao ti p trên môi tr ưng Linux 2.1. Trình so n th o vi Ch ơ ng trình vi là m t ch ơ ng trình so n th o m nh mà g n nh ch c ch n c tìm th y trên t t c các h iu hành h UNIX b i kích th c và kh n ng c a nó.vi không òi h i nhiu tài nguyên, thêm vào ó là các ch c n ng so n th o c ơ b n. vi có th tìm ki m, thay th , và k t n i các file,và nó có ngôn ng macro c a chính nó, cúng nh m t s các c im b sung.Có hai ch trong vi: Ch th nh t là ch input. Trong ch này, v n b n c a vào trong tài li u, b n có th chèn ho c b sung v n b n. Ch th hai là chê dòng l nh. Khi ch này, b n có th d ch chuy n trên tài li u, tr n các dòng, tìm ki m, B n có th th c hi n t t c các ch c n ng c a vi t ch dòng l nh ngo i tr vi c nh p vào v n b n. V n b n ch có th c vào trong ch input. Khi vi kh i ng, nó ch dòng l nh. b n có th chuy n i t ch dòng l nh sang ch input b ng cách s d ng m t trong các câu l nh sau: [aAiIoOcCsSR]. tr l i ch dòng l nh b n ch n phím ESC. Hãy xem các câu l nh và tác dung c a các câu l nh trong ch dòng l nh. Câu l nh Tác d ng Ctrl + D Chuy n c a s xu ng b ng m t n a màn hình Ctrl + U Chuy n c a s lên b ng m t n a màn hình Ctrl + F Dch chuy n c a s lên phía tr c b ng m t màn hình Ctrl + B Dch chuy n c a s v phía sau m t màn hình k ho c up arrow Dch chuy n con tr lên m t dòng j ho c down arrow Dch chuy n con tr xu ng m t dòng l ho c right arrow Dch chuy n con tr sang ph i m t ký t h ho c left arrow Dch chuy n con tr sang trái m t kí t Return Dch chuy n con tr n v trí b t u dòng ti p theo - Dch chuy n con tr n v trí b t u c a dòng tr c w dch chuy n con tr n v trí b t u c a t ti p theo b dch chuy n con tr n v trí b t u c a t tr c ^ ho c 0 dch chuy n con tr n v trí b t u c a dòng hi n t i $ dch chuy n con tr n v trí k t thúc c a dòng hi n t i
  22. www.nhipsongcongnghe.net i,a Chèn v n b n ngay tr c/sau v trí con tr o M m t dòng m i ngay sau dòng hi n t i O M m t dòng m i ngay tr c dòng hi n t i x Xóa ký t sau con tr dw Xoá m t t (bao g m c ký t tr ng ngay sau nó) D Xoá t v trí con tr n k t thúc dòng d^ Xoá t v trí b t u dòng n v trí ký t tr ng hay ký t bên trái con tr u Hu b thay i tr c ó /pattern Tìm xâu pattern. Theo h ng ti n. ?pattern Tìm xâu pattern, theo h ng lùi v u v n b n. n,N Lp l i vi c tìm ki m theo cùng h ng / ng c h ng p, P Dán on v n b n v a xoá vào tr c / sau con ch y . Lp l i câu l nh cu i. dd Xóa dòng có con tr ch y :w Ghi l i t t c các thay i c a file hi n t i và ti p t c so n th o :q! Kt thúc, không l u tr b t k thay i :ZZ Lu thay i c a file hi n t i và k t thúc. 2.2. Ti n ích mc. Mt khi ng i dùng có ác c m v i giao di n dòng l nh c a DOS, h cho r ng các lnh c a Linux c ng khó h c. Trong th i k c a DOS tr c Windows, vi c nh hng các t p tin thông qua h th ng menu và các ch ơ ng trình qu n lý b t u phát tri n m nh, cho dù chúng ch d a trên ch text. Mt trong s ch ơ ng trình thông dng nh v y là Norton Commander. Linux c ng có m t ch ơ ng trình ti n ích v i ch c n ng t ơ ng t nh v y g i là Midnight Commander (MC). B n không ph i m t công tìm ki m MC, ph n l n các nhà phân ph i Linux u cung c p kèm theo H H và nó c cài trong /usr/bin/mc. Ch ơ ng trình ch y c hai ch : text mode và h a (Xterm d i X Windows). Sau khi nh p l nh "mc" ch y ch ơ ng trình, b n s nhìn th y m t c a s c chia ôi nh trong hình 1. Midnight Commander h u nh là b n sao c a Norton
  23. www.nhipsongcongnghe.net Commander. Ph n l n cách trình bày, phím t t và các c tính u gi ng NC. S dng mouse c ng c h tr ch text. Nu driver mouse c t i khi kh i ng (ph n l n các nhà cung c p Linux u làm nh v y), b n có th dùng mouse truy c p menu và các t p tin. Nh n vào file th c thi ch y, nh n vào th m c chuy n vào ó, ho c nh n vào t p tin v i ph n uôi m r ng m nó v i ch ơ ng trình t ơ ng ng. B ng cách nh n nút ph i chu t vào mt t p tin, b n ch n ho c b ch n t p tin ó. B n có th th c hi n tìm tên file b ng nh n t h p phím Ctrl-S và trên file v i Alt. Sau ây là nh ng phím l nh c ơ b n: F1: Tr ợ giúp F2: Menu ng ười dùng F3: Xem các t ập tin được ch ọn F4: Hi ệu đính t ập tin F5: Copy t ập tin F6: Đổi tên, chuy ển t ập tin F7: T ạo th ư m ục F8: Xoá t ập tin F9: G ọi menu th ả xu ống (pull-down) F10: Thoát kh ỏi Midnight Commander Midnight Commander h tr m t s h th ng t p tin o, ngh a là b n có th xem file không ch trên các a c ng c c b . B n c ng có th xem các ki u t p tin nén khác nhau, nh .tar, .tgz, .zip, .lha, .rar, .zoo và th m chi c .rpm và .deb (các d ng th c t p tin nén c a Red Hat và Debian. Vi c xem các t p tin c th c hi n thông qua h
  24. www.nhipsongcongnghe.net th ng t p tin m ng c a UNIX (UNIX Network File System - NFS), Midnigh Commander có th ho t ng nh m t máy khách ftp b ng cách a liên k t FTP vào menu. Có th h i ph c các t p tin ã xóa trong Linux? Midnight Commander cho th y r ng v n chúng ta nói n trong ph n tr c (PC World VN s 7/1999 trang 95) - không có cách nào h i ph c c các t p tin b xoá trong Linux - là không hoàn toàn chính xác. N u b n s d ng ph n m r ng ext2, h th ng t p tin c ơ b n trong Linux và c u hình h th ng cho phép h i ph c t p tin b xóa thì trên th c t b n có th truy c p vào các file ã xóa. Vi Midnight Commander, b n nh p dòng "undel:/" tr c tên t p tin, ví d "undel:/dev/hda1". Sau ó b n có th xem các t p tin b xóa (hình 3). Ch n t p tin b n mu n h i ph c b ng chu t hay bàn phím và dùng F5 copy chúng vào th m c ích nào ó. Tr ng i duy nh t ây là thông tin v tên file b m t, b i v y b n ph i c xác nh c t p tin nào b n mu n h i ph c.
  25. www.nhipsongcongnghe.net Midnight Commander bao g m c ch ơ ng trình xem và so n th o t p tin. C hai u có th làm vi c v i file v n b n và file nh phân (text và binary) v hi n th các ký t 8-bit ngoài 128 ký t mã ASCII. Trình so n th o có giao di n menu và gi ng Windows nhi u phím so n th o c ơ b n: nh n Shift và phím m i tên ch n text, nh n Ctrl-Ins copy text và Shift-Ins dán text. B n có th ghi macro v i Ctrl-R c ng nh th c hi n nh ng tìm ki m theo t thông th ng. Midnight Commander có m t s tính n ng mà DOS không có. B n có th thay i quy n s h u t p tin và xem chi ti t v quy n truy c p t p tin. MC còn có kh n ng qu n lý quy trình, cho phép b n xem nh ng quá trình ang c th c hi n ch nn, và b n có th d ng chúng, kh i ng l i ho c t t chúng hoàn toàn. Midnight Commander có r t nhi u tính n ng mà không th li t kê h t trong bài này. Trên Internet có nhi u Web site dành riêng cho Midnight Commander, ch ng h n nh www.gnome.org/mc, b n có th tham kh o chi ti t h ơn. 2.3. Các câu l nh c ơ b n trên Linux 2.3.1. Hi u bi t v các câu l nh trong Linux 2.3.1.1. S d ng các ký t i di n Khi b n s d ng các câu l nh v file và th m c, b n có th s d ng các ký t c bi t c g i là các ký t i di n xác nh tên file, tên th m c. Ví d , a ra danh sách t t c các file có tên k t thúc b ng .c, b n s d ng câu l nh sau: ls *.c Kí t * là m t ký t i di n, khi shell thông d ch, nó s thay * b ng t t c cac tên file có k t thúc b ng .c. B ng bên d i ch ra m t s các ký t i di n th ng c s dng:
  26. www.nhipsongcongnghe.net * Tơ ng ng v i th t b t k c a m t hay nhi u ký t ? Tơ ng ng v i m t ký t b t k [] Tơ ng ng v i m t trong nh ng ký t trong ngo c ho c gi i h n Ví d : Jo* : Các file b t u v i Jo Jo*y : Các file b t u v i Jo và k t thúc v i y Ut*l*s.c : Các file b t u v i Ut, ch a m t ký t l và k t thúc v i s.c ?.h : Các file b t u v i m t ký t ơn, theo sau b i .h Doc[0-9].txt : Các file có tên Doc0.txt, Doc1.txt .Doc9.txt Doc0[A-Z].txt : Các file có tên Doc0A.txt, Doc0B.txt Doc0Z.txt 2.3.1.2. Cơ b n v các bi u th c chính quy Các bi u th c chính quy c s d ng b i ph n l n các câu l nh. Chúng cung c p mt cách thu n ti n và ng nh t xác nh các m u phù h p . Chúng t ơ ng t v i các ký t i di n, nh ng chúng m nh h ơn r t nhi u. Chúng cung c p m t ph m vi rng các m u l a ch n. các ký t c bi t c a ra d i ây là các bi u th c chính quy th ng c s d ng: Ký t Ý ngh a . Tơ ng ng v i m t ký t ơn b t k ngo i tr dòng m i * Tơ ng ng v i không ho c nhi u h ơn các ký t ng tr c ^ Tơ ng ng v i b t u c a m t dòng $ Tơ ng ng v i k t thúc m t dòng \ Tơ ng ng v i k t thúc m t t [] Tơ ng ng v i m t trong các ký t bên trong ho c m t dãy các ký t [^] Tơ ng ng v i các ký t b t k không n m trong ngo c \ Ly ký hi u theo sau d u g ch ng c Tr c tiên, trong m t bi u th c chính quy, m t ký t b t k không có ý ngh a riêng cho chính nó. Ví d tìm ki m các dòng ch a ch “foo” trong file data.txt s d ng câu l nh sau:
  27. www.nhipsongcongnghe.net grep foo data.txt tìm ki m các dòng b t u b ng t “foo”, ta s d ng câu l nh: grep ‘^foo’ data.txt Vi c s d ng d u trích d n ơn nói cho shell nguyên các ký t và b qua chúng trong ch ơ ng trình. Vi c s d ng d u trích d n ơn là c n thi t khi s d ng các ký t c bi t. grep ‘hello$’ data.txt Các dòng b t k k t thúc v i chu i “hello” c tr l i. tìm ki m m t m u b t u bng m t t , s d ng \ ’ data.txt b ng bên trên, chú ý r ng d u ch m s phù h p v i m t ký t b t k tr dòng m i. iu này có th c thao tác, n u chúng ta tìm ki m t t c các dòng ch a ký t ‘C’ c theo sau b i hai ký t và k t th c b i ký t ‘s’, bi u th c chính quy có th là: grep ‘C s’ data.txt Bi u th c này có th có các m u phù h p nh ‘Cats’, ‘Cars’ và ‘Cris’ n u chúng c ch a trong file data.txt. N u b n mu n xác nh m t dãy các ký t , s d ng m t d u gch n i phân bi t ký t b t u và ký t k t thúc c a dãy. Khi b n xác nh m t dãy, th t ph i gi ng nh mã ASCII. Ví d , tìm ki m t t c các dòng ch a m t ký t “B” theo sau b i m t ký t th ng s d ng: grep ‘B[a-z]’ data.txt Cng có th xaca nh nhi u gi i h n trong cùng m t m u:
  28. www.nhipsongcongnghe.net grep ‘B[A-Za-z]’ data.txt 2.3.2. Các câu l nh v th ư m c và file • Lnh cat Cú pháp: cat file [>|>] [destination file] Lnh cat s hi n th n i dung c a m t file ra thi t b ra chu n. Nó th ng h u ích ki m tra n i dung c a m t file b ng s d ng câu l nh cat. i s mà b n a vào l nh cat là file b n mu n xem. xem toàn b n i dung c a m t file: cat name Lnh cat c ng có th tr n nhi u file ang t n t i vào m t file: cat name1 name2 name3 > allnames Ví d này s k t h p các file : name1, name2 và name3 cho file cu i cùng allnames. Th t c a vi c tr n c thi t l p b i th t c a các file c a vào trên dòng lnh. S d ng l nh cat, chúng ta có th b sung m t file vào m t file khác ang t n ti. Trong tr ng h p b n quên thêm name4 vào câu l nh tr c, chúng ta v n có th nh n c k t qu mong mu n b ng cách th c hi n l nh: cat name4 > allnames Lnh này s b sung n i dung c a file name4 vào allnames • Lnh chmod Cú pháp: chmod [-R] permission-mode file ho c th m c Lnh chmod dùng thay i quy n truy c p file ho c th m c. Ví d : chmod myscript.pl thay i quy n c a m t th m c và t t c các file, các th m c con c a th m c ó s d ng câu l nh:
  29. www.nhipsongcongnghe.net chmod –R 744 public_html • Lnh chown Cú pháp: chown [ -fhR ] Owner [ :Group ] { file | th m c } Lnh chown thay i quy n s h u file hay th m c. Giá tr c a khai báo Group có th la m t ID c a nhóm ng i s d ng ho c tên c a nhóm ng i s d ng c tìm th y trong file /etc/group. Ch ng i s d ng root m i có quy n thay i quy n s hu i v i file. Chi ti t v các tu ch n c ch ra bên d i: -f : ng n ch n t t c các thong báo l i tr các thong báo s d ng -h: thay i quy n s h u c a lien k t t ng tr ng nh ng không thay i quy n s hu c a file mà c ch n b i lien k t t ng tr ng ó. -R: thay i quy n s h u c a th m c, các file và các th m c con bên trong th mc hi n t i c ch ra • Lnh clear Xoá màn hình, tr l i d u ch c dòng l nh phía trên c a màn hình clear • lnh cmp Cú pháp: cmp [ -ls ] file1 file2 Lnh này so sánh n i dung c a hai file. N u không có s khác nhau nào, l nh cmp s kt thúc m t cách yên l ng, tu ch n –l s n ra s byte và các giá tr khác nhau gi a hai file. Tu ch n –s không hi n th cài gì c , nó ch tr l i tr ng thái ch ra r ng s tơ ng ơ ng gi a hai file. Giá tr 0 c tr l i n u các file gi ng h t nhau, giá tr bng 1 n u hai file khác nhau và l n h ơn 1 n u l i xu t hi n khi th c hi n câu l nh. • Lnh cp Cú pháp: cp [ -R ] file_ho c_th _m c file_ho c_th _m c Lnh cp s sao chép m t file t th m c ngu n n th m c ích c a vào. sao chép toàn b các file và các th m c con bên trong th m c mong mu n, b n s dng câu l nh cp v i tu ch n –R • Lnh du Lnh này t ng k t vi c s d ng a. N u b n xác nh m t th m c, l nh du s báo cáo vi c s d ng a cho chính các th m c ó.
  30. www.nhipsongcongnghe.net Cú pháp: du [ -ask ] tên_file Tu ch n –a s a ra màn hình kích th c c a m i th m c và file Tu ch n –s s ch in ra t ng c ng Tu ch n –k s in ra t t c các kích th c file theo kilobytes • Lnh file Cú pháp: file filename Câu l nh xác nh ki u c a file. N u file không ph i là file thông th ng, ki u c a file c xác nh. • Lnh find Câu l nh find tìm các file và các th m c. Cú pháp : find [path] [-type fd] [-name m u] [-atime [+-] s _ngày] [-exec câu_l nh {} \;] [-empty]. Ví d : find . –type d Câu l nh tr l i t t c các th m c con trong th m c hi n t i. Tu ch n –type xác nh ki u, d cho các th m c, f cho các file hay l cho các lien k t. find . –type f –name “*.txt” Lnh này s tìm tt c các file v n b n có ph n m r ng “.txt” trong th m c hi n t i và c trong các th m c con. find . –type f –name “*.txt” –exec grep –l ‘magic’ {} \; Câu l nh này s tìm ki m t t c các file v n b n (k t thúc v i ph n m r ng .txt) trong th m c hi n t i và các th m c con có ch a t “magic”. find . –type f empty
  31. www.nhipsongcongnghe.net Hi n th t t c các file r ng trong th m c hi n t i. • Lnh grep Cú pháp: grep [–viw] m u file Lnh grep cho phép b n tìm ki m m t ho c nhi u file có các m u ký t c bi t. M i dòng c a m i file ch a các m u c hi n th trên màn hình. Câu l nh grep h u ích khi b n có nhi u file và b n mu n tìm ra file ch a t ho c câu xác nh. S d ng tu ch n –v, b n có th hi n th các file không ch a m t m u. Ví d , ch n các dòng trong data.txt không ch a t “the” ta th c hi n: grep –vw ‘the’ data.txt nu tu ch n –w không c xác nh thì b t k các t ch a “the” u phù h p nh “together”. Tu ch n –w c xác nh bu c m u ph i là toàn b m t t . Cu i cùng , tu ch n –i b qua s khác nhau gi a các ký t ch hoa và ký t ch th ng khi tìm ki m m u. • Lnh head Cú pháp: head [-count | -n number] filename Câu l nh này s hi n th vài dòng u tiên c a m t file. B i m c nh, 10 dòng u ca m t file c hi n th . Tuy nhiên, b n có th s d ng các tu ch n xác nh s dòng hi n th . Ví d : head -2 doc.txt s hi n th hai dòng u tiên. • Lnh ln Cú pháp: ln [-s] file_ngu n ích Lnh ln t o các liên k t c ng và m m. Các liên k t c ng c t o s d ng l nh ln không có tu ch n –s. Ví d : ln ./www ./public_html
  32. www.nhipsongcongnghe.net Mt lien k t c ng có h n ch , nó không th t o liên k t n m t th m c khác, và m t liên k t c ng không th liên k t n m t file trên m t h th ng file khác. S d ng tu ch n –s b n có th t o m t liên k t m m, lo i b các gi i h n này. ln –s /dev/fs02/jack/www /dev/fs01/foo/public_html ây chúng ta ã t o m t liên k t m m gi a th m c www trên h th ng file 2 và mt file m i c t o trên h th ng file 1. • Lnh locate Cú pháp : locate t _khoá Câu l nh locate tìm ng d n n m t file c bi t hay m t câu l nh. L nh locate s tìm ki m chính xác hay m t ph n c a chu i phù h p. Ví d : locate foo kt qu tìm ki m s a ra các file có tên ch a t khoá ‘foo’ theo ng d n tuy t i ho c s không a ra k t qu n u không có tên file nh v y. • Lnh ls Lnh ls cho phép b n a ra danh sách các file và các th m c con. Cú pháp : ls [-1aRl] file_ho c_th _m c Khi s d ng tu ch n -1 , nó ch hi n th tên file và tên th m c con c a th m c hi n ti. Khi ch n tu ch n –l, m t danh sách các file và th m c con c a th m c hi n t i c hi n th v i y các thông tin v file và th m c. Tu ch n –a cho phép b n hi n th t t c các file và th m c (k c các file n, tên file b t u b ng d u ch m) trong th m c hi n t i. Tu ch n –R s hi n th t t c các file và các th m c con bên trong nó n u có. • Lnh mkdir Cú pháp: mkdir th _m c t o m t th m c, s d ng câu l nh mkdir. Ch có 2 gi i h n khi ch n tên th m c, ó là tên c a th m c có th lên t i 255 ký t và tên th m c có th ch a b t k ký t nào tr ký t ‘/’.Ví d : mkdir dir1 dir2 dir3
  33. www.nhipsongcongnghe.net Lnh trên t o ra ba th m c, n m bên trong th m c hi n t i. • Lnh mv Cú pháp : mv [-if] file_ngu n file_ ích S d ng l nh mv d ch chuy n hay i tên các file hay các th m c. Câu l nh th c hi n vi c d ch chuy n hay i tên ph thu c vào file_ ích có là m t th m c hay không. minh ho , chúng ta s i tên m t th m c foo thành foobar: mv foo foobar Bi vì foobar ch a t n t i, foo s c i tên thành foobar. N u câu l nh sau c th c hi n: mv doc.txt foobar và foobar ã t n t i, vi c d ch chuy n file s c th c hi n sau ó. Tu ch n –f s xoá các file ích ang t n t i và không bao gi nh c ng i s d ng. Tu ch n –i s nh c ng i s d ng có ghi è hay không n u file_ ích ã t n t i. • Lnh pwd Cú pháp: pwd Câu l nh này hi n th tên th m c hi n t i bao g m c ng d n tuy t i. Ví d : pwd Trên màn hình hi n th : /home/trantu • Lnh rm Cú pháp: rm [-rif] th _m c/file xoá th m c ho c file, s d ng câu l nh rm. b n có th xoá nhi u file s d ng ký t i di n ho c gõ vào tên các file. Ví d :
  34. www.nhipsongcongnghe.net rm doc1.txt doc2.txt doc3.txt Tơ ng ng v i: rm doc[1-3].txt rm là câu l nh r t m nh, hãy c n th n khi s d ng l nh này vì b n có th nh m và xoá i các file quan tr ng. N u ch a ch c ch n, b n có th s d ng tu ch n –i, h th ng s nh c l i cho b n xác th c m i l n xoá m t file. N u nh ã ch c ch n file c n xoá, bn có th ch n tu ch n –f không ph i nh n các thông tin nh c b n xác th c. Tu ch n –r s cho phép b n xoá toàn b các th m c con. • Lnh tail Cú pháp: tail [-count | -fr] tên_file Câu l nh tail hi n th ph n cu i c a m t file, m c nh nó s hi n th 10 dòng cu i cùng c a file. hi n th 50 dòng cu i cùng c a file doc.txt, b n có th s d ng câu lnh: tail -50 doc.txt Tu ch n –r s th c hi n công vi c ng c l i, m c nh nó s hi n th t t c các dòng tr 10 dòng cu i cùng. Tu ch n –f h u ích khi b n ang giám sát m t file. V i tu ch n này, tail s ch cho d li u m i c ghi vào file. Khi d li u m i c thêm vào file, tail s hi n th d li u lên màn hình. d ng l nh tail khi ang giám sát file, ch n t h p phím Ctrl + C b i vì l nh tail không t d ng c. 2.3.3. Các câu l nh nén d li u • Lnh compress Cú pháp: compress [ -v ] file Câu l nh compress s c g ng gi m kích th c c a m t file s d ng. Các file c nén s c thay th b i m t file có ph n m r ng .Z. Tùy ch n –v s hi n th ph n tr m dung l ng gi m c a m t file c nén và s nói cho b n tênc a file m i: compress –v inbox trên màn hình s hi n th
  35. www.nhipsongcongnghe.net inbox: Compression: 37.20% - replaced with inbox.Z • Lnh gunzip Cú pháp: gunzip [-v] files gi i nén các file v d ng nguyên b n , s d ng l nh gunzip, s c g ng gi i nén các file có ph n m r ng: .gz, -gz, .z, -z, _z, .Z, ho c tgz. Tùy ch n –v s hi n th k t qu p khi gi i nén các file. Ví d : gunzip –v README.txt.gz • Lnh gzip Cú pháp: gzip [-rv9] file Lnh gzip là m t ch ơ ng trình nén khác. Nó c bi t n là ch ơ ng trình nén có t l nén t t nh t. các file c nén b i l nh gzip s c thay th b i các file có ph n m rng .gz. Tùy ch n –9 có t c nén t t nh t. Tùy ch n –v cho phép hi n th p trên màn hình. Kích th c, t ng s và t l nén c a ra danh sách cho m i file. Tùy ch n –r s nén t t c các file trong m i th m c theo cùng m t cách. • Lnh tar Cú pháp: tar [c] [x] [v] [z] [f tên_file] tên_file_ho c_th _m c Lnh tar cho phép b n nén nhi u file và th m c vào m t file .tar. Nó c ng cho phép bn gi i nén các file và các th m c t m t file nén. Ví d : tar cf source.tar *.c Câu l nh này s t o m t file source.tar, ch a t t c các file mã ngu n C (có ph n m rng .c) trong th m c hi n t i. tar cvf source.tar *.c Tùy ch n –v ây cho phép b n xem các file ã c nén tar cvzf backup.tar.gz important_dir
  36. www.nhipsongcongnghe.net ây, tt c các file và các th m c con c a th m c important_dir c nén trong mt file c g i là backup.tar.gz. Chú ý r ng file này c ng c nén do có tùy ch n z , và do ó k t qu là file có ph n m r ng là .gz. Thông th ng ph n m r ng .tar.gz c vi t ng n thành .tgz. gi i nén các file , ví d nh backup.tar , b n s d ng câu l nh: tar xf backup.tar gi i nén m t file có ph n m r ng .tgz hay .tar.gz, b n th c hi n câu l nh sau: tar xzf backup.tgz • Lnh uncompress Cú pháp: uncompress [ -v ] file Khi m t file c nén s d ng câu l nh compress, gi i nén b n s d ng câu l nh uncompress. L nh uncompress gi i nén các file có ph n m r ng .Z, vì v y cú pháp ca nó t ơ ng t nh l nh compress uncompress –v inbox.Z • Lnh unzip Cú pháp: unzip file Lnh này s gi i nén các file có ph n m r ng .zip. Các file này có th c nén v i lnh zip. • Lnh zip Cú pháp : zip [-ACDe9] file ây là ch ơ ng trình nén file theo nh d ng n i ti ng t ơ ng thích v i nhi u h iu hành. Các file c nén v i l nh zip có ph n m r ng .zip. • Lnh mount Cú pháp: mount –a [-t fstype] [-o option] device directory Lnh mount c s d ng gán các thi t b v i h th ng, các tùy ch n thông th ng th ng có trong file /etc/fstab. Ví d :
  37. www.nhipsongcongnghe.net /dev/hda6 /intranet ext2 defaults 1 2 Nu dòng bên trên c tìm th y trong /etc/fstab, b n có th g n h th ng file c lu trong phân vùng /dev/hda6 nh sau: mount /intranet Cùng m t h th ng file, câu l nh sau ây là t ơ ng t : mount –t ext2 /dev/hda6 /intranet Tùy ch n –t c s d ng xác nh ki u file h th ng. g n t t c các h th ng file có trong /etc/fstab s d ng tùy ch n –a. Ví d : mount –a –t ext2 Thông th ng ng i s d ng ch n tùy ch n –o là ro (ch c) ho c rw ( c ghi). Ví d: mount –t ext2 –o ro /dev/hda6 /secured • Lnh umount Cú pháp : umount –a [-t fstype] Lnh umount ng c l i v i l nh mount. Ví d umount /cdrom 2.3.4. Các câu l nh qu n lý ti n trình • Lnh bg Cú pháp: bg ây là k ch b n shell c xây d ng s n. a m t ti n trình ang ch y v ch y sau hu c nh (ti n trình n n). • Lnh fg
  38. www.nhipsongcongnghe.net Cú pháp: fg [%job-number] Câu l nh này cho phép b n chuy n m t ti n trình n n lên ch y trên ti n c nh. Nu b n ch y câu l nh này không có b t k i s nào, nó s a câu l nh cu i cùng sau h u c nh lên hi n th . Ví d , n u có hai câu l nh ch y sau h u c nh, b n có th chuy n câu l nh th nh t lên ch y trên ti n c nh b ng câu l nh: fg %1 • Lnh jobs Cú pháp: jobs Lnh này cho phép b n hi n th các ti n trình n n ang ch y. Ngoài ra còn m t s lnh s c trình bày trong các ph n sau. 3. Gi i Thi u H Th ng T p Tin, Th ư M c 3.1. Gi i thi u Trong linux file c t ch c thành các th m c, theo mô hình phân c p. Tham chi u n m t file b ng tên và ng d n. Các câu l nh thao tác file cho phép th c hi n các ch c n ng nh d ch chuy n, sao chép toàn b th m c cùng v i các th m c con ch a trong nó Có th s d ng các ký t , d u g ch d i, ch s , d u ch m và d u ph y t tên file. Không c b t u m t tên file b ng d u ch m hay ch s . Nh ng ký t khác nh ‘/’, ‘?’, ‘*’, là ký t c bi t c dành riêng cho h th ng. Chi u dài c a tên file có th t i 256 ký t . Tt c các file trong linux có chung c u trúc v t lý là chu i các byte (byte stream). Cu trúc th ng nh t này cho phép linux áp d ng khái ni m file cho m i thành ph n d li u trong h th ng. Th m c c ng nh các thi t b c xem nh file. Chính vi c xem m i th nh các file cho phép linux qu n lý và chuy n i d li u m t cách d dàng. M t th m c ch a các thông tin v th m c, c t ch c theo m t nh d ng c bi t. Các thành ph n c xem nh các file, chúng c phân bi t d a trên ki u file: ordinary file, directory file, character device file , và block device file. 3.1.1. Th ư m c ch Sau khi ng nh p h th ng, ng i dùng s ng th m c ch . Tên c a th m c này gi ng v i tên tài kho n ng nh p h th ng. Các file c t o khi ng i dùng ng nh p c t ch c trong th m c ch . 3.1.2. Các th ư m c h th ng Th m c root, là g c c a h th ng file c a Linux, ch a m t vài th m c h th ng. Th m c h th ng ch a file và ch ơ ng trình s d ng ch y và duy trì h th ng. Bi u di n các th m c nh sau: /(root) sbin usr dev var etc home sbin bin lib man User0 1 User0 2
  39. www.nhipsongcongnghe.net Mô t th m c Th ư m c Ch c n ng / Bt u c u trúc file, g i là th m c g c (root) /home Ch a th m c g c ( home ) c a ng i dùng /bin lu ch t t c các câu lnh chu n và các ch ơ ng trình ti n ích /usr ch a các file, câu l nh c h th ng s d ng, th m c này c chia thành các th m c con khác /usr/bin Ch a các câu l nh h ng ng i dùng và các ch ơ ng trình ti n ích /usr/sbin Ch a các câu l nh qu n tr h th ng /usr/lib Ch a th vi n cho các ngôn ng l p trình /usr/doc Ch a tài li u c a linux /usr/man Ch a các file ch d n cho các câu l nh (man) /sbin Ch a các file h th ng kh i ng h th ng /dev Ch a giao di n cho các thi t b nh u cu i và máy in /etc Ch a file c u hình h th ng và các file h th ng khác 3.2. Các quy n truy c p file/th ư m c Trong Linux, m i file hay th m c c k t h p v i m t ng i s d ng và m t nhóm ng i s d ng. Hãy xem m t ví d : -rwxr-x-r 1 trantu trantu 191 Apr 14 14:55 .bash_profile Dòng bên trên c t o b i l nh ls –l .bash_profile trên h iu hành Linux. L nh ls a ra danh sách các file và th m c. Tùy ch n –l a ra danh sách y các thông tin v file .bash_profile. B ng bên d i mô t các ki u thông tin a ra:
  40. www.nhipsongcongnghe.net Ki u thông tin Thông tin k t xu t Quy n truy c p file -rw-rw-r S liên k t 1 Ng i s d ng (s h u file) Trantu Nhóm s d ng Trantu Kích th c file (theo bytes) 191 Ngày s a i sau cùng Apr 14 Th i gian s a i sau cùng 14:55 Tên file .bash_profile ây, ng i s d ng là trantu. ây là ng i s d ng th ng xuyên, có quy n thay i các quy n trùy c p i v i file này. Ch có m t ng i s d ng khác có quy n thay i thu c tính file này, ó là superuser. Nhóm s d ng file này là trantu, b t k nh ng ng i s d ng nào thu c nhóm trantu c ng có quy n c, và th c thi d a vào quy n ca nhóm c t b i ng i s h u. Khi b n t o m t file trên h th ng Linux, h th ng s m c nh ng i s h u file này có tên là tên ng nh p c a b n và có tên nhóm gi ng nh tên c a ng i s h u. M t ng i s d ng thông th ng không th gán l i quy n s h u m t file hay th m c cho ng i khác. Ví d , b n không th t o mt file v i ng i s d ng kabid ri sau ó gán l i quy n s h u cho ng i khác có tên là sheila bi lý do b o m t. N u m t ng i s d ng thông th ng có quy n gán quy n s h u file cho ng i khác, thi m t ai ó cúng có th t o m t ch ơ ng trình x u nh xóa các file, và thay i quy n s h u cho superuser, và không bi t iu gì s x y ra. Ch có ng i superuser m i có th gán l i quy n s h u file hay th m c cho ng i khác. 3.2.1. Thay i quy n s h u file, th ư m c s d ng l nh chown Ng i s d ng superuser có th thay i quy n s h u file, th m c cho m t ng i s dng khác. thay i quy n s h u s d ng câu l nh sau: chown newuser file ho c th ư m c Ví d : chown trantu example.txt Câu l nh này làm cho ng i s d ng trantu có quy n s h u file example.txt Nu superuser mu n thay i nhóm cho m t file ho c th m c, ng i ó có th s dng câu l nh chown nh sau:
  41. www.nhipsongcongnghe.net chown newuser.newgroup file ho c th ư m c Ví d chown trantu.admin example.txt Câu l nh trên không ch thay i quy n s h u file cho trantu mà còn t l i nhóm s dng file là admin. N u superuser mu n thay i ng i s h u và nhóm s d ng cho tt c các file trong m t th m c, ng i ó có th s d ng câu l nh chown v i tùy ch n –R. Ví d chown –R trantu.admin /home/trantu/ 3.2.2. Thay i nhóm s d ng file/th ư m c v i l nh chgrp Câu l nh chgrp cho phép b n thay i quy n s d ng file hay th m c c a m t nhóm, ch n u b n thu c v c hai nhóm (nhóm c và nhóm m i). Ví d : chgrp httpd *.html Lnh trên s thay i nhóm s d ng cho t t c các file có ph n m r ng html. B n ch có th thay i c n u b n thu c nhóm httpd. Gi ng nh l nh chown, l nh chgrp cng có tùy ch n –R thay i quy n v i nhi u file hay th m c. 3.2.3. S d ng s theo h c ơ s 8 t ươ ng ng v i thu c tính truy c p H c ơ s 8 s d ng 8 s (0-7), và m i s t ơ ng ng v i 3 bit (theo h nh phân). B ng bên d i ch cho b n th y s t ơ ng ng v quy n v i s h c ơ s 8. S th 1 S th 2 S th 3 S th 4 4 set-UID R r r Giá tr c ơ 2 set-GID W w w s 8 1 sticky-bit X x x Special User Group Others Nh trên b ng trên, s th nh t c s d ng cho vi c thi t l p các quy n c bi t, s th hai c s d ng cho vi c thi t l p ng i s h u file hay th m c. S th ba c s d ng thi t l p quy n cho nhóm ng i s d ng và s th t c s d ng thi t l p quy n cho t t c m i ng i. Khi b t k m t s nào b b qua, nó c xem nh nh n giá tr 0. B ng bên d i ch ra m t vài ví d v các giá tr t ơ ng ng vi quy n:
  42. www.nhipsongcongnghe.net Giá Tr Gi i Thích 0400 Ch có quy n c cho ng i s h u, nó t ơ ng ng v i 400. 0440 Ch có quy n c vi ng i s h u và nhóm ng i s d ng. Nó t ơ ng ng v i giá tr 440. 0444 Quy n c cho t t c m i ng i. Nó t ơ ng ng v i giá tr 444 0644 Ng i s h u có quy n c và ghi, t t c m i ng i có quy n c, t ơ ng ng v i giá tr 644. (6 là t a b i 4:r và 2:w) 0755 c ghi và th c thi i v i ng i s d ng, c và th c thi i vi t t c m i ng i. (7 là t o b i 4:r , 2:w và 1:x) 4755 Nó t ơ ng ng v i giá tr 755 ngo i tr file này c t giá tr set-UID = 4. iu này có ngh a là khi file c th c thi, nó có tt c các quy n c a ng i s h u th c hi n công vi c. S là mt l h ng l n n u ng i s h u y là root và nh ng ng i khác có quy n th c thi file này. Hãy c n th n khi thi t l p giá tr c a set-UID. 2755 Nó t ơ ng t v i giá tr 755 ngo i tr , khi th c thi nó có t t c các quy n c a nhóm s d ng file. thi t l p quy n phù h p, b n nên ch ra ki u truy c p c a ng i s d ng, nhóm ng i s d ng và c a nh ng ng i khác. 3.2.4. S d ng ngôn ng t nhiên t ươ ng ng v i quy n truy c p Bây gi chúng ta s s d ng xâu truy c p ơn gi n h ơn vi c s d ng s . B ng bên di ch ra các xâu truy c p t ơ ng ng v i các quy n: read (r) read (r) read (r) read (r) write (w) write (w) write (w) write (w) execute (x) execute (x) execute (x) execute (x) Special User Group Others all (a) Mi ki u quy n t ơ ng ng v i m t ký t ơn (trong d u ngo c). 3.2.5. Thay i quy n truy c p file th ư m c s d ng l nh chmod Ti n ích chmod cho phép b n thay i các quy n. B n có th s d ng các ch s hay các ký t v i ti n ích này thay i quy n. Ví d
  43. www.nhipsongcongnghe.net chmod 755 *.pl Câu l nh trên thay i quy n cho các file có ph n m uôi là .pl. M i m t file .pl c t các quy n c, ghi và th c thi b i ng i s h u, các file cúng có th c và th c thi b i nhóm ng i s d ng và nhng ng i khác. B n có th hoàn thành cùng mt công vi c nh v y v i l nh sau: chmod a+rx,u+w *.pl a+rx c s d ng cho phép t t c m i ng i c và th c thi i v i m i file .pl và u+w c s d ng cho phép ng i s h u có quy n ghi i v i m i file .pl. Nu b n mu n thay i các quy n cho t t c các file và các th m c con trong m t th m c, b n có th s d ng tùy ch n –R: chmod –R 750 /www/mysite 3.2.6. Các chú ý c bi t trên các quy n th ư m c Các quy n thi t l p cho m t th m c c ng t ơ ng t nh các file thông th ng, nh ng không gi ng h t nhau. D i ây là m t vài chú ý c bi t trên các quy n th m c: - Quy n ch c cho m t th m c s không cho phép b n chuy n vào bên trong th m c, chuy n vào bên trong b n c n có quy n th c thi - Quy n ch c th c thi s cho phép b n truy c p vào các file b ntong m t th mc khi b n bi t tên c a chúng và b n c phép c chúng. - có th a ra danh sách n i dung c a m t th m c s d ng câu l nh t ơ ng t nh ls và cúng có th chuy n vào bên trong th m c b n c n có c quy n c và quy n th c thi i v i th m c ó - Nu b n có quy n ghi cho m t th m c, b n có th t o, thay i, xóa các file bt k hay các th m c con b t k bên trong th m c ó ngay c khi file và th m c con c s h u b i ng i khác 3.3. T o m t chính sách quy n cho m t server nhi u ng ưi s d ng 3.3.1. Thi t l p c u hình các quy n truy c p file c a ng ưi s d ng Trong th m c c a m i ng i s d ng có m t vài file n chung b t u v i d u ch m (.). Các file này th ng c s d ng thc thi các câu l nh t i th i im ng i s dng ng nh p. Ví d , t t c các shell (csh, tcsh, bash, ) s n sàng cho m t ng i s d ng c các thi t l p c a h t m t file gi ng nh .cshrc hay .bashrc. N u m t ng i s d ng không c n th n trong vi c gi quy n các file m t cách hoàn h o, m t ng i s d ng không thân thi n khác có th gây ra các v n không mong mu n Ví d, n u m t file .cshrc c a ng i s d ng có th c vi t b i ng i khác, ng i su có th ch ơi m t trò t n công ngu ng c nh a m t câu l nh logout ngay dòng u ca file .cshrc, nh v y ng i s d ng s thoát ngay khi ng nh p vào h th ng. N u
  44. www.nhipsongcongnghe.net bn có quy n thao tác v i nh ng ng i s d ng b n có th th c hi n nhanh chóng vi c ki m tra ơn gi n sau: find /home -type f -name ".*rc" -exec ls -l {} \; Câu l nh này s hi n th quy n c a t t c các file có ký t u tiên là d u ch m, k t thúc b ng “rc” n m trong th m c home 3.3.2. Thi t l p m c nh các quy n truy c p file cho ng ưi s d ng Là ng i qu n tr b n c n nh ngh a các quy n m c nh thi t l p cho t t c các file ca ng i s d ng a vào h th ng c a b n. thi t l p m c nh quy n cho các file mi, b n có th s d ng c u l nh umask nh sau: umask mask hi u t umask nh th nào, hãy xem ví d sau. Khi nói r ng umask t là 022, file mi c t o , thông th ng m t quy n 0666 c yêu c u b i hàm t o file – open. Tuy nhiên, trong tr ng h p này , quy n cu i cùng thi t l p cho các file c t o b i h th ng nh sau: 0666 c th c hi n phép toán AND v i ph n bù c a 022 (ph n bù ca 022 là 755) do ó k t qu c a phép AND thu c là 0644, nó cho phép ng i s hu c và ghi còn nh ng ng i khác ch có quy n c. t o m t mask m c nh cho cacs quy n truy c p file, b n có th nhúng câu l nh umask vào m t shell tài nguyên chung trong /etc khi m t ng i s d ng ng nh p và ch y m t shell, file tài nguyên shell chung s c th c thi. Ví d , n u ng i s d ng c a b n s d ng shell /bin/csh hay /bin/tcsh, b n có th a m t câu l nh umask mong mu n trong file /etc/csh.cshrc cho m c ích này. 3.3.3. Thi t l p các quy n có th th c thi cho các file Các file ch ơ ng trình có th c ch y b i nh ng ng i s d ng thông th ng không bao gi nên t quy n c ghi cho b t k ai khác ngoài ng i s h u. Ví d , các file ch ơ ng trình trong /usr/bin nên thi t t các quy n nh ch root có quy n c, ghi và th c thi và t t c m i ng i ch có quy n c và th c thi các file này. Vi c cho phép ng i khác ghi có th t o ra m t l h ng nghiêm tr ng cho h th ng. 3.4. Làm vi c v i các file và các th ư m c 3.4.1. Xem các file và các th ư m c Bn có th ã quen v i l nh ls, thông th ng nó c s d ng v i các tùy ch n –l (long listing) hi n th y thông tin, -a hi n th t t c các file bao g m c các file bt u b ng d u ch m và –R hi n th t t c các file và các th m c con bên trong thu mc mong mu n 3.4.2. Chuy n n th ư m c Bn g n nh ã quen v i câu l nh cd, nó là m t shell xây d ng s n. N u b n không cung c p m t tên thu m c b t k làm i s cho nó, nó s chuy n v th m c ch c a
  45. www.nhipsongcongnghe.net bn mà hi n t i b n ang s d ng. Khi b n ang ng b t k âu trong h th ng file, b n có th s d ng l nh pwd hi n th ng d n n th m c hi n t i. 3.4.3. Xác nh ki u file Không gi ng nh h iu hành Windows, Linux không d a vào ph n m r ng c a file xác nh ki u file. B n có th s d ng ti n ích file xác nh ki u file trong h th ng. Ví d : file todo.txt Kt qu hi n th nh sau: todo.txt: ASCII text 3.4.4. Xem th ng kê các quy n c a file hay th ư m c Bn có th s d ng l nh stat l y th ng kê v các file và các th m c: stat ./exam Kt qu hi n th trên màn hình File: "./exam" Size: 4096 Blocks: 8 IO Block: -4611692478058196992 Directory Device: 812h/2066d Inode: 157762 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: Wed Jun 18 14:56:48 2003 Modify: Wed Jun 18 11:18:42 2003 Change: Wed Jun 18 11:18:42 2003 3.4.5. Sao chép file và th ư m c S d ng câu l nh cp sao chép t m t v trí xác nh n v trí khác: cp /some/important /new/place Bn c ng có th xác nh m t tên m i cho file sao chép. Thông th ng l nh cp c s d ng v i tùy ch n –f sao chép file t ngu n n ích mà không quan tâm n n vi c có m t file cùng tên t n t i ích. File m i s c sao chép è lên file c . sao chép m t th m c n m t th m c khác b n th c hi n l nh cp v i tùy ch n –r ví d :
  46. www.nhipsongcongnghe.net cp –r /tmp/foo /zoo/foo 3.4.6. Dch chuy n các file và th ư m c d ch chuy n các file hay th m c s d ng câu l nh mv. Ví d , chuy n /file1 vào /tmp/file2 ta s d ng câu l nh sau: mv /file1 /tmp/file2 3.4.7. Xóa các file và th ư m c xóa cac file và th m c s d ng l nh sau: rm filename Khi xóa h th ng s h i b n có th s mu n xóa hay không. N u b n ã ch c ch n file b n mu n xóa b n có th th c hi n l nh xóa rm v i tùy ch n –f không hi n ra thông tin yêu c u xác nh n c a h th ng. xóa m t th m c, b n c n th c hi n l nh rm v i tùy ch n –r 3.4.8. Tìm ki m file xác nh v trí chính xác c a m t filem, b n có th s d ng l nh which. Ví d : which httpd Câu l nh này s ch ra cho b n y ng d n c a ch ơ ng trình httpd n u nó s n có. B n c ng có th xác nh m t ph n c a tên file hay th m c s d ng l nh locate locate netpr.pl 4. Qu n lý ng ưi dùng và tài nguyên 4.1. Khái ni m Linux là h iu hành a nhi m và a ng i dùng. M i ng i dùng có tên truy nh p và m t kh u riêng, t ơ ng ng v i nh ng quy n h n nh t nh trong h th ng file c a Linux. t o iu ki n thu n l i trong qu n lý ng i dùng và quy n h n i v i h th ng file, Linux cho phép khai báo nh ng nhóm ng i dùng, m i nhóm là m t t p h p nh ng ng i dùng chung m t m c ích khai thác tài nguyên nh t nh. M i ng i dùng có th tham gia nhi u nhóm ng òi dùng khác nhau. M i ng òi dùng c ng m c
  47. www.nhipsongcongnghe.net nhiên l p nên m t nhóm ng i dùng là nhóm c a chính h (nhóm có th ch có m t thành viên). Ng i dùng có toàn quy n trong Linux là ng i dùng root, m c nhiên thu c v nhóm root. Ng i dùng có quy n root n nh m t ng i dùng nào ó thu c v nhóm root và có quy n t ơ ng ơ ng v i root. 4.2. Tr thành superuser Bn ã bi t r ng tài kho n root là tài kh an superuser trong h th ng Linux. Th c ra nu b n t cài t h th ng, b n ã s d ng tài kho n này ng nh p h th ng l n u tiên. B n c ng bi t r ng root là tài kho n superuser, tài kho n này có quy n làm mi th trên h th ng. Ng i s d ng root có th kh i ng hay d ng m t ch ơ ng trình b t k c ng nh t o và xóa m t file b t k . R t nhi u nh ng ng i m i qu n tr h th ng Linux cho r ng ch có root là tài kho n superuser. Hãy nhìn xu ng on mã bên d i có trong file /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: vietvq:x:0:0:root:/home/vietvq:/bin/bash xanhhh:x:0:0:root:/root:/bin/bash tuta:x:0:0:root:/var:/bin/bash Bn có th th y c trên có 4 tài kho n superuser. hi u t i sao b n hãy xem nh d ng m t dòng trong file /etc/passwd username:passwd:UID:GID:fullname:home-dir:shell Bn hãy chú ý vào các tr ng UID (User ID) và GID (Group ID) c a tài kho n root. Nh ng tài kho n mà có các giá tr c a các tr ng này là 0 là nh ng superuser. Hay nói m t cách khác nh ng ng i có UID = 0 và GID = 0 có quy n t ơ ng ơ ng v i tài kho n root. Nh v y n u h th ng c a b n ph i có nhi u tài kho n superuser do m t s lý do qu n tr , b n có th d dàng t o m t tài kh an superuser. Tuy nhiên, hãy nh r ng m t tài kho n superuser (UID=0, GID=0) có th làm m i th . 4.3. Qu n lý ng ưi dùng v i các công c dòng l nh 4.3.1. T o m t tài kho n ng ưi s d ng m i To m t ng i s d ng m i khá d dàng, t o ng i s d ng t dòng l nh, b n có th s d ng câu l nh useradd. Ví d t o ng i s d ng có tên là tutavn, b n có th ch y câu l nh sau:
  48. www.nhipsongcongnghe.net useradd tutavn Trong file /etc/passwd s b sung thêm dòng m i nh sau: tutavn:x:502:504::/home/tutavn:/bin/bash Kí hi u x có ngh a là tài kho n ch a có m t kh u. Vì v y b n c n t o m t kh u cho ng i s d ng b ng câu l nh sau: paswd tutavn Bn s c yêu c u vào m t kh u hai l n, và khi m t kh u c ti p nh n, nó s c mã hóa và thêm vào dòng c a ng i s d ng trong file /etc/passwd. Các giá tr UID và GID s c l a ch n t ng b i useradd, thông th ng nó t ng giá tr UID và GID lên m t so v i ng i c thêm vào l n sau cùng tr c ó. B n có th t o ng i s d ng có th m c ch khác v i m c nh (trong th m c home) b ng th c hi n câu l nh: useradd newuser –d /www/newuser Ng i s d ng m i s c t o và có th m c ch là /www/user. Khi b n t o m t ng i s d ng m i, h th ng c ng ng th i m c nh t o ra m t nhóm m i có trong file /etc/group có tên gi ng nh tên tài kho n c a ng i s d ng. t o ng i s dng v i tên nhóm m i hay tên nhóm ã t n t i trong h th ng, b n s d ng l nh adduser v i tùy ch n –g. Ví d : useradd tutavn –g users Nu b n mu n t o ng i s d ng m i là thành viên c a m t s nhóm, b n có th s dng tùy ch n –G. ví d useradd tutavn –G users1,users2 4.3.2. T o m t nhóm m i t o m t nhóm m i b n s d ng câu l nh groupadd. Ví d : groupadd mygroup
  49. www.nhipsongcongnghe.net Nu b n t o m t tên nhóm ã có trong h th ng b n s nh n c m t thông báo l i 4.3.3. S a i m t tài kho n ng ưi s d ng ang t n t i • Thay i m t kh u thay i m t kh u c a tài kho n ang t n t i b n s d ng câu l nh passwd.Ví d : passwd tutavn Câu l nh này t ơ ng i ơn gi n vì nó không có các tùy ch n, và nó ch cho phép ng i s d ng thông th ng ch có th thay i m t kh u c a chính h . H th ng s yêu c u b n nh p m t kh u hai l n và khi m t kh u c ti p nh n, nó s c mã hóa tr c khi a vào file /etc/passwd 4.3.4. Thay i ưng d n th ư m c ch thay i ng d n th m c ch c a ng i s d ng ang t n t i, s d ng câu l nh usermod nh sau: usermod –d new_home_directory username Ví d , n u m t ng i s d ng tutavn có th m c ch /home/tutavn và mu n chuy n thành /home2/tutavn, b n có th ch y câu l nh sau: usermod –d /home2/tutavn tutavn Tuy nhiên, n u b n mu n n i dung th m c ch n m t v trí m i, s d ng tùy ch n –m nh sau: usermod –d –m /home2/tutavn tutavn 4.3.5. Thay i UID thay i UID c a m t ng i s d ng, s d ng câu l nh usermod nh sau: usermod –u UID username Ví d : usermod –u 500 myfrog Câu l nh này s thay i UID c a ng i s d ng myfro là 500
  50. www.nhipsongcongnghe.net 4.3.6. Thay i nhóm m c nh thay i nhóm m c nh cho ng i s d ng, s d ng câu l nh usermod v i tùy ch n –g usermod –g 777 myfrog Câu l nh này s thay i nhóm m c nh c a myfrog thành 777. 4.3.7. Thay i th i h n k t thúc c a m t tài kho n Bn có th thay i th i h n k t thúc c a m t tài kho n s d ng câu l nh usermod v i tùy ch n –e. Cú pháp c a câu l nh nh sau: usermod –e MM/DD/YY username Ví d : usermod –e 12/31/99 kabir 4.3.8. S a i m t nhóm ang t n t i s a i tên m t nhóm ang t n t i, s d ng câu l nh groupmod. Cú pháp nh sau: groupmod –n new_group current_group Ví d : groupmod –n experts novices Nhóm novices ang t n t i c i tên thành experts. thay i GID c a m t nhóm s d ng tùy ch n –g nh sau: groupmod –g 666 troublemaker Câu l nh này s thay i GID c a m t nhóm troublemaker thành 666. 4.3.9 Xóa ho c h y b m t tài kho n ng ưi s d ng
  51. www.nhipsongcongnghe.net xóa m t tài khon ang t n t i s d ng câu l nh userdel. Ví d : userdel snake S xóa b tài kho n tài kho n snake kh i h th ng. N u b n mu n xóa th m c ch ca ng i s d ng và t t c các n i dung trong th m c, s d ng tùy ch n –r. Chú ý rng userdel s không xóa ngi s d ng n u ng i s d ng hi n t i ang ng nh p. Nu b n mu n h y b t m th i quy n truy c p c a t t c các tài kho n b n có th t o mt file t m th i có tên là /etc/nologin v i m t thông tin gi i thích lý do vì sao không c phép truy c p. Ch ơ ng trình login s không cho phép b t k tài kho n nào khác tài kho n root có th ng nh p trong th i gian này. 4.4. Cài t máy in 4.4.1. C u hình máy in ng d ng printconf cho phép ng i dùng c u hình máy in trong Red Hat Linux. Nó cho phép s a i t p tin cu hình /etc/printcap , các th m c b m in và b l c in. printconf c u hình h th ng in n c a b n, c g i là LPRng. LPRng c ng là m t h th ng in n ng m nh. Ph n này t p trung vào vi c s d ng printconf c u hình LPRng. s d ng printconf , b n ph i có quy n truy c p m c root. kh i ng printconf , theo m t trong các cách sau ây • Trên màn hình GNOME, ch n Main Menu Button => Programs => System => Printer Configuration kh i ng trong ch h a. • Trên màn hình KDE, ch n Main Menu Button => System => Printer Configuration kh i ng ch h a. • ánh l nh printtool t i d u nh c shell (VD: XTerm ho c GNOME terminal) kh i ng printconf Bn c ng có th ch y printconf d i d ng m t ng d ng trong ch text n u b n không cài t h th ng X Window ho c b n thích s d ng giao di n text h ơn. Khi ó, bn ph i log in theo tài kho n root (ho c dùng l nh su để chuy ển sang ng ười dùng root và đánh l ệnh /usr/sbin/printconf-tui t i d u nh c shell. Chú ý: b n ng s a i t p tin /etc/printcap, m ối khi daemon máy in (lpd) được kh ởi động hay kh ởi động l ại, t ệp tin /etc/printcap m ới s ẽ được sinh ra t ự động. Nu b n mu n cài t máy in mà không s d ng printconf , khi ó b n ph i ch nh s a tp tin etc/printcap.local . Các u vào trong /etc/printcap.local không c hi n th trong printconf nh ng c daemon máy in c khi kh i ng d ch v in n. Mi khi b n nâng c p h th ng c a b n lên phiên b n m i, t p c u hình s c printconf chuy n sang nh d ng m i và t p tin c u hình c s c ghi d i tên /etc/printcap.old .
  52. www.nhipsongcongnghe.net Hình 1: C a s printconf chính Có n m ki u hàng i in c c u hình b i printconf : • Local Printer — máy in c g n tr c ti p vào máy tính c a b n thông qua cng song song ho c c ng USB. Ki u hàng i in Queue Type s c thi t lp là LOCAL . • Unix Printer (lpd Spool) — máy in c g n trên m t h th ng UNIX khác mà có th c truy nh p thông qua m ng TCP/IP. Ki u hàng i in Queue Type cho máy UNIX xa s c thi t l p là LPD . • Windows Printer (SMB) — máy in c g n trên m t h th ng khác (Windows) có chia s máy in thông qua m ng SMB (s d ng d ch v samba chia s tài nguyên trên m ng: máy in, d li u ), ki u hàng i in Queue Type lúc ó s c thi t l p là SMB . • Novell Printer (NCP Queue) — máy in c g n vào m t h th ng s d ng công ngh m ng Novell's NetWare. Ki u hàng i in cho máy in Novel xa s c thi t l p là NCP . • JetDirect Printer — máy in c n i tr c ti p vào m ng (máy in m ng). Ki u hàng i in Queue Type cho máy in JetDirect s c thi t l p là JETDIRECT . Chú ý: Khi b n thêm m t hàng i in m i hay s a i hàng i in c , b n ph i kh i ng l i daemon máy in (lpd) nh ng thay i ó có hi u l c. Ch n Apply ghi l i nh ng thay i mà b n v a th c hi n và kh i ng l i daemon máy in. Các thay i s ch a c ghi trong t p tin c u hình /etc/printcap cho n khi daemon máy in (lpd) c kh i ng l i. th c hin công vi c này, ch n File => Save Changes và sau ó ch n File => Restart lpd . Nu m t máy in xu t hi n trong danh sách in v i Queue Type c thi t t là INVALID , c u hình máy in có th thi u các tu ch n c n có cho máy in ho t ng. Ch n Delete xóa máy in kh i danh sách.
  53. www.nhipsongcongnghe.net 4.4.2. Cài t máy in c c b cài t m t máy in g n trên c ng song song hay c ng USB c a máy tính, nh n nút New trên c a s printconf chính nh trên, ch n Next ti p t c. Hình 2: Cài t máy in Nh p tên máy in trong tr ng Queue Name và ch n Local Printer t danh sách Queue Type nh n Next ti p t c.
  54. www.nhipsongcongnghe.net Hình 3: Cài t máy in c c b printconf s có g ng phát hi n máy in và hi n th nh trong hình 4. Hình 4: Ch n thi t b máy in 4.4.3. Cài t máy in trên h th ng Unix xa cài t m t máy in g n trên m t h th ng Linux xa trong cùng m t m ng, nh n nút New trong c a s chính printconf. M t c a s nh hình 2 s xu t hi n, ch n Next ti p t c. Ca s nh hình 3 xu t hi n. B n c ng ph i nh p tên máy in vào tr ng Queue Name và ch n Unix Printer t trong th c ơn Queue Type , nh n Next ti p t c.
  55. www.nhipsongcongnghe.net Hình 5: Cài t máy in Unix xa Ca s ti p theo cho phép b n c u hình máy ch in xa ó. • Server — Hstname ho c i ch IP c a máy xa mà máy in g n vào. • Queue — Hàng i máy in xa, ng m nh là lp . Ng m nh không ch n tu ch n Strict RFC1179 Compliance . Ch khi nào b n gp v n v in n v i m t hàng i v i m t hàng i lpd không ph i Linux, hãy ch n tu ch n này c m các tính n ng in n LPRng nâng cao. Nh n Next ti p t c.
  56. www.nhipsongcongnghe.net Hình 6: Ch n Printer Server Bc ti p theo là ch n ki u máy in k t n i v i h th ng xa ó. Chú ý r ng máy xa ph i c c u hình cho phép m t máy c b có th a yêu c u và in n. th c hi n iu ó, b n ph i t o m t file /etc/hosts.lpd trên máy xa mà máy in g n kèm và thêm vào các a ch IP hay hostname c a các máy mu n in trên các dòng riêng r trong t p tin. 4.4.4. Cài t máy in Samba (SMB) Các b c th c hi n ban u t ơ ng t hai b c trên. Trong th c ơn Queue Type, ch n Windows Printer và nh n Next ti p t c.
  57. www.nhipsongcongnghe.net Hình 7: Cài t máy in SMB Trong c a s c a hình 8, in các thông s c u hình sau: • Share — Tên c a máy in c chia s mà b n mu n in t i ó. Tên này ph i cùng tên v i tên c nh ngh a cho máy in Samba trên máy Windows xa. Chú ý cú pháp ph i nh sau: //machinename/sharename . • User — Tên ng i dùng c phép truy nh p vào máy in. Tên này ph i t n ti trên h th ng Windows và ng i dùng có quy n truy nh p máy in. Tên th ng là guest i v i các máy Windows servers, ho c nobody i v i các máy Samba servers. • Host IP — Hostname hay a ch IP c a h th ng xa chia s máy in SMB. • Password — M t kh u (n u có) c a ng i dùng nh ngh a trong tr ng User • Workgroup — Tên workgroup máy ch y Samba thu c vào. Ch n nút Translate \n => \r\n chuy n i các ký t cu i dòng sang khuôn d ng mà h th ng Microsoft Windows có th c c. Nh n Next ti p t c.
  58. www.nhipsongcongnghe.net Hình 8: Ch n Print Server Bc ti p theo là ch n ki u máy in c k t n i v i h th ng SMB xa. 4.4.5. Ch n trình iu khi n Print Driver và k t thúc Sau khi ã ch n ki u hàng i máy in và cài t các thông s liên quan, b c ti p theo kà ch n trình iu khi n máy in. Bn s th y m t c a s nh hình 13. N u b n c u hình m t máy in c c b , hãy ch n trình iu khi n in t trong danh sách, ch n nhà s n xu t và lo i máy in c a b n.
  59. www.nhipsongcongnghe.net Hình 13: Ch n trình iu khi n máy in Máy in c c b : Nu b n c u hình máy in xa (LPD, SMB, hay NCP), máy in ch xa s in n theo trình iu khi n máy in c a nó. C g ng ch n úng trình iu khi n máy in xa ó. Bc cu i cùng là kh ng nh l i các thông s c u hình, nh n nút Apply ghi l i các thay i và trong t p tin c u hình etc/printcap và kh i ng l i daemon máy in ( lpd ). Hãy in th 1 trang xem c u hình b n thi t l p ã úng ch a.
  60. www.nhipsongcongnghe.net 4.4.6. Thay i thông s c u hình các máy in có s n xoá m t máy in ang t n t i, chon máy in và nh n nút Delete trên thanh công c , máy in s c lo i b trong danh sách máy in. Nh n nút Apply ghi l i các thay i và kh i ng l i daemo thi t l p m t máy in ng m nh, ch n máy in t danh sách và nh n nút Default trên thanh công c . Máy in ng m nh s có icon xu t hi n bên c nh tên máy in. Nu b n mu n thay i c u hình c a m t máy in, b n không th thay i các thi t t ó m t cách tr c ti p mà ch c ghi è lên nh sau: Ch n máy in, ch n File => Override Queue t th c ơn. Khi ó, máy in s có kí hi u c nh tên máy in. Ch n nút Edit th c hi n vi c hi u ch nh các thông s . C a s nh hình 14 xu t hi n cho phép b n thay i l i các thông s c a máy in. Hình 14: Thay i thông s máy in 4.4.7. Backup các thông s c u hình máy in Thông s c u hình c a b n c a vào t p tin /etc/printcap và được daemon máy in đọc khi kh ởi động. B ạn có th ể s ử d ụng các l ệnh để backup l ại các file c ấu hình ví d ụ nh ư backup file c ấu hình máy in và ghi thành file settings.xml /usr/sbin/printconf-tui Xexport > settings.xml khôi ph c l i file c u hình ã c backup theo cách trên, b n có th s d ng lnh d i ây
  61. www.nhipsongcongnghe.net /usr/sbin/printconf-tui Ximport < settings.xml 4.4.8. Qu n lý công vi c in n Khi b n mu n in m t file v n b n t Emacs ho c in m t hình nh t The GIMP , công vi c này s c a vào hàng m in. N u mu n xem danh sách các công vi c in n, a l nh lpq vào d u nh c shell, ví d : Rank Owner/ID Class Job Files Size Time active user@localhost+902 A 902 sample.txt 2050 01:20:46 Nu mu n d ng m t công vi c in nào ó, a l nh lprm job number v i tham s là nh danh c a công vi c in mà b n bi t c thông qua l nh lpq trên. B n c ng có th in n thông qua l nh lpr sample.txt in file v n b n sample.txt . 5. Trình di n thi t l p m ng và cài t diul-up trên Linux 5.1. Thi t l p m ng Linux Chúng ta s xem xét quá trình n i m t máy Linux vào m ng Ethernet trao i thông tin b ng giao th c TCP/IP trên Ethernet. 5.1.1. H H Linux và card m ng n i m t máy Linux vào m t m ng Ethernet, b n c n ph i có u tiên là m t card mng mà Linux ã có ch ơ ng trình driver. Sau ây là m t s m ng mà Linux có tr giúp (danh sách sau không y và các phiên b n m i c a Linux h tr r t nhi u các card m ng khá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 Gi s các b n mu n g n máy c a mình vào m t m ng LAN Ethernet và b n ã có mt card m ng. V n u tiên là s nh n bi t c a Linux i v i card này. N u card ca b n là m t card khá ph bi n nh 3c509 c a 3COM hay NE2000 c a Novell, HDH Linux s nh n bi t s hi n di n c a card trong quá trình boot. bit xem k t
  62. www.nhipsongcongnghe.net qu nh n bi t card m ng, ta có th xem xét các thông báo c a kernel Linux trong quá trình boot c a h th ng qua l nh 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 dòng in m báo r ng card m ng 3c509 ã c kernel nh n bi t. Trong tr ng hp kernel không nh n bi t card , chúng ta ph i làm l i kernel Linux và t module iu khi n (driver) c a card vào trong kernel hay c u hình ch load module. c u hình ti p n i m ng qua TCP/IP chúng ta ph i xác nh rõ các thông tin liên quan n a ch IP c a máy. Các thông tin c n bi t là : a ch IP c a máy Netmask a ch c a m ng Broadcast a ch IP c a gateway Chúng ta s l n l t im qua các khái ni m c ơ b n trên và s h c sâu h ơn trong ph n TCP/IP c a khóa h c. a ch IP c a máy là m t dãy 4 s vi t d c d ng A.B.C.D, trong ó m i s nh n giá tri t 0-255. N u máy c a b n k t n i m t m ng nh t i nhà do b n thi t l p thì a ch ki u 192.168.1.D là m t a ch nên t, v i D là các s khác nhau cho t ng máy. N u máy c a b n s hòa nh p v i m t m ng LAN ã có tr c ó và b n mu n kt n i v i các máy khác thì h i ng i qu n tr m ng v a ch IP b n có th gán cho máy c a mình cùng v i t t c các thông s ti p theo. Netmask. Tơ ng t nh trên, n u b n t qu n, netmask s là 255.255.255.0 a ch m ng. N u b n t qu n, a ch c a m ng s là 192.168.1.0 Broadcast. N u b n t qu n, broadcast là 192.168.1.255 a ch gateway. ây là a ch c a máy cho phép b n k t n i v i m ng LAN khác, t c là các máy tính v i 3 s u c a a ch không gi ng b n là 192.168.1. B n b tr ng n u b n ch liên l c v i các máy cùng m ng 192.168.1.XXX. Chú ý là a ch m ng c a máy gateway b t bu c ph i trùng v i a ch m ng c a b n. Sau khi ã xác nh các thông s , ví d nh IP address = 192.168.1.15 Netmask = 255.255.255.0
  63. www.nhipsongcongnghe.net suy ra network address = 192.168.1.0 và broadcast = 192.168.1.255 Gateway = 192.168.1.1 5.1.2. C u hình card m ng Lnh ifconfig Sau khi làm cho kernel nh n bi t s hi n di n c a card m ng, công tác ti p theo là c u hình TCP/IP cho card. Trong quá trình cài t Linux Redhat 6.X, bình th ng chúng ta ã c ch ơ ng trình cài t h i và c u hình h . Trong tr ng h p khi chúng ta b sung card m ng sau khi Linux ã c cài t, chúng ta có th s d ng ti n ích netconf cho m c ích này ho c chúng ta s d ng l nh ifconfig t cài t. Lnh ifconfig c s d ng trong quá trình boot h th ng c u hình các trang thi t b m ng. Sau ó, trong quá trình v n hành, ifconfig c s d ng cho debug, ho c cho ng i qu n tr h th ng thay i c u hình khi c n thi t . Lnh ifconfig không có tùy ch n dùng hi n th c u hình hi n t i c a má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 gán a ch IP 193.105.106.10 cho card m ng Ethernet u tiên ta dùng l nh ifconfig eth0 193.105.106.10 netmask 255.255.255.0 broadcast 192.105.106.255 Linux cho phép b n s d ng bí danh (alias) cho card m ng, t c là cho phép b n có nhi u a ch IP cho cùng m t card v t lý. K t qu nh n c g n gi ng nh b n có gn nhi u card v t lý lên máy. Do ó, b n có th dùng m t card n i v i nhi u mng logic khác nhau. Cú pháp c a l nh này là :
  64. www.nhipsongcongnghe.net ifconfig eth0:0 208.148.45.58 netmask 255.255.255.248 broadcast 208.148.45.255 up Các t p tin c u hình c a k t n i m ng là /etc/sysconfig/network-scripts/ifcfg-ethX vi X là 0,1 hay 0:0, 0:1 B n có th thay i c u hình k t n i m ng b ng cách sa i l i t p tin này b ng m t ch ơ ng trình so n th o text nh mc ch ng h n, sau ó kh i ng l i k t n i m ng b ng /etc/rc.d/init.d/network restart Nh ki m tra l i k t qu qua l nh ifconfig . Lnh route Lnh route cho phép làm các thao tác n b ng d n ng (forwarding table) c a kernel. Nó c s u tiên xác nh ng d n c nh (static) n nh ng máy ho c nh ng m ng qua các card m ng ethernet ã c c u hình tr c ó b i ifconfig. Lnh route không có tùy ch n (option) cho phép hi n th b ng d n ng hi n t i c a kernel (L nh netstat –r c ng có tác d 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 ch ra r ng card m ng eth0 c n i v i m t m ng 208.148.45.56 ta dùng l nh route nh sau : route add -net 208.148.45.56 eth0 Còn n u chúng ta mu n s d ng bí danh c a card m ng n i vào m t m ng logic khác, ta có th s d ng l nh route add -net 193.105.106.0 eth0:0 Công tác cu i cùng là ph i ch ra các a ch c a gateway m c nh. route add default gw 193.105.106.1 metric 1
  65. www.nhipsongcongnghe.net Bi t s d ng thành th o cú pháp c a 2 l nh ifconfig và route r t quan tr ng, nó cho phép các cán b qu n tr thay i c u hình k t n i m ng c a m t server m t cách nhanh chóng và không ph i kh i ng l i máy. Vì v y, server luôn s n sàng. B n cng có th s d ng ti n ích netconfig c u hình liên k t m ng n u ch a thành th o nhi u cú pháp c a các l nh trên. Lnh ping ng d ng c a l nh này là th xem 2 máy có k t n i c v i nhau ch a. Cú pháp cơ b n c a l nh r t ơn gi n là ping a_ch _IP_máy_ ích. Ví d 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 Nu 2 máy có th liên l c c v i nhau, chúng ta s bi t thêm th i gian tr l i cho bi t s thông thoáng v m ng gi a 2 máy. Có th nói, ping ph i ch y tr c tiên tr c tt c các ho t ng m ng khác. Chú ý: Nên s d ng ping –n tránh tr c tr c do d ch v DNS làm nh h ng t i vi c kt qu th k t n i m ng. Lnh Traceroute ây c ng là l nh cho phép ch n oán ho t ng c a m ng. Cú pháp c a l nh gi ng nh l nh ping nh ng k t qu không ch d ng s tr l i mà còn ch ra các thi t b trung gian n m gi a 2 má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
  66. www.nhipsongcongnghe.net 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!) Lnh traceroute là m t công c hi u qu cho phép ta phát hi n l i trong quá trình phân ng (IP routing). Ví d k t n i t A -> C có tr c tr c và v i traceroute t i C t máy A, ta có th phát hi n ra máy A k t n i máy B, r i máy B l i k t n i máy A do c u hình routing c a A và B sai. Chú ý là khi chúng ta th k t n i v i m t máy xa trong Internet, do nhi u m ng áp dng các b c t ng l a (firewall) nên nhi u khi l nh ping và traceroute không ch y nh ng trên th c ch t là m ng v n thông. 5.1.3. Các ti n ích m ng: Telnet và ftp • Telnet Telnet là m t ti n ích cho phép ng nh p vào m t máy tính xa và làm vi c gi ng nh v i máy t i ch . Ví d , có th dùng telnet ch y m t ch ơ ng trình trong m t siêu máy tính cách xa hàng ngàn d m. Telnet s d ng giao th c TCP/IP, c ng 23. S d ng: gi s máy c a b n ang ch y Window và b n ã c c p m t tài kho n trong máy ch Linux. 1. Nh n chu t vào "Start" ch n "RUN". 2. Gõ vào: “ telnet ” c a máy ch mà b n có tài kho n. Ví d "telnet linuxcourse.iti.edu.vn” và nh n OK. 3. Nu k t n i n máy ch thông su t, m t c a s s hi n lên m i b n cung c p tên tài khon và m t kh u. 4. Nh p vào tên tài kho n username và password d ng nh p. 5. ng nh p thành công thì b n s ng t i th m c nhà (home directory) c a mình. 6. Bt u phiên làm vi c c a b n. Ví d , dùng câu l nh " ls -al" hi n th t t c các t p trong th m c. 7. Kt thúc phiên làm vi c, gõ " exit ". • FTP FTP là vi t t t c a T p Transfer Protocol, m t ti n ích t i t p xa. V i ftp có th l y tp máy t xa v máy tính c a mình (download) và ng c l i, g i m t t p t máy ca mình lên máy xa (upload) n u b n có quy n write vào th m c máy ó. FTP s d ng giao th c TCP/IP, c ng 21. S d ng FTP Cách t i xu ng (download):
  67. www.nhipsongcongnghe.net • Telnet vào máy xa. • Gõ l nh ftp . • Máy s yêu c u tên ng nh p và password. M t trong nh ng ch cho phép mi ng i t i t p v t do là dùng tên ng nh p "anonymous" và password là a ch email c a b n. • Chuy n n th m c có các t p ta mu n t i v . • Gõ l nh: get . • k t thúc gõ quit . Cách t i lên (upload): T ơ ng t nh trên, nh ng dùng câu l nh put thay cho câu l nh get . 5.2. Cài t diul-up trên Linux 5.2.1. Cài t Ch n Internet Configuration Wizard tug menu System configuration Sau ó màn hình này s ch th
  68. www.nhipsongcongnghe.net ch n Modem connection, ch n Forward. Nh p vào các thông tin quay s ., sau ó ch n Forward
  69. www.nhipsongcongnghe.net Ch n gán IP ng, ch n Forward Ch n Apply, sau ó c a s Network configuration hi n ra
  70. www.nhipsongcongnghe.net n ây chúng ta ã hoàn t t b c cài t modem. 5.2.2. Quay s Ti màn hình này ch n giao di n ppp0 và click vào nút l nh Avtive Máy tính b t u quay s . file log s c c t vào /var/log/message.
  71. www.nhipsongcongnghe.net yess wait Khi xong màn hình network configuration s báo giao di n ppp0 là active.
  72. www.nhipsongcongnghe.net Có th ki m tra a chi IP ng và máy cung c p DHCP qua l nh “ifconfig -a” Lúc này k t n i coi nh ã c thi t l p, có th dùng ping t ki m tra. Bây gi thì chúng ta có th truy c p internet thông qua trình duy t.
  73. www.nhipsongcongnghe.net 6. Lp trình shell. Lp trình shell là m t trong nh ng công c h u ích nh t cho vi c qu n tr h th ng. Kh n ng vi t m t ch ơ ng trình ng n hoàn thành m t công vi c òi h i nhi u th i gian m nh h ơn r t nhi u so v i các công c qu n tr Linux khác c bi t n. L p trình Shell có th làm cho cu c s ng c a ng i qu n tr tr lên d th h ơn và nó là mt k n ng b t bu c i v i ng i qu n tr Linux. Có th nh n th y có r t nhi u công vi c c a nh ng ng i qu n tr h th ng i m t hàng ngày liên quan n các file và th m c. B t c khi nào b n ph i x lý v i m t s l ng l n các file, l p trình shell s làm cho công vi c c a b n tr lên d dàng h ơn. Ph n này s ch cho b n cách lp trình Shell c ơ b n, nó có th giúp cho b n th c hi n các công vi c hàng ngày. 6.1. T o và ch y ch ươ ng trình Shell Nó m t cách ơn gi n nh t, l p trình shell ch là các file ch a m t ho c nhi u câu lnh shell hay câu l nh Linux. B n có th s d ng các ch ơ ng trình ơ n gi n th c hi n các công vi c l p i l p l i, thay cho hai hay nhi u câu l nh luôn luôn c th c thi cùng nhau b ng m t câu l nh, t ng cài t các ch ơ ng trình khác, và vi t các ng d ng t ơ ng tác ơ n gi n. t o m t ch ơ ng trình shell, b n ph i t o m t file s d ng m t trình so n th o và a các câu l nh shell hay Linux mà b n mu n c th c thi vào trong file. Gi s rng b n có m t CD-ROM ã c g n vào h th ng Linux. Thi t b CD-ROM này c g n vào h th ng khi h th ng c kh i ng l n u. N u b n c n thay i a CD ã có trong CD b ng m t a CD m i. M t cách b n th c hi n c công vi c này là b n “nh ” CD-ROM kh i h th ng s d ng câu l nh umount, và sau ó gn l i s d ng câu l nh mount . Các câu l nh ch ra d i y cho b n th y tu n t các b c th c hi n: umount /dev/cdrom mount /dev/cdrom /cdrom Thay vi c gõ c hai câu l nh m i l n b n thay i a CD, b n có th t o m t ch ơ ng trình shell th c hi n c hai câu l nh này cho b n. t o ch ơ ng trinh shell này b n a c hai câu l nh vào trong m t file có tên là remount (ho c m t tên b t k nào khác mà b n mu n). Có m t vài cách th c hi n các câu l nh trong file remount. Cách th nh t là b n thay i thu c tính cho file này có th th c thi b ng cách th c hi n câu l nh sau: chmod +x remount Câu l nh này thay i quy n c a file làm cho file có th th c thi. ch y ch ơ ng trình shell m i, gõ remount trên dòng l nh. Ch ơ ng trình shell remount ph i n m trong m t th m c có trong ng d n tìm
  74. www.nhipsongcongnghe.net ki m c a b n, n u không h th ng s không tìm th y ch ơ ng trình th c thi. N u bn không chay c ch ơ ng trình b i vì file ó không c tìm th y, hãy xác nh ng d n. Ho c n u b n s d ng tcsh vi t ch ơ ng trình, dòng u tiên c a ch ơ ng trình shell ph i b t u v i # tcsh nh n ra nó nh m t file ch ơ ng trình tcsh. Th c ra, cách an toàn ( m b o ) nh t là dòng u c a m i ch ơ ng trình shell b n thêm #!/bin/sh m b o ch ơ ng trình shell c th c thi nh m t ti n trình Bourne shell. iu này ng n ch n nhi u v n v i ngôn ng l p trình C, shell s c g ng thông d ch cú pháp Bourne shell. Mt cách khác là b n có th th c thi ch ơ ng trình shell là ch y shell mà ch ơ ng trình c vi t theo nó và tên ch ơ ng trình nh m t khai báo cho shell. Trong tr ng h p mt ch ơ ng trinh tcsh, b n th c hi n câu l nh sau: tcsh remount Câu l nh này ch y m t shell m i và nói cho nó th c thi các câu l nh trong file remount. Cách th ba th c thi các câu l nh trong m t file ch ơ ng trình shell là s d ng câu lnh . (d u ch m) v i c shell pdksh và bash ho c câu l nh source trong shell tcsh. Các câu l nh này nói cho shell th c thi file c truy n vào nh i s . Ví d , b n có th s d ng câu l nh sau nói cho bash ho c pdksh th c thi các câu l nh trong file remount: . remount làm t ơ ng t i v i tcsh, s d ng câu l nh sau: source remount Ví d sau trình b y m t tình hu ng khác, trong ó vi c s d ng ch ơ ng trình shell s giúp ti t ki m r t nhi u th i gian. Gi s r ng b n ã ph i làm vi c v i ba file khác nhua trong m t th m c m i ngày, và b n mu n d phòng ba file này vào m t a mm vào cu i m i ngày. th c hi n c công vi c này, b n ph i gõ m t lo t các lnh: mount -t msdos /dev/fd0 /a cp file1 /dev/fd0 cp file2 /dev/fd0 cp file3 /dev/fd0 Mt cách d phòng các file là g n a m m vào h th ng và sau ó gõ ba câu l nh copy, m i l nh cho m t file b n mu n copy. M t cách ơn gi n h ơn là a b n câu lnh này vào trong m t file có tên là backup và sau ó th c hi n câu l nh backup khi bn mu n copy ba file này vào a m m.
  75. www.nhipsongcongnghe.net Bn v n ph i m b o ch ơ ng trình file shell backup có th th c thi và n m trong mt th m c mà có trong ng d n c a b n tr c khi ch y câu l nh. B n hãy c n th n khi s d ng m t tên file, nó có th t ơ ng ng v i tên c a m t câu lênh h th ng. Ví d , n u có m t ch ơ ng trình c g i là backup trong ng d n mà shell tìm ki m tr c khi c th m c hi n t i, câu l nh ó có th c thi thay cho file câu lnh shell. Vì lý do này, hãy c s d ng các tên file cho k ch b n shell c a b n không gn v i các câu l nh Linux . 6.2. S d ng các bi n Cng gi ng nh v i h u h t các ngôn ng l p trình, vi c s d ng các bi n là r t quan tr ng trong các ch ơ ng trình shell. T t nhiên, b n ã c nhìn th y m t vài ki u bi n tr c ó. M t vài ví d nói chung v bi n c s d ng là bi n PATH và bi n TERM. Các bi n này là các ví d v các bi n shell s n có, là các bi n c nh ngh a bi ch ơ ng trình shell mà b n ang s d ng. Ph n này miêu t cách làm th nào bn t o các bi n c a chính b n và s chúng trong m t vài ch ơ ng trình shell. 6.2.1. Gán m t giá tr cho m t bi n Trong c ba shell c cung c p b i Linux ( shell Bourne, Korn, và C ), b n có th gán m t giá tr cho m t bi n b ng cách gõ tên bi n theo su b i d u b ng và sau ó gõ giá tr mà b n mu n gán cho bi n. Ví d , gán m t giá tr 5 cho m t bi n có tên là count, vào câu l nh sau trong bash ho c pdksh: count=5 Vi tcsh, vào câu l nh sau t c k t qu t ơ ng t : set count = 5 Khi thi t l p m t bi n cho shell bash và pdksh, hãy ch c ch n r ng không có d u cách c hai bên d u b ng. V i tcsh, iu này không quan tr ng. Bi vì ngôn ng shell là m t ngôn ng k ch b n phi ki u, b n không ph i khai báo bi n nh b n có th ã t ng làm iu này trong l p trình C hay Pascal. B n có th s dng cùng m t bi n l u tr xâu ký t hay s nguyên. B n l u m t chu i ký t vào trong m t bi n c ng gi ng nh vi c b n l u m t s nguyên vào m t bi n, nh có th th y trong ví d d i ây:
  76. www.nhipsongcongnghe.net name=Garry (for pdksh and bash) set name = Garry (for tcsh) Sau khi b n l u m t giá tr vào m t bi n, b n làm th nào có th l y giá tr ó tr li? B n t tr c tên bi n v i d u ô la ($). in giá tr c l u tr trong bi n count ra màn hình, vào câu l nh sau: echo $count Nu b n quên d u $ tr c câu l nh, l nh echo s hi n th t “count” trên màn hình. 6.2.2. Tham s và các bi n Shell có s n Khi b n ch y ch ơ ng trình shell yêu c u hay h tr m t s các tùy ch n dòng l nh, mi tùy ch n này c l u tr trong m t i s . i s u tiên c l u tr trong mt bi n có tên là 1, i s th hai c l u tr trong bi n có tên là 2, và ti p t c nh th . Shell t tên các bi n này, vì v y b n không th t tên nh th cho các bi n mà bn nh ngh a. l y giá tr t các bi n này, b n ph i t tr c tên bi n v i m t d u $ nh b n làm i các bi n mà b n nh ngh a. Ch ơ ng trình shell reverse d i ây ch nh n hai i s . Ch ơ ng trình l y hai i s dòng l nh và in ra i s th hai dòng u tiên và i s u tiên dòng th hai: echo "$2" echo "$1" Nu b n g i t i ch ong trình b ng cách gõ dòng l nh sau reverse hello there Ch ơ ng trình s tr l i k t qu there hello Mt s các bi n shell quan tr ng c xây d ng s n mà b n c n bi t khi làm vi c nhi u v i l p trình shell. B ng 6.2.1 a ra danh sách các bi n này và mô t tóm t t mi bi n c s d ng làm gì. Bng 6.2.1 Các bi n shell có s n. Bi n S d ng $# Lu s các i s dòng l nh c a vào ch ơ ng trình shell $? Lu giá tr t n t i c a câu l nh c th c thi sau cùng $0 Lu t u tiên c a câu l nh c a vào, ó là tên c a ch ơ ng trình shell $* Lu t t c các i s c a vào t dòng l nh ("$1 $2 ")
  77. www.nhipsongcongnghe.net "$@" Lu t t c các i s c a vào t dòng l nh, có d u nháy kép riêng ("$1" "$2" ) 6.3. S d ng d u trích d n Vi c s d ng các d u trích d n là r t quan tr ng trong l p trình shell. Shell s d ng c hai ki u d u trích d n và ký t và d u g ch chéo ng c th c hi n các ch c n ng khác nhau. C d u nháy kép (""), d u nháy ơn (''), và d u g ch ng c (\) c s dng n các ký t c bi t trong shell. Các d u nháy có m t ý ngh a c bi t trong shell và nó không nên s d ng ch a các xâu. M i m t ph ơ ng th c có m t m c che d u khác nhau các ký t c biêtk trong shell. Khi b n bao quanh các ký t v i d u nháy kép, t t c các ký t tr ng c n trong shell, nh ng t t c các ký t khác v n c thông d ch. Ki u d u nháy kép này s dng h u ích nh t khi b n gán các chu i ch a nhi u h ơn m t t vào m t bi n. Ví d , gán chu i hello there cho bi n greeting, nh p vào câu l nh sau: greeting="hello there" (in bash and pdksh) set greeting = "hello there" (in tcsh) Câu l nh này l u tr toàn b chu i hello there vào bi n greeting nh m t t . N u b n gõ vào câu l nh mà không s d ng d u nháy kép, bash và pdksh có th không hi u câu l nh và có th tr l i m t thông báo l i, và tcsh có th gán giá tr hello cho bi n greeting và b qua ph n uôi c a dòng l nh. Du nháy ơn là hình th c s d ng m nh nh t c a d u nháy. Chúng n t t c các ký t c bi t trong shell. Ki u d u nháy này h u ích n u câu l nh c a b n a vào có dng ý cho m t ch ơ ng trình h ơn là cho shell. Ví d , b n có th s d ng d u nháy ơ n ghi chu i hello there, nh ng b n không th s d ng ph ơ ng th c này trong mt s tr ng h p. Ví d , n u chu i c gán cho bi n greeting ch a bi n khác, b n ph i s d ng d u nháy kép. Gi s r ng b n mu n a tên c a ng i s d ng trong bi n greeting. B n gõ câu l nh sau: greeting="hello there $LOGNAME" (for bash and pdksh) set greeting="hello there $LOGNAME" (for tcsh) Bi n LOGNAME là m t bi n shell ch a tên ng nh p c a ng i s d ng Linux ã ng nh p h th ng . Câu l nh này l u tr giá tr hello there root vào trong bi n greeting n u b n ã ng nh p vào Linux là root. N u b n c ghi câu l nh này s d ng d u nháy ơn, d u nháy