www.nhipsongcongnghe.net
www.nhipsongcongnghe.net
QU N TR H I U HÀNH LINUX
M C L C
1. Gi i thi u h i u hành Linux
1.1 L ch 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 D ch 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 T o superuser
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
4.3.2 T o m t nhóm m i
4.3.3 S a 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
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 S a 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 C u 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 i u 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 H H Linux và card m ng
5.1.2 C u 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. L p trình shell
6.1 T o 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 L nh if
6.5.2 L nh case
6.6 S d ng các câu l nh vòng l p
6.6.1 L nh for
6.6.2 L nh while
6.6.3 L nh until
6.6.4 L nh shift
6.6.5 L nh select
6.6.6 L nh repeat
6.7 S d ng các hàm
6.8 T ng 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 C u hình Apache
7.2.5 Xác th c ngư i dùng
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 i u 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 ch y
8.2.3 Giao ti p gi a các ti n trình
8.3 L p 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. B o 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 Tăng 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
www.nhipsongcongnghe.net
1. Gi i thi u h i u hành Linux
1.1. L ch s
Linux là h i u 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
b n 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...)
b t 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:
- Năm 1991: 100 ngư i dùng.
- Năm 1997: 7.000.000 ngư i dùng.
- Năm 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 mi n 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.
C u trúc file quy nh cách lưu tr các file trên ĩa. File ư c nhóm trong các thư
m c. 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 i u 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.
www.nhipsongcongnghe.net
1.2. Cài t máy ch Linux
Lưu ý: 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
g m
- 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. L a ch n ngôn ng
Ch n ngôn ng m c nh là English
www.nhipsongcongnghe.net
4. L a ch n ki u bàn phím
L a 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
www.nhipsongcongnghe.net
H p h i tho i cho phép b n ch n l a ki u cài t h i u 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. L a 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.
B n 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à
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 "/" v i 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
lư ng 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
M t s v n có th x y ra khi thêm m t partition
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.
www.nhipsongcongnghe.net
10.Kh i t o LILO
LInux LOader (LILO) cho phép b n xác nh th i gian kh i t o Linux hay m t h
i u 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
m c 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 i m boot.
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 i u 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.
www.nhipsongcongnghe.net
11.C u hình k t n i m ng
N u 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
m ng 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.C u hình firewall: ch n Medium
13.C u hình chu t
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
c a mình lo i gì thì c yên, click Next ti p t c.
L a 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,
b n 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. C u hình Time Zone
N u 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
www.nhipsongcongnghe.net
i u hành khác thì vi c thi t t ng h theo gi GMT s khi n cho h i u 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
H p tho i Root Password bu c b n ph i thi t l p m t m t kh u root cho h th ng
c a 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. T o user
B n 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
d ng b o dư ng hay qu n tr h th ng.
M t kh u c a user có phân bi t ch hoa ch thư ng và ít nh t là 6 ký t .
www.nhipsongcongnghe.net
15. B n có th t o ti p nhi u user theo c a s sau:
16. C u 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 i u
hành linux c a b n s d ng xác th c m t kh u.
L a 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.
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
m m, 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
b n.
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.
www.nhipsongcongnghe.net
18. C u 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.
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.
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 i u 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.
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 i u hành h UNIX b i kích thư c và kh năng c a nó.vi
không òi h i nhi u 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 i m 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 D ch chuy n c a s lên phía trư c b ng m t màn hình
Ctrl + B D ch chuy n c a s v phía sau m t màn hình
k ho c up arrow D ch chuy n con tr lên m t dòng
j ho c down arrow D ch chuy n con tr xu ng m t dòng
l ho c right arrow D ch chuy n con tr sang ph i m t ký t
h ho c left arrow D ch chuy n con tr sang trái m t kí t
Return D ch chuy n con tr n v trí b t u dòng ti p theo
- D ch chuy n con tr n v trí b t u c a dòng trư c
w d ch chuy n con tr n v trí b t u c a t ti p theo
b d ch chuy n con tr n v trí b t u c a t trư c
^ ho c 0 d ch chuy n con tr n v trí b t u c a dòng hi n t i
$ d ch chuy n con tr n v trí k t thúc c a dòng hi n t i
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 L p l i vi c tìm ki m theo cùng hư ng / ngư c hư ng
p, P Dán o n văn b n v a xoá vào trư c / sau con ch y
. L p 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! K t thúc, không lưu tr b t kỳ thay i
:ZZ Lưu thay i c a file hi n t i và k t thúc.
2.2. Ti n ích mc.
M t 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
l nh c a Linux cũng khó h c. Trong th i kỳ c a DOS trư c Windows, vi c nh
hư ng 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. M t trong s chương trình thông
d ng 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
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
d ng mouse cũng ư c h tr ch text.
N u 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
m t 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
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.
V i 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.
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
n n, 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
d ng:
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
m t 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
r ng 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 b t u m t t
> 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
 L y 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:
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
b ng m t t , s d ng <. Ví d :
grep ‘<ki’ data.txt
bi u th c bên trên s cho phép tìm ki m các t b t u b ng ‘ki’ trong file data.txt.
tìm ki m m u ‘wee’ k t thúc c a m t t , s d ng:
grep ‘wee>’ 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.
i u 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
g ch 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
Cũng có th xaca nh nhi u gi i h n trong cùng m t m u:
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
• L nh cat
Cú pháp: cat file [>|>] [destination file]
L nh 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
L nh 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
l nh. 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
t i. 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
L nh này s b sung n i dung c a file name4 vào allnames
• L nh chmod
Cú pháp: chmod [-R] permission-mode file ho c thư m c
L nh 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:
www.nhipsongcongnghe.net
chmod –R 744 public_html
• L nh chown
Cú pháp: chown [ -fhR ] Owner [ :Group ] { file …| thư m c… }
L nh 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
h u 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
h u 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ư
m c hi n t i ư c ch ra
• L nh 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
• l nh cmp
Cú pháp: cmp [ -ls ] file1 file2
L nh 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
k t 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
b ng 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.
• L nh cp
Cú pháp: cp [ -R ] file_ho c_thư_m c file_ho c_thư_m c
L nh 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
d ng câu l nh cp v i tuỳ ch n –R
• L nh du
L nh 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 ó.
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
• L nh 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.
• L nh 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”
L nh này s tìm t t 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
www.nhipsongcongnghe.net
Hi n th t t c các file r ng trong thư m c hi n t i.
• L nh grep
Cú pháp: grep [–viw] m u file
L nh 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
n u 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.
• L nh 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
c a 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.
• L nh ln
Cú pháp: ln [-s] file_ngu n ích
L nh 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
www.nhipsongcongnghe.net
M t 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à
m t file m i ư c t o trên h th ng file 1.
• L nh 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
k t 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.
• L nh ls
L nh 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
t i. 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ó.
• L nh 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
www.nhipsongcongnghe.net
L nh trên t o ra ba thư m c, n m bên trong thư m c hi n t i.
• L nh 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
B i 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.
• L nh 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
• L nh 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 :
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á,
b n 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.
• L nh 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
l nh:
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
• L nh 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
www.nhipsongcongnghe.net
inbox: Compression: 37.20% - replaced with inbox.Z
• L nh 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
• L nh gzip
Cú pháp: gzip [-rv9] file
L nh 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
r ng .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.
• L nh tar
Cú pháp: tar [c] [x] [v] [z] [f tên_file] tên_file_ho c_thư_m c
L nh 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
b n 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
r ng .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
www.nhipsongcongnghe.net
ây, t t c các file và các thư m c con c a thư m c important_dir ư c nén trong
m t 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
• L nh 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
c a nó tương t như l nh compress
uncompress –v inbox.Z
• L nh unzip
Cú pháp: unzip file
L nh 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
l nh zip.
• L nh 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 i u
hành. Các file ư c nén v i l nh zip có ph n m r ng .zip.
• L nh mount
Cú pháp: mount –a [-t fstype] [-o option] device directory
L nh 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 :
www.nhipsongcongnghe.net
/dev/hda6 /intranet ext2 defaults 1 2
N u 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
lưu 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
• L nh umount
Cú pháp : umount –a [-t fstype]
L nh 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
• L nh 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
h u c nh (ti n trình n n).
• L nh fg
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.
N u 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
• L nh jobs
Cú pháp: jobs
L nh 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
l nh 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 .
T t c các file trong linux có chung c u trúc v t lý là chu i các byte (byte stream).
C u 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
www.nhipsongcongnghe.net
Mô t thư m c
Thư m c Ch c năng
/ B t 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 lưu ch t t c các câu l nh 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 i u 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:
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
c a 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
m t file v i ngư i s d ng kabid r i sau ó gán l i quy n s h u cho ngư i khác có
tên là sheila b i 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 i u 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
d ng 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
N u superuser mu n thay i nhóm cho m t file ho c thư m c, ngư i ó có th s
d ng câu l nh chown như sau:
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
d ng file là admin. N u superuser mu n thay i ngư i s h u và nhóm s d ng cho
t t 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
L nh 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
cũng 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
2 set-GID W w w
1 sticky-bit X x x
Giá tr cơ
s 8
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
v i quy n:
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 v i 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
v i 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. i u này có nghĩa là khi file ư c th c thi, nó có
t t c các quy n c a ngư i s h u th c hi n công vi c. S là
m t 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
dư i 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
M i 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
all (a)
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à nh ng ngư i khác. B n có th hoàn thành cùng
m t 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.
N u 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ư
m c 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 ó
- N u 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
b t 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 th c thi các câu l nh t i th i i m ngư i s
d ng ă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
c a 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
www.nhipsongcongnghe.net
b n 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
c a 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
m i, 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
m i ư 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ù
c a 022 là 755) do ó k t qu c a phép AND thu ư c là 0644, nó cho phép ngư i s
h u 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
B n 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
b t 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
m c mong mu n
3.4.2. Chuy n n thư m c
B n 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
www.nhipsongcongnghe.net
b n 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 i u 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
K t 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
B n 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
K t 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
B n 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 :
www.nhipsongcongnghe.net
cp –r /tmp/foo /zoo/foo
3.4.6. D ch 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 i u 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 i u 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
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
B n ã bi t r ng tài kho n root là tài kh an superuser trong h th ng Linux. Th c ra
n u 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
m i 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 o n 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
B n 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
B n 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
T o 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:
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
B n 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
d ng 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
N u 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
d ng 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
www.nhipsongcongnghe.net
N u 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
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
B n 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
www.nhipsongcongnghe.net
xóa m t tài kho n 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
c a 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ú ý
r ng userdel s không xóa ngư i s d ng n u ngư i s d ng hi n t i ang ăng nh p.
N u 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
m t 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 c u 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
B n 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 ó,
b n 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.
N u 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
t p 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.
M i 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.
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
c ng song song ho c c ng USB. Ki u hàng i in Queue Type s ư c thi t
l p 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 hi n công vi c này, ch n File
=> Save Changes và sau ó ch n File => Restart lpd.
N u 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.
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.
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.
C a 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.
www.nhipsongcongnghe.net
Hình 5: Cài t máy in Unix xa
C a 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
g p 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.
www.nhipsongcongnghe.net
Hình 6: Ch n Printer Server
Bư c 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 i u ó, 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.
www.nhipsongcongnghe.net
Hình 7: Cài t máy in SMB
Trong c a s c a hình 8, i n 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
t i 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 => rn 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.
www.nhipsongcongnghe.net
Hình 8: Ch n Print Server
Bư c 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 i u 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 i u khi n máy in.
B n 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 i u 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.
www.nhipsongcongnghe.net
Hình 13: Ch n trình i u khi n máy in
Máy in c c b :
N u 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 i u khi n máy in c a nó. C g ng ch n úng trình i u khi n máy in xa ó.
Bư c 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.
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.
N u 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
l nh dư i ây
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
N u 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
m ng 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ó
m t 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
c a 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. bi t xem k t
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
h p kernel không nh n bi t card , chúng ta ph i làm l i kernel Linux và t module
i u 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 i m 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
k t 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
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
L nh 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.
L nh 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 .
L nh 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ó
g n 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
m ng logic khác nhau. Cú pháp c a l nh này là :
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
v i 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
s a 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.
L nh route
L nh 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.
L nh 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
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
cũng 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.
L nh 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
N u 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
t t 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
k t qu th k t n i m ng.
L nh 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
..............
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!)
L nh 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
d ng 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 <tên hay a ch IP>” 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. N u 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 kho n 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. B t 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. K t 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
t p 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
c a 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):
www.nhipsongcongnghe.net
• Telnet vào máy xa.
• Gõ l nh ftp <tên máy xa>.
• Máy s yêu c u tên ăng nh p và password. M t trong nh ng ch cho phép
m i 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 <tên t p mu n t i v >.
• 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
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
www.nhipsongcongnghe.net
Ch n gán IP ng, ch n Forward
Ch n Apply, sau ó c a s Network configuration hi n ra
www.nhipsongcongnghe.net
n ây chúng ta ã hoàn t t bư c cài t modem.
5.2.2. Quay s
T i 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.
www.nhipsongcongnghe.net
yess wait...
Khi xong màn hình network configuration s báo giao di n ppp0 là active.
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.
www.nhipsongcongnghe.net
6. L p trình shell.
L p 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à
m t 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
l p 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
l nh 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
r ng 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 ó
g n 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
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
b n 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. i u 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.
M t 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
m t 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
l nh . (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
m m 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
l nh:
mount -t msdos /dev/fd0 /a
cp file1 /dev/fd0
cp file2 /dev/fd0
cp file3 /dev/fd0
M t 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
l nh 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
b n mu n copy ba file này vào ĩa m m.
www.nhipsongcongnghe.net
B n v n ph i m b o chương trình file shell backup có th th c thi và n m trong
m t 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
l nh 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
g n v i các câu l nh Linux.
6.2. S d ng các bi n
Cũng 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
b i 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
b n 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
V i 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, i u này không quan tr ng.
B i 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 i u này trong l p trình C hay Pascal. B n có th s
d ng 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:
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
l i? 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
N u 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,
m i 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
m t 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à
b n 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"
N u 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
M t 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
m i bi n ư c s d ng làm gì.
B ng 6.2.1 Các bi n shell có s n.
Bi n S d ng
$# Lưu s các i s dòng l nh ư c ưa vào chương trình shell
$? Lưu giá tr t n t i c a câu l nh ư c th c thi sau cùng
$0 Lưu t u tiên c a câu l nh ư c ưa vào, ó là tên c a chương trình shell
$* Lưu t t c các i s ư c ưa vào t dòng l nh ("$1 $2 ...")
www.nhipsongcongnghe.net
"$@" Lưu 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
d ng 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
d ng 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.
D u 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ó
d ng ý 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
m t 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
www.nhipsongcongnghe.net
ơn s làm n d u $ trong shell, và shell không bi t r ng nó ư c yêu c u th c hi n
thay th m t bi n. K t qu , bi n greeting ư c gán giá tr hello there $LOGNAME.
S d ng d u g ch ngư c là cách th ba che d u các ký t c bi t trong shell.
Gi ng như phương th c d u nháy ơn, d u g ch ngư c n t t c các ký t c bi t
trong shell, nhưng nó ch có th n m t ký t t i m t th i i m, ch không ph i m t
nhóm các ký t . B n có th vi t l i ví d greeting s d ng d u g ch ngư c thay cho
d u nháy kép b ng cách s d ng câu l nh sau:
greeting=hello there (for bash and pdksh)
set greeting=hello there (for tcsh)
Trong câu l nh này, d u g ch ngư c n ký t tr ng trong shell và chu i hello there
ư c gán cho bi n greeting.
D u g ch ngư c thư ng ư c s d ng nhi u nh t khi b n mu n n ch m t ký t
trong shell. V n này xu t hi n khi b n mu n ưa vào m t ký t c bi t trong m t
chu i. Ví d , lưu giá c a m t h p ĩa máy tính vào m t bi n có tên là disk_price,
s d ng câu l nh sau.
disk_price=$5.00 (for bash and pdksh)
set disk_price = $5.00 (tcsh)
D u g ch ngư c trong ví d này n d u ô la trong shell. N u d u g ch ngư c không
có ó, shell có th c tìm m t bi n có tên là 5 và th c hi n m t phép thay th bi n
trên bi n ó. N u không có bi n tên là 5 ư c nh nghĩa, shell có th m t gán giá tr
.00 cho bi n disk_price. ( shell này có th thay th m t giá tr r ngcho bi n $5 ) B n
cũng có th s d ng d u nháy ơn trong ví v disk_price n ký hi u $ trong shell.
D u nháy ngư c (``) th c hi n m t ch c năng khác. B n s d ng chúng khi b n mu n
s d ng các k t qu c a m t câu l nh trong m t câu l nh khác. Ví d , t giá tr
c a bi n contents b ng danh sách các file có trong thư m c hi n t i, gõ câu l nh sau:
contents=`ls` (for bash and pdksh)
set contents = `ls` (for tcsh)
Câu l nh này th c thi câu l nh ls và lưu k t qu c a câu l nh vào bi n contents . Như
s ư c ch ra trong các o n sau, c i m này có th r t h u ích khi b n mu n ghi
k t qu c a m t chương trình shell th c hi n m t vài ho t ng vào trong m t câu
l nh khác.
6.4. S d ng câu l nh test
Trong bash và pdksh, câu l nh test ư c s d ng tính giá tr c a m t bi u th c có
i u ki n. Thông thư ng, b n s d ng câu l nh test tính giá tr i u ki n trong m t
www.nhipsongcongnghe.net
l nh có i u ki n ho c tính giá tr u vào hay i u ki n t n t i cho m t câu l nh l p.
Câu l nh test có cú pháp sau:
test expression
ho c
[ expression ]
B n có th s d ng m t vái toán t có s n v i câu l nh test. Các toán t này ư c
phân lo i thành b n nhóm khác nhau: các toán t xâu, các toán t s , các toán t file,
và các toán t logic.
B n s d ng các toán t xâu tính giá tr bi u th c xâu. B ng 6.4.1 ưa ra danh sách
các toán t xâu mà ba ngôn ng l p trình shell h tr .
B ng 6.4.1 Các toán t chu i cho câu l nh test.
Toán t Ý nghĩa
str1 = str2 Tr l i giá tr true n u str1 gi ng v i str2
str1 != str2 Tr l i giá tr true n u str1 không gi ng str2
str Tr l i giá tr true n u str khác r ng
-n str Tr l i giá tr true n u dài c a str l n hơn 0
-z str Tr l i giá tr true n u dài c a str b ng 0
Các toán t s th c hi n các ch c năng tương t các toán t string ngo i tr vi c
chúng ho t ng trên các i s ki u s . B ng 6.4.2 li t kê danh sách các toán t s
ư c s d ng trong câu l nh test.
B ng 6.4.2 Các toán t s cho câu l nh test.
Toán t Ý nghĩa
int1 -eq int2 Tr l i giá tr true n u int1 b ng int2
int1 -ge int2 Tr l i giá tr true n u int1 l n hơn ho c b ng int2
int1 -gt int2 Tr l i giá tr true n u int1 l n hơn int2
int1 -le int2 Tr l i giá tr true n u int1 nh hơn int2
int1 -lt int2 Tr l i giá tr true n u int1 nh hơn int2
int1 -ne int2 Tr l i giá tr true n u int1 không b ng int2
B n s d ng các toán t file cho câu l nh test th c hi n các ch c năng ch ng h n
như ki m tra xem các file có t n t i hay không và ki m tra xem file thu c lo i
nào, file ư c ưa vào như m t i s cho câu l nh test. B ng 6.4.3 ưa ra danh sách
các toán t file cho câu l nh test.
www.nhipsongcongnghe.net
B ng 6.4.3 Các toán t File cho câu l nh test.
Toán t Ý nghĩa
-d file Tr l i giá tr true n u file ư c xác nh là m t thư m c
-f file Tr l i giá tr true n u file ư c xác nh là m t file thông thư ng
-r file Tr l i giá tr true néu file xác nh là có th c b i ti n trình
-s file Tr l i giá tr true n u file xác nh có dài khác 0
-w file Tr l i giá tr true n u file có th ghi ư c b i ti n trình
-x file Tr l i giá tr true n u file xác nh là có th th c thi
B n s d ng các toán t logic cho câu l nh test k t h p các toán t s , xâu, hay file
ho c ph nh m t toán t ơn s , xâu, ho c file. B ng 6.4.4 ưa ra danh sách cá toán
t logic cho câu l nh test.
B ng 6.4.4 Các toán t Logic chó câu l nh test.
Toán t Ý nghĩa
! expr Tr l i giá tr true n u expr khác true
Expr1 -a expr2 Tr l i giá tr true n u expr1 và expr2 là true
Expr1 -o expr2 Tr l i giá tr true n u expr1 ho c expr2 là true
Shell tcsh không có câu l nh test, nhưng các bi u th c c a tsch th c hi n các ch c
năng tương t . Các toán t tcsh h tr h u h t gi ng như ư c h tr trong ngôn ng
C. B n thư ng s d ng các bi u t c này trong các cau l nh if và while. Trong o n
sau,ph n "S d ng các l nh có i u ki n " và "S d ng các l nh l p " s nói v các
câu l nh này. Gi ng như câu l nh test trong bash và pdksh, các bi u th c trong tcsh
h tr các toán t s , xâu, file, và logic. B ng 6.4.5 ưa ra danh sách các toán t ư c
h tr trong cá bi u th c c a tcsh.
B ng 6.4.5 Các tóan t s cho for các bi u th c tcsh.
Toán t Ý nghĩa
int1 <= int2 Tr l i giá tr true n u int1 nh hơn int2
int1 >= int2 Tr l i giá tr true n u int1 l n hơn ho c b ng int2
int1 < int2 Tr l i giá tr true n u int1 nh hơn int2
int1 > int2 Tr l i giá tr true n u int1 l n hơn int2
B ng 6.4.6 ưa ra danh sách các toán t xâu mà các bi u th c c a tcsh h tr .
Table 6.4.6. Các toán t xâu cho các bi u th c c a tcsh.
Toán t Ý nghĩa
www.nhipsongcongnghe.net
str1 == str2 Tr l i giá tr true n u str1 b ng str2
str1 != str2 Tr l i giá tr true n u str1 không b ng str2
B ng 6.4.7 ưa ra danh sách cá toán t file mà các bi u th c tcsh h tr .
B ng 6.4.7 Các toán t File cho các bi u th c tcsh.
Toán t Ý nghĩa
-r file Tr l i giá tr true n u file có th c ư c
-w file Tr l i giá tr true n u file có th ghi ư c
-x file Tr l i giá tr true n u file có th th c thi
-e file Tr l i giá tr true n u file t n t i
-o file Tr l i giá tr true n u file ư c s h u b i ngư i s d ng hi n t i
-z file Tr l i giá tr true n u file có kích thư c b ng 0
-f file Tr l i giá tr true n u file là file thông thư ng
-d file Tr l i giá tr true n u file là m t thư m c
B ng 6.4.8 ưa ra danh sách các toán t logic ư c h tr trong các bi u th c c a
tcsh.
Table 6.4.8 Các toán t Logical cho cá bi u th c c a tcsh.
Toán t Ý nghĩa
exp1 || exp2 Tr l i giá tr true n u exp1 là true ho c exp2 là true
exp1 && exp2 Tr l i giá tr true n u c hai exp1 và exp2 là true
! exp Tr l i true n u exp khác true
6.5. S d ng các câu l nh r nhánh
Trong các shell bash, pdksh và tcsh, m i shell có hai hình th c khác nhau c a câu
l nh r nhánh. B n s d ng các l nh này th c thi các ph n khác nhau c a chương
trình shell ph thu c vào các i u ki n nh t nh có úng hay không. V i h u h t các
l nh th c hi n, cú pháp cho các câu l nh này khác nhau gi a các shell.
6.5.1. L nh if
T t c ba shell u h tr các câu l nh if-then-else statements l ng nhau. Các l nh này
cung c p cho b n cách th c hi n các câu l nh test i u ki n ph c t p trong chương
trình shell c a b n. Cú pháp c a l nh if trong bash và pdksh là gi ng nhau:
if [ expression ]
then
www.nhipsongcongnghe.net
commands
elif [ expression2 ]
commands
else
commands
fi
Chú ý r ng shell bash và pdksh s d ng o ngư c c a tên câu l nh trong hâu h t các
l nh ph c t p k t thúc câu l nh. Trong l nh bên trên, t khóa fi ư c s d ng
làm kí hi u k t thúc cho câu l nh if.
C hai m nh elif và else u là các ph n tùy ch n c a l nh if. L nh elif là rút g n
c a else if. L nh này ư c th c thi n u các bi u th c n m trong l nh if ho c t t c các
bi u th c trong các l nh elif trư c ó u không có giá tr true. Các câu l nh n m
trong l nh else ư c th c thi ch n u không m t bi u th c nào trong m nh if và
trong b t kỳ m nh elif nào có giá tr true.
Trong tcsh, l nh if có hai d ng khác nhau. D ng th nh t cung c p cùng m t ch c
năng như l nh if trong bash và pdksh. D ng này c a l nh if có cú pháp như sau:
if (expression1) then
commands
else if (expression2) then
commands
else
commands
endif
L i m t l n n a các ph n if và else c a l nh if là tùy ch n. L nh này cũng có th ư c
vi t v i elif. N u mã bên trên trình bày toán b chương trình tcsh, nó nên b t u
v i dòng sau m b o ch y hoàn h o:
#!/bin/sh
D ng th hai c a l nh if mà tcsh cung c p là bi n i ơn gi n c a l nh if d ng u
tiên. D ng này c a l nh if ch tính giá tr m t bi u th c ơn. N u bi u th c là true nó
s th c thi câu l nh ơn. N u bi u th c là false, không có i u gì x y ra. Cú pháp cho
d ng này c a l nh if là như sau.
if (expression) command
www.nhipsongcongnghe.net
Bên dư i là m t ví d v s d ng l nh if trong bash hay pdksh. L nh này ki m tra
xem có m t file có tên là a .profile trong thư m c hi n t i hay không:
if [ -f .profile ]
then
echo "There is a .profile file in the current directory."
else
echo "Could not find the .profile file."
fi
Cũng v i ví d trên s d ng cú pháp c a tcsh như sau:
#
if ( { -f .profile } ) then
echo "There is a .profile file in the current directory."
else
echo "Could not find the .profile file."
endif
Chú ý r ng trong ví d tcsh dòng u tiên b t u v i ký t #. Ký hi u này ư c yêu
c u tcsh nh n ra file ch a các câu l nh là m t file k ch b n tcsh.
6.5.2. L nh case
L nh case cho phép b n so sánh m t m u v i m t s các m u khác và th c thi m t
kh i mã n u m t s gi ng nhau ư c tìm th y. L nh case trong shell m nh hơn l nh
case trong Pascal hay l nh switch trong C. V i l nh shell trong case , b n có th so
sánh các xâu v i các kí t i di n trong chúng; b n có th ch có th so sánh các ki u
ư c li t kê ho c các giá tr s nguyên trong Pascal và C.
Cú pháp cho l nh case trong bash và pdksh là như sau:
case string1 in
str1)
commands;;
str2)
commands;;
*)
www.nhipsongcongnghe.net
commands;;
esac
String1 ư c so sánh v i str1 và str2. N u m t trong các xâu này h v i string1, các
câu l nh bên dư i nó cho n khi g p hai d u ch m ph y(;;) ư c th c hi n. N u
không có xâu nào (str1 ho c str2) h p v i string1, các câu l nh k t h p v i d u hoa
th ư c th c thi. Các câu l nh này là i u ki n case m c nh b i vì d u hoa th h p
v i t t c các xâu.
Câu l nh trong tcsh tương ương v i câu l nh case trong bash và pdksh ư c g i là
l nh switch. L nh này g n gũi v i cú pháp l nh switch trong C. Cú pháp cho l nh
switch là như sau:
switch (string1)
case str1:
statements
breaksw
case str2:
statements
breaksw
default:
statements
breaksw
endsw
L nh này x lý gi ng nư cách s lý c a l nh case trong bash và pdksh. M i xâu trong
t khóa case ư c so sánh v i string1. N u xâu b t kỳ trong các xâu trên h p v i
string1, các mã bên dư i nó cho n khi g p t khóa breaksw keyword ư c th c
hi n. N u không có xâu nào phù h p, các mã bên dư i t khóa default cho n khi
g p t khóa breaksw ư c th c thi.
Mã bên dư i là m t ví d v l nh case trong shell bash hay pdksh. Mã này ki m tra
xem tùy ch n u tiên trong dòng l nh là -i hay -e. N u nó là -i, chương trình m s
các dòng trong m t file xác nh b i tùy ch n th hai trong dòng l nh b t u v i ký
t i. N u tùy ch n th nh t là -e, chương trình m s các dòng trong file ư c xác
nh b i tùy ch n th hai c a dòng l nh b t u v i ký t e. N u tùy ch n th nh t
c a dòng l nh khác -i và khác -e, chương trình s in ra thông tin báo l i trên màn
hình.
case $1 in
-i)
www.nhipsongcongnghe.net
count=`grep ^i $2 | wc -l`
echo "The number of lines in $2 that start with an i is $count"
;;
-e)
count=`grep ^e $2 | wc -l`
echo "The number of lines in $2 that start with an e is $count"
;;
* )
echo "That option is not recognized"
;;
esac
Ví d tương t ư c vi t theo cú pháp tcsh:
# remember that the first line must start with a # when using tcsh
switch ( $1 )
case -i | i:
set count = `grep ^i $2 | wc -l`
echo "The number of lines in $2 that begin with i is $count"
breaksw
case -e | e:
set count = `grep ^e $2 | wc -l`
echo "The number of lines in $2 that begin with e is $count"
breaksw
default:
echo "That option is not recognized"
breaksw
endsw
6.6. S d ng các l nh l p
Ngôn ng shell cũng cung c p l nh l p mà thư ng ư c s d ng nh t. Các l nh l p
này ư c thao tác khi b n c n th c hi n m t hành ng l p i l p l i, ch ng h n như
khi b n x lý danh sách các file.
www.nhipsongcongnghe.net
6.6.1. L nh for
L nh for th c thi các câu l nh ch a trong nó m t s l n. L nh for có hai d ng khác
nhau trong bash và pdksh. D ng th nh t c a l nh for mà bash và pdksh h tr có cú
pháp như sau:
for var1 in list
do
commands
done
Trong d ng này, l nh for th c thi m t l n cho m i ph n t n m trong danh sách. Danh
sách này có th ư c thay i ch a các t ư c phân bi t v i nhau b i d u cách, ho c
nó có th là m t danh sách các giá tr ư c gõ tr c ti p vào trong câu l nh. M i l n
qua vòng l p, bi n var1 ư c gán cho ph n t hi n t i trong danh sách và ti p t c cho
n khi ph n t cu i cùng trong danh sách.
D ng th hai c a l nh for có cú pháp như sau:
for var1
do
statements
done
Trong d ng này, l nh for th c thi m t l n cho m i ph n t n m trong bi n var1. Khi
b n s d ng cú pháp này c a l nh for, chương trình shell gi s r ng bi n var1 ch a
t t c các i s ư c ưa vào trong chương trình shell t dòng l nh. i n hình, d ng
này c a l nh for là tương ương v i vi t các l nh sau:
for var1 in "$@"
do
statements
done
Tương ương v i l nh for trong tcsh là l nh foreach. Nó x lý tương t như l nh for
trong bash và pdksh. Cú pháp c a l nh foreach như sau:
foreach name (list)
commands
end
www.nhipsongcongnghe.net
M t l n n a, n u mã này là m t chương trình hoàn thi n, nó nên b t u v i kí hi u #
(và t t nh t là #!/bin/sh bu c th c thi theo Bourne shell). Dư i ây là m t ví d v
s d ng l nh for trong bash hay pdksh. Ví d này l y các tùy ch n dòng l nh s lư ng
b t kỳ các file text. Chương trình c m i file trong các file này, chuy n i t t c các
ký t thành ch hoa, và sau ó lưu tr k t qu trong m t file có cùng tên nhưng có
ph n m r ng là .caps.
for file
do
tr a-z A-Z < $file >$file.caps
done
Chương trình sau là m t ví d tương t ư c vi t theo ngôn ng shell tcsh:
#
foreach file ($*)
tr a-z A-Z < $file >$file.caps
end
6.6.2. L nh while
M t l nh l p khác ư c ưa vào ngôn ng l p trình shell là l nh while. L nh này th c
thi m t kh i các câu l nh theo m t i u ki n nào ó. Cú pháp c a l nh while trong
bash và pdksh là như sau:
while expression
do
statements
done
Cú pháp cho l nh while trong tcsh là như sau:
while (expression)
statements
end
Dư i ây là m t ví d v l nh while theo ngôn ng shell bash hay pdksh. Chương
trình này ưa ra danh sách các i s ư c ưa vào chương trình cùng v i s các i
s .
www.nhipsongcongnghe.net
count=1
while [ -n "$*" ]
do
echo "This is parameter number $count $1"
shift
count=`expr $count + 1`
done
L nh shift chuy n i s dòng l nh lên m t sang bên trái (xem o n sau"L nh shift"
bi t thêm thông tin). Chương trình bên dư i tương t ư c vi t cho ngôn ng tcsh:
#
set count = 1
while ( "$*" != "" )
echo "This is parameter number $count $1"
shift
set count = `expr $count + 1`
end
6.6.3. L nh until
L nh until có cú pháp và ch c năng tương t l nh while. Ch có s khác bi t th c s
gi a hai l nh là l nh until th c thi mã trong kh i c a nó khi giá tr c a bi u th c là sai
và l nh while th c thi các kh i l nh c u nó n u bi u th c có giá tr là true. Cú pháp
cho l nh until trong bash và pdksh là như sau:
until expression
do
commands
done
làm cho ví d ư c s d ng v i l nh while làm vi c v i l nh until, t t c nh ng gì
b n ph i làm ch là ph nh i u ki n, như ch ra trong o n mã bên dư i:
count=1
until [ -z "$*" ]
www.nhipsongcongnghe.net
do
echo "This is parameter number $count $1"
shift
count=`expr $count + 1`
done
Ch có s khác nhau trong ví d này là và ví d v l nh while là tùy ch n -n c a l nh
test, nó có nghĩa r ng xâu không có dài b ng 0, ư c thay b i tùy ch n -z , nó có
nghĩa là chu i có dài b ng 0. Trong th c t , l nh until ít ư c dùng b i vì v i b t
kỳ l nh until nào, b n cũng có th vi t ư c b ng l nh while. L nh until không ư c
h tr trong tcsh.
6.6.4. L nh shift
T t c các shell bash, pdksh, và tcsh u h tr m t l nh g i là l nh shift. L nh shift
chuy n các giá tr hi n t i ư c lưu tr trong các i s dòng l nh lên m t v trí sang
trái. Ví d , n u các giá tr c a các i s là
$1 = -r $2 = file1 $3 = file2
và b n th c hi n l nh shift
shift
k t qu các i s ư c ưa vào như sau:
$1 = file1 $2 = file2
B n có th d ch chuy n các i s qua nhi u hơn m t v trí b i m t s xác nh
v ikèm theo v i l nh shift. L nh sau d ch chuy n i s lên hai v trí:
shift 2
L nh này r t h u ích khi có m t chương trình shell c n phân tích các tùy ch n dòng
l nh. Các tùyd ch n thư ng ư c t trư c b i m t d u n i và m t ký t ch ra tùy
ch n nào ư c s d ng. B i vì các tùy ch n luôn luôn ư c x lý trong m t vòng l p
c a m t lo i câu l nh, b n s thư ng mu n nh y n i s ti p theo m t khi b n ã
xác nh ư c tùy ch n nào nên ư c x lý ti p theo. Ví d , chương trình shell sau
ch hai tùy ch n dòng l nh, m t xác nh m t file u vào và m t xác nh m t file
u ra. Chương trình c file u vào, chuy n t t c các ký t trong file input thành
ch hoa, và sau ó lưu tr k t qu trong file u ra xác nh:
while [ "$1" ]
do
www.nhipsongcongnghe.net
if [ "$1" = "-i" ] then
infile="$2"
shift 2
else if [ "$1" = "-o" ] then
outfile="$2"
shift 2
else
echo "Program $0 does not recognize option $1"
fi
done
tr a-z A-Z <$infile >$outfile
6.6.5. L nh select
Shell pdksh ưa ra m t l nh l p mà bash và tcsh không h tr , l nh select. Nó hơi
khác v i các l nh l p khác b i vì nó không th c thi m t kh i mã l nh shell theo m t
i u ki n true ho c false. Nh ng gì l nh select làm là cho phép b n t ng t o các
menu text ơn gi n. Cú pháp c a l nh select như sau:
select menuitem [in list_of_items]
do
commands
done
Khi b n th c thi l nh select, pdksh t o m t i tư ng menu ư c ánh s cho m i
ph n t có trong list_of_items. list_of_items này có th là m t bi n ch a nhi u hơn
m t ph n t , ch ng h n như choice1 choice2 ho c nó có th là m t danh sách các l a
ch n ư c gõ vào t dòng l nh, như trong ví d sau:
select menuitem in choice1 choice2 choice3
N u danh sách list_of_items is không ư c cung c p, l nh select s d ng các i s
dòng l nh cho l nh th c hi n.
Khi ngư i s d ng c a chương trình có ch a l nh select ch n m t trong s các ph n
t c a menu b ng cách gõ vào s tương ng v i nó, l nh select lưu giá tr c a ph n t
ư c l a ch n trong bi n menuitem. Các l nh trong kh i do sau ó có th th c hi n
các ho t ng trên ph n t menu này.
www.nhipsongcongnghe.net
Dư i ây là m t ví d v vi c s d ng l nh select như th nào. Ví d này hi n th ba
ph n t c a menu. Khi ngư i s d ng ch n m t ph n t , chương trình s h i b n xem
có ph i ph n t ó ư c l a ch n không, n u ngư i s d ng gõ khác v i y ho c Y,
chương trình s hi n th l i menu.
select menuitem in pick1 pick2 pick3
do
echo "Are you sure you want to pick $menuitem"
read res
if [ $res = "y" -o $res = "Y" ]
then
break
fi
done
Ví d này gi i thi u m t vài l nh m i. L nh read ư c s d ng l y d li u vào t
ngư i s d ng. Nó lưu b t kỳ cái gì ngư i s d ng gõ vào bi n xác nh. L nh break
k t thúc vòng l p l nh while, select, ho c for.
6.6.6. L nh repeat
Shell tcsh có m t l nh l p không có trong pdksh hay bash. L nh này là l nh repeat.
L nh repeat th c thi câu l nh ơn theo m t s l n xác nh. Cú pháp cho l nh repeat
là như sau:
repeat count command
Ví d sau c a l nh repeat l y m t t p h p các s là các tùy ch n dòng l nh và in ra s
các d u ch m lên màn hình. Chương trình này ho t ng như m t chương trình minh
h a r t thô sơ.
#
foreach num ($*)
repeat $num echo -n "."
echo ""
end
B n có th vi t l i l nh repeat b t kỳ b ng l nh while hay l nh for; cú pháp repeat ch
thu n ti n hơn mà thôi.
www.nhipsongcongnghe.net
6.7. S d ng các hàm
Ngôn ng shell cho phép b n d nh nghĩa hàm c a chính b n. Các hàm này ư c nh
nghĩa gi ng như cách b n nh nghĩa các hàm trên ngôn ng l p trình C hay các ngôn
ng l p trình khác. Thu n l i chính c a vi c s d ng hàm t ch c, tránh vi t t t c
các mã shell c a b n trong m t dòng. Mã ư c vi t s d ng các hàm có khuynh
hư ng d hơn trong vi c c và b o trì và cũng là khuynh hư ng nh g n hơn b i vì
b n có th nhóm các mã chung vào trong m t hàm thay vi c ưa nó vào t t c các nơi
c n nó.
Cú pháp t o m t hàm trongbash và pdksh là như sau:
fname () {
shell commands
}
Cùng v i cú pháp trư c , pdksh cho phép cú pháp sau:
function fname {
shell commands
}
C hai d ng này u ư c x lý chính xác như nhau theo cùng m t cách.
Sau khi b n ã nh nghĩa hàm c a b n s d ng m t trong các d ng trên, b n có th
g i n nó b ng cách vào l nh sau:
fname [parm1 parm2 parm3 ...]
Chú ý r ng b n có th ưa s lư ng b t kỳ các i s vào trong hàm c a b n. Khi b n
ưa các i s vào trong m t hàm, nó xem các i s này như i s c a m t chương
trình shell khi b n ưa các i s này t dòng l nh. Ví d , chương trình shell sau ch a
vài hàm, m i hàm th c hi n m t nhi m v mà ư c k t h p v i các tùy ch n dòng
l nh. Ví d này bao trùm nhi u n i dung trong ph n này. Nó c t t c các file ư c
ưa vào t dòng l nh và ph thu c vào tùy ch n ư c s d ng, vi t ra file v i t t c
các ký t hoa, vi t ra file v i t t c các ký t thư ng, ho c in các file.
upper () {
shift
for i
do
www.nhipsongcongnghe.net
tr a-z A-Z <$1 >$1.out
rm $1
mv $1.out $1
shift
done; }
lower () {
shift
for i
do
tr A-Z a-z <$1 >$1.out
rm $1
mv $1.out $1
shift
done; }
print () {
shift
for i
do
lpr $1
shift
done; }
usage_error () {
echo "$1 syntax is $1 <option> <input files>"
echo ""
echo "where option is one of the following"
echo "p -- to print frame files"
echo "u -- to save as uppercase"
echo "l -- to save as lowercase"; }
case $1
in
www.nhipsongcongnghe.net
p | -p) print $@;;
u | -u) upper $@;;
l | -l) lower $@;;
*) usage_error $0;;
esac
Chương trình tcsh không h tr các hàm.
6.8. T ng k t
Trong chương này, b n ã th y ư c nhi u c i m c a các ngôn ng l p trình bash,
pdksh và tcsh. Khi b n s d ng Linux, b n s th y r ng b n s d ng các ngôn ng l p
trình shell càng ngày càng thư ng xuyên. Cho dù ngôn ng shell r t m nh và d h c,
b n có th g p ph i m t vài v n khi chương trình shell không phù h p v i v n
b n gi i quy t. Trong nh ng trư ng h p như v y, b n có th nghiên c u tìm hi u các
ngôn ng khác có th s d ng có trong Linux.
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.
Cài t trên môi trư ng Linux hoàn toàn không khó như nh ng gì chúng ta nghĩ khi
m i ti p xúc v i h i u hành này. Quá trình cài t ch ơn gi n, chúng ta th c hi n
câu l nh rpm v i cú pháp sau:
rpm –[ivhqladefUV] [-force] [nodeps] [--oldpackage] package list
ây là chương trình qu n lý các gói cài. Nó cho phép b n qu n lý các gói RPM, th c
hi n r t d dàng vi c cài t và g b ph n m m. cài t ph n m m có tên là
precious-software-1.0.i386.rpm ch y câu l nh sau:
rpm –i precious-software-1.0.i386.rpm
b n có th làm cho vi c cài t trông p m t hơn b ng cách s d ng tùy ch n –ivh
thay cho tùy ch n –i. N u b n ã cài m t gói ph n m m r i nhưng vì m t lý do nào ó
b n l i mu n cài l i nó è lên phiên b n cũ, b n ch c n s d ng tùy ch n –force cho
l nh rpm. N u b n mu n nâng c p m t ph n m m, b n s d ng tùy ch n –U.Ví d :
rpm –Uvh precious-software-1.0.i386.rpm
Tuy nhiên b n ã cài m t phiên b n m i và bây gi b n mu n cài l i phiên b n cũ,
n u b n mu n s d ng l nh trên, h th ng s báo l i phiên b n ã cài t là phiên b n
m i hơn phiên b n mà b n mu n cài. có th th c hi n ư c i u này b n s d ng
www.nhipsongcongnghe.net
tùy ch n --oldpackage cùng v i tùy ch n –U cài t phiên b n cũ. tìm ki m
các gói cài ã ư c cài vào h th ng c a b n, b n s d ng l nh sau:
rpm -qa
tìm các gói cài c a m t chương trình như sendmail, b n có th s d ng l nh
rpm –q sendmail
H th ng s tr l i gói cài ã s d ng cài sendmail. phát hi n gói cài nào c a
m t file xác nh như /bin/tcsh, ta s d ng câu l nh:
rpm –qf /bin/tcsh
m b o r ng m t gói ư c cài chưa ư c thay i theo b t c cách nào, b n có
th s d ng tùy ch n –V. Ví d t t c các file ã ư c cài tr ng thái nguyên b n
không b thay i s d ng l nh
rpm –Va
Tùy ch n này tr lên r t h u ích n u b n nh n th c ư c r ng m t hay nhi u gói cài
có th b phá h y b i ngư i khác.
g các gói cài kh i h th ng b n s d ng l nh rpm v i tùy ch n –e
rpm –e sendmail
N u b n th y r ng vi c g b gói cài có th b d ng b i các chương trình khác b i vì
chúng ph thu c vào nó hay các file c a nó, b n ph i quy t nh xem b n có ti p t c
b gói cài hay chương trình này hay không, n u b n mu n g b b n có th s d ng
tùy ch n –nodeps cùng v i tùy ch n –e ép bu c rpm g b gói cài ó.
7.2. Qu n tr WebServer
7.2.1. Ph n m m Apache
Máy ch web nghe yêu c u t phía client, như b trình duy t Nestcape Navigator
ho c Internet Explorer. Khi nh n ư c yêu c u máy ch x lý yêu c u và tr d li u
l i cho máy client. D li u tr v máy tr m thư ng là các trang nh d ng có ch a
hình nh và text. Trình duy t nh n d li u và hi n th trang d li u cho ngư i dùng.
Khái ni m máy ch web r t ơn gi n, nó i yêu c u, th c hi n, r i tr l i cho ngư i
dùng.
www.nhipsongcongnghe.net
Máy ch web nói chuy n v i các máy client và máy tr m thông qua giao th c HTTP
(Hypertext Transfer Protocol). i u này cho phép máy tr m k t n i t i nhi u nhà
cung c p d ch v web mà không g p ph i các v n v tương thích.
Ph n l n các yêu c u ư c nh d ng dư i d ng trang HTML (Hypertect Markup
Language). HTML cho phép liên k t nhi u văn b n và tài nguyên khác nhau. Si u văn
b n cho phép liên k t t i các trang văn b n khác trên cùng m t máy tính ho c trên các
máy tính t trên kh p th gi i.
Apache ư c phát tri n d a trên NCSA web server, là phiên b n cung c p y các
tính năng c a máy ch (HTTP) web do d án Apache Server th c h ên. Apache cung
c p m t máy ch web mã ngu n m , tin c y, hi u qu và d dàng m r ng. Ph n
m m máy ch bao g m: daemon server, file c u hình, công c qu n tr , và tài li u.
Ph n m m Apache Server s n có có trên trang Apache Group. B n có th t i v t các
a ch http://www.apache.org/dist/. B n t i v file .tar.gz tương ng
v i phiên b n b n mu n s d ng. Ví d , Phiên b n m i nh t ư c vi t là Apache
1.3.12, vì v y file b n c n t i v là apache_1.3.12.tar.gz B n có th l y mã
ngu n t a ch
http://www.apache.org/dist/apache_1.3.12.tar.gz.
Gi i nén file
gi i nén file này, s d ng câu l nh sau (gi s r ng b n ã file trong thư m c
temp):
cd temp
gzip -d -c apache_1.3.12.tar.gz | tar xvf -
Câu l nh này t o m t thư m c apache_1.3.12 trong thư m c temp
7.2.2. Biên d ch và cài t
Ch y các câu l nh sau:
cd apache_1.3.12
./configure --prefix=<path-to-apache>
make
make install
Chú ý s d ng ư ng d n y thay cho <path-to-apache>. ư ng d n y
này nên là nơi b n mu n cài t apache server, ch ng h n như
./configure --prefix=/afs/uncc.edu/usr/q/zlian/apache
7.2.3. Kh i ng và t t WebServer
Kh i ng Apache
<path-to-apache>/bin/apachectl start
Ví d :
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl start
T t Apache
www.nhipsongcongnghe.net
<path-to-apache>/bin/apachectl stop
Ví d :
/afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl stop
7.2.4. C u hình Apache
Theo cách truy n th ng, c u hình Apache ư c chia thành ba file c u hình:
httpd.conf, access.conf, và srm.conf. Theo th t các file này có ý
nghĩa như sau, httpd.conf là file c u hình server chính, access.conf là file
nh nghĩa các quy n truy c p, và srm.conf các tài nguyên server ư c nh nghĩa,
ch ng h n như ánh x các thư m c và các bi u tư ng. Trong 1.3.4, ba file này ư c
tr n vào m t file chung httpd.conf, nó có th tìm th y trong thư m c conf. Ví
d :
/afs/uncc.edu/usr/q/zlian/apache/conf/
Chú ý: Các h ng d n quan tr ng cho c u hình c a b n:
• ServerName
ServerName ch ra a ch IP c a máy ch cài t d ch v WebServer, thông thư ng
n u máy c a b n là máy c c b , không n i m ng, a ch này m c nh là 127.0.0.1
tương ng v i tên máy là localhost. N u máy này có a ch m ng, b n có th thay th
b ng a ch IP c a máy. xem a ch c a máy b n th c hi n l nh:
ifconfig –a
• Listen
Ch d n này nói cho server l ng nghe các yêu c u trên d a ch IP ư c xác nh
và/ho c c ng TCP/IP . M c nh, server l ng nghe c ng 80, nhưng b n nên s d ng
c ng l n hơn 1024, b i vì s ít hơn 1024 r t hay ư c s d ng trong các ti n trình c a
h th ng. Như trong ví d sau, Apache nghe trên c hai c ng port 8080 and 8081.
listen 8080
listen 8081
V i c u hình này, b n có th ki m tra xem server c a b n ch y thành công hay chưa
b ng cách gõ vào a ch sau trên trình duy t:
http://localhost:8080
ho c
http://localhost:8081
• DocumentRoot
Thư m c tài li u m c nh là <path-to-apache>/htdocs, b n có th tài li u html , ví
d billchu.html, trong thư m c này và ki m tra. Ví d :
http://152.15.35.2:8080/billchu.html
B n cũng có th thay i thư m c tài li u b ng s d ng hư ng d n sau trong file
httpd.conf:
www.nhipsongcongnghe.net
DocumentRoot /usr/web
Sau ó m t truy c p n http://www.my.host.com/index.html s tương
ng /usr/web/index.html.
Thư ng xu t hi n trong khi c u hình như sau: (i.e., "DocumentRoot
/usr/web/") thêm m t ký t “/” uôi, b n nên tránh i u này.
7.2.5. Xác th c ng i dùng
ngăn ch n truy c p vào các file trên server c a b n, b n nên s d ng b o v
user/password, B n có th s d ng các hư ng d n sau.
AuthType
AuthName
AuthUserFile
AuthGroupFile
require
<Directory></Directory>
<Files></Files>
AuthType L a ch n ki u xác th c ngư i s d ng cho m t thư m c. Ch có Basic
và Digest là th c thi hi n t i.
AuthName t tên c a xác th c cho m t thư. Tên xác th c này s ư c g i n
client nh ng ngư i s d ng bi t lo i username và password nào g i.
AuthName có m t i s ; N u tên xác th c có d u cách nó ph i ư c t trong d u
trích d n.
AuthUserFile t tên c a file văn b n thu n túy ch a danh sách nh ng ngư i s
d ng và m t kh u cho vi c xác th c ngư i s d ng. Tên file là ư ng d n n n file
ngư i s d ng. N u nó không ph i là ư ng d n tuy t i (ví d , n u nó không b t
u v i ‘/’), Nó ư c xem như ư ng d n tương i n ServerRoot.
AuthGroupFile t tên c a m t file văn b n thu n túy ch a danh sách các nhóm
ngư i s d ng cho vi c xác th c ngư i s d ng. Tên file là ư ng d n n file group.
N u nó không ph i là ư ng d n tuy t i (ví d , không b t u v i d u ‘/’), nó ư c
xem như ư ng d n tương i n ServerRoot.
require Ch n nh ng ngư i s d ng nào có th truy c o vào m t thư m c. Cú pháp
cho phép là:
1. Ch nh ng ngư i s d ng ư c t tên có th truy c p thư m c:
require user userid userid ...
2. Ch nh ng ngư i s d ng trong các nhóm ư c t tên có th truy c p thư
m c:
require group group-name group-name ...
3. T t c nh ng ngư i s d ng có th truy c p thư m c:
require valid-user
<Directory> và </Directory> ư c s d ng nhóm m t nhóm các
hư ng d n và nó s ch ư c áp d ng cho thư m c ư c t tên và các thư m c con
www.nhipsongcongnghe.net
c a thư m c ó. M t hư ng d n b t kỳ ư c cho phép có trong m t directory có th
ư c s d ng.
<Files> và </Files> pcung c p quy n truy c p b i tên file (bao g m ư ng
d n n file).
Ví d :
<Directory
"/afs/uncc.edu/usr/q/zlian/apache/htdocs/manual">
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile passwd
AuthGroupFile /dev/null
require valid-user
</Directory>
thi t l p file password, b n có th s d ng công c có tên là htpasswd ư c
cung c p b i Apache. Trư c tiên t o file password b ng cách:
% touch passwd
Trong thư m c "<path-to-apache>/bin/". thêm m t ngư i s d ng, th c
hi n l nh:
% htpasswd <path-to-password-file>/passwd zlian
New password:
Re-type new password:
n ây b n ã hoàn thành xong vi c c u hình Apache và th c hi n xác th c ngư i
s d ng cho d ch v web c a b n.
8. Qu n tr các ti n trình
8.1. Ti n Trình
8.1.1. Ti n trình ti n c nh
Khi b n ang trên d u nh c h th ng (# ho c $) và g i m t chương trình, chương
trình tr thành m t ti n trình và i vào ho t ng dư i s ki m soát c a h th ng. D u
nh c c a h th ng s không xu t hi n khi ti n trình ang ch y Khi ti n trình hoàn
thành tác v và ch m d t, h i u hành s tr l i d u nh c b n gõ ti p l nh th c thi
chương trình khác. Chương trình ho t ng theo cách này ư c g i là chương trình
ti n c nh (foreground). Ví d khi b n th c hi n l nh:
ls –R /
B n s ph i ch i r t lâu cho n khi l nh th c hi n xong b n m i có th nh p vào
l nh m i th c hi n công vi c ti p theo c a b n.
8.1.2. Ti n trình h u c nh
www.nhipsongcongnghe.net
N u có cách nào ó yêu c u Linux ưa các ti n trình chi m nhi u th i gian x lí ho c
ít tương tác v i ngư i dùng ra ho t ng phía h u c nh (background) tr l i ngay d u
nh c có th th c hi n các ti n trình ti n c nh thì t t hơn. i u này có th th c
hi n ư c b ng cách k t h p ch th & v i l nh g i chương trình mà ta s tìm hi u
ph n sau, khi ó ti n trình s ho t ng phía h u c nh và tr l i ngay d u nh c cho
chúng ta làm công vi c khác. Các ti n trình như v y g i là các ti n trình h u c nh.
Vi c ch y ti n trình h u c nh r t thu n ti n , chúng cho phép nhi u chương trình
tương tác v i nhau.
8.2. i u khi n và giám sát các ti n trình
Như c p trư c ây, các ti n trình thư ng tr c thư ng ư c b t u b ng ti n trình
init khi kh i ng. B n có th i u khi n ti n trình nào ch y ngay khi kh i ng b ng
cách c u hình l i các file c u hình và k ch b n c a init. Ngo i tr các ti n trình thư ng
tr c, các lo i ti n trình khác mà b n s ch y ư c g i là các ti n trình c a ngư i s
d ng hay các ti n trình tương tác. B n ph i ch y m t ti n trình tương tác thông qua
m t shell. M i m t shell chu n cung c p m t dòng l nh khi ngư i s d ng vào tên
c a m t chương trình. Khi ngư i s d ng vào tên chương trình h p l trên dòng l nh,
shell s t t o m t b n copy như m t ti n trình m i và thay th ti n trình m i v i
chương trình ư c t tên trên dòng l nh. Nói m t cách khác shell s ch y chương
trình ư c t tên như m t ti n trình khác. l y thông tin v t t c các ti n trình
ang ch y trên h th ng c a b n, b n c n ch y ti n ích có tên là ps
8.2.1 S d ng l nh ps l y thông tin tr ng thái c a ti n trình
Ti n ích này t o ra m t báo cáo v t t c các ti n trình trên h th ng c a b n. ví d ,
n u b n ch y l nh ps , nó s hi n th k t qu như sau:
PID TTY TIME CMD
13636 pts/1 00:00:00 bash
13696 pts/1 00:00:00 man
13699 pts/1 00:00:00 sh
13700 pts/1 00:00:00 sh
13704 pts/1 00:00:00 less
16692 pts/1 00:00:00 tail
17252 pts/1 00:00:00 ps
Dư i ây là gi i thích v ý nghĩa c a các trư ng
Trư ng Gi i Thích
USER ho c UID Tên c a ti n trình
www.nhipsongcongnghe.net
PID ID ( nh danh) c a ti n trình
%CPU % CPU s d ng c a ti n trình
%MEM % b nh ti n trình s d ng
SIZE Kích thư c b nh o ti n trình s d ng
RSS Kích thư c c a b nh th c s d ng b i ti n trình
TTY Vùng làm vi c c a ti n trình
STAT Tr ng thái c a ti n trình
START Th i gian hay ngày b t u c a ti n trình
TIME T ng th i gian s d ng CPU
COMMAND Câu l nh ư c th c hi n
PRI M c ưu tiên c a ti n trình
PPID ID c a ti n trình cha
WCHAN Tên c a hàm nhân khi ti n trình ng ư c l y t file
/boot/System.map
FLAGS S c ư c k t h p v i ti n trình
Ti n ích ps cũng ti p nh n m t vài i s t dòng l nh. B ng bên dư i ch ra các tùy
ch n ư c s d ng chung:
Tùy Ch n Miêu t
A Hi n th các ti n trình c a t t c nh ng ngư i s d ng
E Hi n th các bi n môi trư ng c a ti n trình sau khi dòng l nh
ư c th c thi
L Hi n th k t qu y
U Hi n th tên ngư i s d ng và th i gian b t u ti n trình
W Hi n th k t qu theo nh d ng r ng. Bình thư ng, k t qu k t
xu t b c t n u nó không v a m t dòng. S d ng tùy ch n này
b n có th ngăn ch n ư c i u ó
Txx Hi n th các ti n trình ư c k t h p v i vùng làm vi c xx
www.nhipsongcongnghe.net
X Hi n th các ti n trình không có i u khi n vùng làm vi c
Ví d hi n th t t c các ti n trình b n th c hi n câu l nh:
ps au
hi n th t t c các ti n trình c a m t ngư i nào ó s d ng:
ps au | grep username
Tuy nhiên, n u b n ch mu n tìm các ti n trình ang t n t i v i ngư i s d ng b t kỳ,
b n s d ng câu l nh:
ps aux
tìm ki m PID c a m t ti n trình cha s d ng:
ps l pid
V i pid là PID c a m t ti n trình nào ó.
ps e
Thông tin bi n môi trư ng ư c b sung vào trư ng COMMAND
8.2.2. Phát tín hi u cho m t chương trình ang ch y
• S d ng l nh kill h y m t ti n trình
Câu l nh kill là m t k ch b n shell ư c xây d ng s n, thư ng ư c tìm th y trong
thư m c /bin. B n có th dùng l nh này d ng m t ti n trình nào ó. b n có th
ch y:
kill PID
V i PID là PID c a ti n trình nào ó
www.nhipsongcongnghe.net
• S d ng l nh killall h y m t ti n trình
Ti n ích này cho phép b n d ng m t ti n trình b ng tên. Ví d b n có m t ti n trình
ư c goi là signal_demo.pl và b n mu n d ng ti n trình này. B n s d ng l nh:
killall signal_demo.pl
• Ch y m t ti n trình h u c nh ho c ti n c nh
Thông thư ng khi chúng ta ch y m t ti n trình t thi t b u cu i (bàn phím) hay
shell, b n ch y ti n trình ti n c nh. Khi b n ch y ti n trình ti n c nh, b n ph i i
cho nó k t thúc. Tuy nhiên, thay vì vi c i cho nó k t thúc, b n có th ch y nó h u
c nh b ng vi c thêm m t ký hi u ‘&’ cu i dòng l nh. i u này h u ích khi m t ti n
trình ch y trong th i gian dài và b n c n ph i làm m t công vi c khác. Ví d , kh i
ng h qu n tr CSDL PosgresSQL v i postmaster b n th c hi n:
postmaster –i &
V y khi nào b n bi t m t ti n trình h u c nh ang ch y hay ã d ng. B n có th s
d ng l nh:
ps -af
xem t t c các ti n trình trong ó có c ti n trình h u c nh.
• T m d ng ti n trình
N u m t ti n trình ang ch y ti n c nh và b n mu n ưa chúng vào h u c nh, b n
th c hi n công vi c này b ng cách nh n t h p phím Ctrl + Z. Khi nh n ư c tín hi u
Ctrl+Z ti n trình s b t m d ng và ư c ưa vào h u c nh. Tuy nhiên b n chưa bi t
ư c chương trình c a chúng ta ã d ng chưa và ã chuy n vào h u c nh chưa. L nh
jobs hi n th tr ng thái c a t t c các ti n trình ang ch y h u c nh:
[1] Stopped man ln (wd: /home/trantu/exam)
[2]- Stopped tail
[3]+ Stopped ls -R /
• ánh th c ti n trình
ánh th c m t ti n trình ta s d ng l nh bg k t h p v i s tác v trong hàng i
li t kê. Trong ví d trên ta có th th c hi n l nh:
www.nhipsongcongnghe.net
bg 3
M t l n n a ta s d ng l nh jobs, ta s th y thông tin hi n trên màn hình như sau:
[1] Stopped man ln (wd: /home/trantu/exam)
[2]- Stopped tail
[3]+ Running ls -R /
chuy n m t ti n trình t h u c nh sang ch y trên ti n c nh b n dùng l nh fg. Ví
d :
fg 3
8.2.3. Giao ti p gi a các ti n trình
ôi khi các ti n trình c n trao i thông tin cho nhau x lý. Ch ng h n như l nh ls
c a Linux ch bi t li t kê và ghi toàn b d li u v thông tin c a file, thư m c ra màn
hình. L nh ls không có cơ ch d ng khi màn hình y. Trong khi l nh more l i có kh
năng c d li u và ưa ra màn hình theo t ng trang ngư i dùng có th i gian xem
qua. Các chương trình c n có nhu c u chuy n d li u cho nhau x lý. M t cơ ch
ư c s d ng khá ph bi n trên Linux là pipe ( ư ng ng). B n s d ng ch th |
bi u th ư ng ng. Ví d :
ls –R | more
Ho c b n có th tìm chính xác tên ti n trình như:
ps –af | grep ‘[bash]’
8.3 L p k ho ch các ti n trình
8.3.1 S d ng l nh at
Ti n ích at cho phép b n s p x p m t câu l nh th c thi trong th i gian sau ó. Ví
d , xem dung lương ĩa s d ng cho toàn b các file, thư muc c a h th ng b n g i
ti n ích du vào lúc 8:40 p.m, b n có th ch y l nh sau:
at 20:40
Câu l nh s hi n th d u nh c “at>” yêu c u b n nh p vào câu l nh th c hi n theo
th i gian ã ư c ưa vào. B n gõ vào dòng l nh:
www.nhipsongcongnghe.net
du –a > /tmp/du.out
Sau khi b n gõ l nh Enter, nó s hi n th l i d u nh c cho phép b n nh p vào các câu
l nh ti p theo. B n có th ch n Ctrl+D k t thúc.
N u vì m t lý do nào ó, b n mu n d ng c ng vi c mà b n ã l p l ch, b n có th s
d ng l nh atrm xóa công vi c ó trư c khi nó ư c th c hi n. B n c n ph i bi t s
th t c a công vi c mà b n mu n h y, tìm ra các công vi c mà b n ã l p l ch,
b n ch y câu l nh atq tìm s th t công vi c, sau ó dùng atrq v i i s là s th
t c a công vi c mu n h y. Ví d :
atrq 1
8.3.2 S d ng crontab
Có nhi u công vi c trên Linux c n ư c l p l ch m t cách thư ng xuyên, ví d xóa
các file cũ ư c sinh ra b i h th ng trong thư m c tmp hàng ngày, hay hàng tu n b n
c n ph i ch y m t ti n trình m i ngày hay m i tu n. Ti n ích cron cho phép b n th c
hi n các công vi c như th . Th c ra cron bao g m crond daemon, ư c kh i ng b i
ti n trình init. Crond c các l ch công vi c t /etc/crontab và các file trong
/var/spoon/cron. Thư m c cron này lưu tr các file l p l ch (thư ng ư c g i là
crontab hay cron table) cho nh ng ngư i s d ng thông thư ng ư c phép ch y các
công vi c cron. Là m t superuser, b n có th xác nh m t danh sách nh ng ngư i s
d ng ư c phép ch y các công vi c cron trong file /etc/cron.allow. Tương t , b n có
th xác nh nh ng ngư i s d ng không ư c phép th c hi n các công vi c cron
trong file /etc/cron.deny. C hai file này u s d ng m t nh d ng cơ b n: m t
username trên m t dòng. N u m t ngư i ư c phép th c hi n các công vi c cron,
ngư i ó có th s d ng ti n ích crontab th c hi n công vi c l p l ch. Ví d , khi
b n ư c phép, b n có th gõ l nh:
crontab –e
và so n th o các công vi c c n th c hi n. M t công vi c cron ph i có nh d ng sau:
minute(s) hour(s) day(s) month weekday username command argument(s)
Các trư ng t 1 n 5 có nh d ng sau
9. B o m t h th ng
Cùng v i s phát tri n không ng ng c a truy n thông k thu t s , Internet và s phát
tri n nh y v t c a n n công nghi p ph n m m, b o m t máy tính là m t v n ngày
càng tr nên quan tr ng. C n ph i hi u r ng không có h th ng máy tính nào là an
www.nhipsongcongnghe.net
toàn tuy t i. T t c nh ng gì b n có th làm là giúp cho h th ng c a b n tr nên an
toàn hơn.
K t khi Linux ư c phát tri n m t cách r ng rãi và nhanh chóng, c bi t là trong
các giao d ch kinh doanh quan tr ng, an ninh là m t v n quy t nh s s ng còn
c a Linux. V i hàng trăm công c b o v s n có, ngư i dùng Linux ư c trang b t t
hơn ngăn ch n và duy trì m t h th ng an toàn. Linux không nh ng ho t ng t t
mà còn có nh ng tính năng và s n ph m liên quan cho phép xây d ng m t môi trư ng
tương i an toàn.
9.1. Nh ng nguy cơ an ninh trên Linux
Linux và các ng d ng trên nó có th không ít các l h ng an ninh hơn nh ng h i u
hành khác. Theo quan i m c a m t s chuyên gia máy tính, Linux có tính an toàn
cao hơn các h i u hành c a Microsoft, vì các s n ph m c a Microsoft không ư c
xem xét k lư ng và ch t ch b ng các s n ph m mã ngu n m như Linux. Hơn n a,
Linux dư ng như là "mi n nhi m" v i virus máy tính (hi n t i ã có xu t hi n m t vài
lo i virus ho t ng trên môi trư ng Linux nhưng không nh hư ng gì m y n ngư i
dùng Linux). Nhưng m t h th ng Linux ư c c u hình không t t s t hơn nhi u so
v i m t h th ng Microsoft ư c c u hình t t !!! Khi có ư c m t chính sách an ninh
t t và h th ng ư c c u hình theo úng chính sách ó thì s giúp b n t o ư c m t
h th ng an toàn ( m c mà chính sách c a b n ưa ra).
Nhưng s an toàn không ph i là th có th t ư c như m t m c tiêu cu i cùng.
úng hơn ó là t p h p c a nh ng cách cài t, v n hành và b o trì m t h i u hành,
m ng máy tính, ... Nó ph thu c vào các ho t ng hàng ngày c a h th ng, ngư i
dùng và ngư i qu n tr . B n ph i b t u t m t n n t ng ban u và t ó c i thi n
tính an toàn c a h th ng c a b n nhi u nh t có th ư c mà v n m b o các ho t
ng bình thư ng c a h th ng.
9.2. Xem xét chính sách an ninh c a b n
K t n i vào Inernet là nguy hi m cho h th ng m ng c a b n v i m c an toàn th p.
T nh ng v n trong các d ch v TCP/IP truy n th ng, tính ph c t p c a vi c c u
hình máy ch , các l h ng an ninh bên trong quá trình phát tri n ph n m m và nhi u
nhân t khác góp ph n làm cho nh ng h th ng máy ch không ư c chu n b chu
áo có th b xâm nh p và luôn t n t i nh ng nguy cơ ti m tàng v v n an toàn
trong ó.
M c ích c a m t chính sách an toàn h th ng là quy t nh m t t ch c s ph i làm
như th nào b o v chính nó. có ư c m t chính sách an ninh hi u qu , ngư i
xây d ng các chính sách này ph i hi u và có th k t h p t t c các thông tin, yêu c u,
...
Khi m t tình hu ng x y ra n m ngoài d ki n, ch ng h n m t s xâm nh p trái phép
vào h th ng c a b n, câu h i l n nh t là "s ph i làm gì ây ?"
Không may là có hàng tri u câu tr l i khác nhau cho câu h i ó. N u m t ngư i mà
chưa t ng ph i i phó v i m t k xâm nh p trư c ây thì k xâm nh p có th d
dàng bi n m t vì các d u v t ã tr nên qúa cũ và không còn h u ích n a.
www.nhipsongcongnghe.net
Nh ng sai sót trong chính sách an ninh không ch liên quan n nh ng k xâm nh p,
mà còn liên quan n nh ng v n bình thư ng như th i ti t, thiên tai, cháy, n , hư
h ng thi t b ,... Do v y, vi c thi t l p m t chính sách an ninh t t cho vi c gi i quy t
nh ng s c ph i ư c lên k ho ch k lư ng, ư c xem xét và ch ng nh n b i ngư i
có quy n h n trong công ty.
M t chính sách an ninh t t nên bao g m các v n sau :
o Chính sách ph c h i d li u khi có s c
o Chính sách ph c h i h th ng trong trư ng h p hư h ng thi t b
o Chính sách, cách th c i u tra nh ng k xâm nh p trái phép
o Chính sách, cách th c i u tra khi công ty b cáo bu c xâm nh p vào
các h th ng khác
o Cách th c, quy trình và nơi thông báo s xâm nh p trái phép t bên
ngoài hay gây ra b i các nhân viên c a mình.
o Chính sách an ninh v m t v t lý c a h th ng
...
B n có th nh tư v n c a các công ty, t ch c làm d ch v tư v n v an toàn máy tính
giúp b n xây d ng m t chính sách an ninh t t. Các công ty này có các chuyên gia
v an toàn máy tính, h có s n các bi u m u chính sách an ninh nên có th thi t l p
nhanh chóng các chính sách mà bao g m t t c các m t trong vi c an toàn h th ng
máy tính.
9.3. Tăng cư ng an ninh cho KERNEL
M c dù th a hư ng nh ng c tính c a h th ng UNIX và khá an ninh hơn m t s h
i u hành khác, h th ng GNU/Linux hi n nay v n t n t i nh ng như c i m sau:
o Quy n c a user ‘root’ có th b l m d ng. User ‘root’ có th d dàng
thay i b t kỳ i u gì trên h th ng.
o Nhi u file h th ng có th d dàng b s a i. Nhi u file h th ng quan
tr ng như /bin/login có th b s a i b i hacker cho phép ăng
nh p không c n m t kh u. Nhưng nh ng file lo i này l i hi m khi nào
thay i tr phi khi nâng c p h th ng.
o Các module có th ư c dùng ch n kernel. “Loadable Kernel
Module” là m t thi t k t t tăng cư ng tính uy n chuy n, linh ho t
cho kernel. Nhưng sau khi m t module ư c n p vào kernel, nó s tr
thành m t ph n c a kernel và có th ho t ng như kernel nguyên
th y. Vì v y, các chưng trình m c ích x u có th ư c vi t d ng
module và n p vào kernel, r i sau ó ho t ng như m t virus.
o Các process không ư c b o v . Các process như web server có th tr
thành m c tiêu b t n công c a hacker sau khi thâm nh p h th ng.
c i thi n tính an ninh cho các server Linux, chúng ta c n có m t kernel an toàn
hơn. i u này có th th c hi n ư c b ng cách s a i kernel nguyên thu b ng các
‘patch’ tăng cư ng tính an ninh cho h th ng. Các patch này có các tính năng chính
y u sau:
www.nhipsongcongnghe.net
o B o v – b o v các file h th ng quan tr ng kh i s thay i ngay c
v i user root. B o v các process quan tr ng kh i b ng ng b i l nh
‘kill’. Ch n các tác v truy c p IO m c th p (RAW IO) c a các
chương trình không ư c phép.
o Phát hi n – Phát hi n và c nh báo v i ngư i qu n tr khi server b scan.
Cũng như khi có các tác v trên h th ng vi ph m các lu t (rules) nh
trư c.
o i phó – Khi phát hi n s vi ph m trên h th ng, các ghi nh n chi ti t
s ư c th c hi n cũng như có th ng ng l p t c phiên làm vi c gây ra
M t vài công c s a i kernel ư c s d ng r ng rãi là LIDS (Linux Intrusion
Detection System), Medusa, ...
9.4. An toàn các giao d ch trên m ng
Có r t nhi u d ch v m ng truy n th ng giao ti p thông qua giao th c văn b n không
mã hoá, như TELNET, FTP, RLOGIN, HTTP, POP3. Trong các giao d ch gi a ngư i
dùng v i máy ch , t t c các thông tin d ng gói ư c truy n qua m ng dư i hình th c
văn b n không ư c mã hoá. Các gói tin này có th d dàng b ch n và sao chép m t
i m nào ó trên ư ng i. Vi c gi i mã các gói tin này r t d dàng, cho phép l y
ư c các thông tin như tên ngư i dùng, m t kh u và các thông tin quan tr ng khác.
Vi c s d ng các giao d ch m ng ư c mã hoá khi n cho vi c gi i mã thông tin tr
nên khó hơn và giúp b n gi an toàn các thông tin quan tr ng. Các k thu t thông
d ng hi n nay là IPSec, SSL, TLS, SASL và PKI.
Qu n tr t xa là m t tính năng h p d n c a các h th ng UNIX. Ngư i qu n tr m ng
có th d dàng truy nh p vào h th ng t b t kỳ nơi nào trên m ng thông qua các giao
th c thông d ng như telnet, rlogin. M t s công c qu n tr t xa ư c s d ng r ng
rãi như linuxconf, webmin cũng dùng giao th c không mã hoá. Vi c thay th t t c
các d ch v m ng dùng giao th c không mã hoá b ng giao th c có mã hoá là r t khó.
Tuy nhiên, b n nên cung c p vi c truy c p các d ch v truy n th ng như HTTP/POP3
thông qua SSL, cũng như thay th các d ch v telnet, rlogin b ng SSH.
9.5. Linux firewall
An toàn h th ng luôn luôn là m t v n s ng còn c a m ng máy tính và firewall là
m t thành ph n c t y u cho vi c m b o an ninh.
M t firewall là m t t p h p các qui t c, ng d ng và chính sách m b o cho ngư i
dùng truy c p các d ch v m ng trong khi m ng bên trong v n an toàn i v i các k
t n công t Internet hay t các m ng khác. Có hai lo i ki n trúc firewall cơ b n là :
Proxy/Application firewall và filtering gateway firewall. H u h t các h th ng
firewall hi n i là lo i lai (hybrid) c a c hai lo i trên.
Nhi u công ty và nhà cung c p d ch v Internet s d ng máy ch Linux như m t
Internet gateway. Nh ng máy ch này thư ng ph c v như máy ch mail, web, ftp,
hay dialup. Hơn n a, chúng cũng thư ng ho t ng như các firewall, thi hành các
chính sách ki m soát gi a Internet và m ng c a công ty. Kh năng uy n chuy n khi n
cho Linux thu hút như là m t thay th cho nh ng h i u hành thương m i.
www.nhipsongcongnghe.net
Tính năng firewall chu n ư c cung c p s n trong kernel c a Linux ư c xây d ng t
hai thành ph n : ipchains và IP Masquerading.
Linux IP Firewalling Chains là m t cơ ch l c gói tin IP. Nh ng tính năng c a IP
Chains cho phép c u hình máy ch Linux như m t filtering gateway/firewall d dàng.
M t thành ph n quan tr ng khác c a nó trong kernel là IP Masquerading, m t tính
năng chuy n i a ch m ng (network address translation- NAT) mà có th che gi u
các a ch IP th c c a m ng bên trong.
s d ng ipchains, b n c n thi t l p m t t p các lu t mà qui nh các k t n i ư c
cho phép hay b c m. Ví d :
# Cho phép các k t n i web t i Web Server c a b n
/sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100
1024: -j ACCEPT
# Cho phép các k t n i t bên trong t i các Web Server bên ngoài
/sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d
0.0.0.0/0 www -j ACCEPT
# T ch i truy c p t t c các d ch vu khác
/sbin/ipchains -P your_chains_rules input DENY
Ngoài ra, b n có th dùng các s n ph m firewall thương m i như Check Point
FireWall-1, Phoenix Adaptive Firewall, Gateway Guardian, XSentry Firewall, Raptor,
... hay r t nhi u các phiên b n mi n phí, mã ngu n m cho Linux như T.Rex Firewall,
Dante, SINUS, TIS Firewall Toolkit, ...
9.6. Dùng công c dò tìm kh o sát h th ng
Thâm nh p vào m t h th ng b t kỳ nào cũng c n có s chu n b . Hacker ph i xác
nh ra máy ích và tìm xem nh ng port nào ang m trư c khi h th ng có th b
xâm ph m. Quá trình này thư ng ư c th c hi n b i các công c dò tìm (scanning
tool), k thu t chính tìm ra máy ích và các port ang m trên ó. Dò tìm là bư c
u tiên hacker s s d ng trư c khi th c hi n t n công. B ng cách s d ng các công
c dò tìm như Nmap, hacker có th rà kh p các m ng tìm ra các máy ích có th b
t n công. M t khi xác nh ư c các máy này, k xâm nh p có th dò tìm các port
ang l ng nghe. Nmap cũng s d ng m t s k thu t cho phép xác nh khá chính xác
lo i máy ang ki m tra.
B ng cách s d ng nh ng công c c a chính các hacker thư ng dùng, ngư i qun tr
h th ng có th nhìn vào h th ng c a mình t góc c a các hacker và giúp tăng
cư ng tính an toàn c a h th ng. Có r t nhi u công c dò tìm có th s d ng như:
Nmap, strobe, sscan, SATAN, ...
Dư i ây là m t ví d s d ng Nmap:
# nmap -sS -O 192.168.1.200
Starting nmap V. 2.54 by Fyodor (fyodor@dhp.com,
www.insecure.org/nmap/)
Interesting ports on comet (192.168.1.200):
Port State Protocol Service
www.nhipsongcongnghe.net
7 open tcp echo
19 open tcp chargen
21 open tcp ftp
...
TCP Sequence Prediction: Class=random positive increments
Difficulty=17818 (Worthy challenge)
Remote operating system guess: Linux 2.2.13
Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds
Tuy nhiên, s d ng các công c này không th thay th cho m t ngư i qu n tr có
ki n th c. B i vì vi c dò tìm thư ng d báo m t cu c t n công, các site nên ưu tiên
cho vi c theo dõi chúng. V i các công c dò tìm, các nhà qu n tr h th ng m ng có
th phát hi n ra nh ng gì mà các hacker có th th y khi dò trên h th ng c a mình.
9.7. Phát hi n s xâm nh p qua m ng
N u h th ng c a b n có k t n i vào internet, b n có th tr thành m t m c tiêu b dò
tìm các l h ng v b o m t. M c dù h th ng c a b n có ghi nh n i u này hay không
thì v n không xác nh và phát hi n vi c dò tìm này. M t v n c n quan tâm
khác là các cu c t n công gây ng ng d ch v (Denial of Services - DoS), làm th nào
ngăn ng a, phát hi n và i phó v i chúng n u b n không mu n h th ng c a b n
ngưng tr .
H th ng phát hi n xâm nh p qua m ng (Network Intrusion Detection System -
NIDS) theo dõi các thông tin truy n trên m ng và phát hi n n u có hacker ang c
xâm nh p vào h th ng (ho c gây gây ra m t v t n công DoS). M t ví d i n hình
là h th ng theo dõi s lư ng l n các yêu c u k t n i TCP n nhi u port trên m t
máy nào ó, do v y có th phát hi n ra n u có ai ó ang th m t tác v dò tìm TCP
port. M t NIDS có th ch y trên máy c n theo dõi ho c trên m t máy c l p theo dõi
toàn b thông tin trên m ng.
Các công c có th ư c k t h p t o m t h th ng phát hi n xâm nh p qua m ng.
Ch ng h n dùng tcpwrapper i u khi n, ghi nh n các d ch v ã ư c ăng ký.
Các chương trình phân tích nh t ký h th ng, như swatch, có th dùng xác nh các
tác v dò tìm trên h th ng. Và i u quan tr ng nh t là các công c có th phân tích
các thông tin trên m ng phát hi n các t n công DoS ho c ánh c p thông tin như
tcpdump, ethereal, ngrep, NFR (Network Flight Recorder), PortSentry, Sentinel,
Snort, ...
Khi hi n th c m t h th ng phát hi n xâm nh p qua m ng b n c n ph i lưu tâm n
hi u su t c a h th ng cũng như các chính sách b o m s riêng tư.
9.8. Ki m tra kh năng b xâm nh p
Ki m tra kh năng b xâm nh p liên quan n vi c xác nh và s p x p các l h ng an
ninh trong h th ng b ng cách dùng m t s công c ki m tra. Nhi u công c ki m tra
cũng có kh năng khai thác m t s l h ng tìm th y làm rõ quá trình thâm nh p trái
phép s ư c th c hi n như th nào. Ví d , m t l i tràn b m c a chương trình ph c
v d ch v FTP có th d n n vi c thâm nh p vào h th ng v i quy n ‘root’. N u
ngư i qu n tr m ng có ki n th c v ki m tra kh năng b xâm nh p trư c khi nó x y
ra, h có th ti n hành các tác v nâng cao m c an ninh c a h th ng m ng.
www.nhipsongcongnghe.net
Có r t nhi u các công c m ng mà b n có th s d ng trong vi c ki m tra kh năng b
xâm nh p. H u h t các quá trình ki m tra u dùng ít nh t m t công c t ng phân
tích các l h ng an ninh. Các công c này thăm dò h th ng xác nh các d ch v
hi n có. Thông tin l y t các d ch v này s ư c so sánh v i cơ s d li u các l
h ng an ninh ã ư c tìm th y trư c ó.
Các công c thư ng ư c s d ng th c hi n các ki m tra lo i này là ISS Scanner,
Cybercop, Retina, Nessus, cgiscan, CIS, ...
Ki m tra kh năng b xâm nh p c n ư c th c hi n b i nh ng ngư i có trách nhi m
m t cách c n th n. S thi u ki n th c và s d ng sai cách có th s d n n h u qu
nghiêm tr ng không th lư ng trư c ư c.
9.9. i phó khi h th ng b t n công
G n ây, m t lo t các v t n công nh m vào các site c a nh ng công ty l n như
Yahoo!, Buy.com, E-Bay, Amazon và CNN Interactive gây ra nh ng thi t h i vô cùng
nghiêm tr ng. Nh ng t n công này là d ng t n công gây ng ng d ch v "Denial-Of-
Service" mà ư c thi t k làm ngưng ho t ng c a m t m ng máy tính hay m t
website b ng cách g i liên t c v i s lư ng l n các d li u t i m c tiêu t n công
khi n cho h th ng b t n công b ng ng ho t ng, i u này tương t như hàng trăm
ngư i cùng g i không ng ng t i 1 s i n tho i khi n nó liên t c b b n.
Trong khi không th nào tránh ư c m i nguy hi m t các cu c t n công, chúng tôi
khuyên b n m t s bư c mà b n nên theo khi b n phát hi n ra r ng h th ng c a b n
b t n công. Chúng tôi cũng ưa ra m t s cách giúp b n b o m tính hi u q a c a
h th ng an ninh và nh ng bư c b n nên làm gi m r i ro và có th i phó v i
nh ng cu c t n công.
N u phát hi n ra r ng h th ng c a b n ang b t n công, hãy bình tĩnh. Sau ây
là nh ng bư c b n nên làm:
o T p h p 1 nhóm i phó v i s t n công:
- Nhóm này ph i bao g m nh ng nhân viên kinh nghi m, nh ng ngư i mà có
th giúp hình thành m t k ho ch hành ng i phó v i s t n công.
o D a theo chính sách và các quy trình th c hi n v an ninh c a công ty, s
d ng các bư c thích h p khi thông báo cho m i ngư i hay t ch c v cu c t n
công.
o Tìm s giúp t nhà cung c p d ch v Internet và cơ quan ph trách v an
ninh máy tính:
- Liên h nhà cung c p d ch v Internet c a b n thông báo v cu c t n
công. Có th nhà cung c p d ch v Internet c a b n s ch n ng ư c cu c
t n công.
- Liên h cơ quan ph trách v an ninh máy tính thông báo v cu c t n
công
www.nhipsongcongnghe.net
o T m th i dùng phương th c truy n thông khác (ch ng h n như qua i n tho i)
khi trao i thông tin m bo r ng k xâm nh p không th ch n và l y
ư c thông tin.
o Ghi l i t t c các ho t ng c a b n (ch ng h n như g i i n tho i, thay i
file, ...)
o Theo dõi các h th ng quan tr ng trong qúa trình b t n công b ng các ph n
m m hay d ch v phát hi n s xâm nh p (intrusion detection
software/services). i u này có th giúp làm gi m nh s t n công cũng như
phát hi n nh ng d u hi u c a s t n công th c s hay ch là s qu y r i nh m
ánh l c hư ng s chú ý c a b n(ch ng h n m t t n công DoS v i d ng ý làm
sao lãng s chú ý c a b n trong khi th c s ây là m t cu c t n công nh m
xâm nh p vào h th ng c a b n).
- Sao chép l i t t c các files mà k xâm nh p l i hay thay i (như nh ng
o n mã chương trình, log file, ...)
o Liên h nhà ch c trách báo cáo v v t n công.
Nh ng bư c b n nên làm gi m r i ro và i phó v i s t n công trong tương
lai :
o Xây d ng và trao quy n cho nhóm i phó v i s t n công
o Thi hành ki m tra an ninh và ánh giá m c r i ro c a h th ng
o Cài t các ph n m m an toàn h th ng phù h p gi m b t r i ro
o Nâng cao kh năng c a mình v an toàn máy tính
Các bư c ki m tra giúp b n b o m tính hi u qu c a h th ng an ninh
o Ki m tra h th ng an ninh m i cài t : ch c ch n tính úng n c a chính
sách an ninh hi n có và c u hình chu n c a h th ng.
o Ki m tra t ng thư ng xuyên : khám phá s “vi ng thăm” c a nh ng
hacker hay nh ng hành ng sai trái c a nhân viên trong công ty.
o Ki m tra ng u nhiên: ki m tra chính sách an ninh và nh ng tiêu chu n,
ho c ki m tra s hi n h u c a nh ng l h ng ã ư c phát hi n (ch ng h n
nh ng l i ư c thông báo t nhà cung c p ph n m m)
o Ki m tra h ng êm nh ng file quan tr ng: ánh giá s toàn v n c a nh ng
file và cơ s d li u quan tr ng
o Ki m tra các tài kho n ngư i dùng: phát hi n các tài kho n không s d ng,
không t n t i, ...
o Ki m tra nh kỳ xác nh tr ng thái hi n t i c a h th ng an ninh c a b n
B N CÓ TH XEM THÊM THÔNG TIN T I
Các trung tâm giúp i phó tai n n trên Internet
• http://www.cert.org
www.nhipsongcongnghe.net
• http://www.first.org
• http://ciac.llnl.gov/
• http://www.cert.dfn.de/eng/csir/europe/certs.html
M t s website v an toàn máy tính
• http://www.cs.purdue.edu/coast/
• http://www.linuxsecurity.com
• http://www.securityportal.com
• http://www.tno.nl/instit/fel/intern/wkinfsec.html
• http://www.icsa.net
• http://www.sans.org
• http://www.iss.com
• http://www.securityfocus.com
Thông tin v an toàn t nhà cung c p
• http://www.calderasystems.com/news/security/
• http://www.debian.org/security/
• http://www.redhat.com/cgi-bin/support/
M t s sách v an toàn máy tính
• Actually Useful Internet Security Techniques by Larry J. Hughes Jr.
• Applied Cryptography: Protocols, Algorithms and Source Code in C by Bruce
Schneier
• Building Internet Firewall by Brent Chapman & Elizabeth D. Zwicky
• Cisco IOS Network Security by Mike Kaeo
• Firewalls and Internet Security by Bill Cheswick & Steve Bellovin
• Halting the Hacker: A practical Guide To Computer Security by Donal L. Pipkin
• Intrusion Detection: An Introduction to Internet Surveillance, Correlation, Traps,
Trace Back and Response by Edward G. Amoroso
• Intrusion Detection: Network Security Beyond the Firewall by Terry Escamilla
• Linux Security by Jonh S. Flowers

Quan tri he dieu hanh linux

  • 1.
  • 2.
    www.nhipsongcongnghe.net QU N TRH I U HÀNH LINUX M C L C 1. Gi i thi u h i u hành Linux 1.1 L ch 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 D ch 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 T o superuser 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 4.3.2 T o m t nhóm m i 4.3.3 S a 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 iUID 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 S a 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 C u 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 i u 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 H H Linux và card m ng 5.1.2 C u 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. L p trình shell 6.1 T o 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 L nh if 6.5.2 L nh case 6.6 S d ng các câu l nh vòng l p 6.6.1 L nh for 6.6.2 L nh while 6.6.3 L nh until 6.6.4 L nh shift 6.6.5 L nh select 6.6.6 L nh repeat 6.7 S d ng các hàm 6.8 T ng 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 C u hình Apache 7.2.5 Xác th c ngư i dùng
  • 4.
    www.nhipsongcongnghe.net 8. Qu nlý 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 i u 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 ch y 8.2.3 Giao ti p gi a các ti n trình 8.3 L p 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. B o 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 Tăng 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 ithi u h i u hành Linux 1.1. L ch s Linux là h i u 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 b n 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...) b t 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: - Năm 1991: 100 ngư i dùng. - Năm 1997: 7.000.000 ngư i dùng. - Năm 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 mi n 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. C u trúc file quy nh cách lưu tr các file trên ĩa. File ư c nhóm trong các thư m c. 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 i u 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 tmáy ch Linux Lưu ý: 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 g m - 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. L a ch n ngôn ng Ch n ngôn ng m c nh là English
  • 7.
    www.nhipsongcongnghe.net 4. L ach n ki u bàn phím L a 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 H p hi tho i cho phép b n ch n l a ki u cài t h i u 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. L a 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. B n 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, dunglư ng b ng dung lư ng RAM c a máy. Ti p theo t o m t partion tên "/" v i 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 lư ng 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 M t s v n có th x y ra khi thêm m t partition
  • 10.
    www.nhipsongcongnghe.net 8. Hi uch 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 to LILO LInux LOader (LILO) cho phép b n xác nh th i gian kh i t o Linux hay m t h i u 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 m c 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 i m boot.
  • 12.
    www.nhipsongcongnghe.net . Chú ý rng 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 i u 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.C u hìnhk t n i m ng N u 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 m ng 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.C u hình firewall: ch n Medium 13.C u hình chu t
  • 14.
    www.nhipsongcongnghe.net Thông thư ngthì 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 c a mình lo i gì thì c yên, click Next ti p t c. L a 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, b n 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. C u hình Time Zone N u 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 i u hànhkhác thì vi c thi t t ng h theo gi GMT s khi n cho h i u 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 H p tho i Root Password bu c b n ph i thi t l p m t m t kh u root cho h th ng c a 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. T o user B n 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 d ng b o dư ng hay qu n tr h th ng. M t 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. B ncó th t o ti p nhi u user theo c a s sau: 16. C u 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 i u hành linux c a b n s d ng xác th c m t kh u. L a 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 ptheo, 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 m m, 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 b n. 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. C uhì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ànhcài t Như v y là b n ã hoàn thành xong công vi c cài t h i u 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 tip 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 i u hành h UNIX b i kích thư c và kh năng c a nó.vi không òi h i nhi u 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 i m 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 D ch chuy n c a s lên phía trư c b ng m t màn hình Ctrl + B D ch chuy n c a s v phía sau m t màn hình k ho c up arrow D ch chuy n con tr lên m t dòng j ho c down arrow D ch chuy n con tr xu ng m t dòng l ho c right arrow D ch chuy n con tr sang ph i m t ký t h ho c left arrow D ch chuy n con tr sang trái m t kí t Return D ch chuy n con tr n v trí b t u dòng ti p theo - D ch chuy n con tr n v trí b t u c a dòng trư c w d ch chuy n con tr n v trí b t u c a t ti p theo b d ch chuy n con tr n v trí b t u c a t trư c ^ ho c 0 d ch chuy n con tr n v trí b t u c a dòng hi n t i $ d ch 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ănb 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 L p l i vi c tìm ki m theo cùng hư ng / ngư c hư ng p, P Dán o n văn b n v a xoá vào trư c / sau con ch y . L p 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! K t thúc, không lưu tr b t kỳ thay i :ZZ Lưu thay i c a file hi n t i và k t thúc. 2.2. Ti n ích mc. M t 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 l nh c a Linux cũng khó h c. Trong th i kỳ c a DOS trư c Windows, vi c nh hư ng 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. M t trong s chương trình thông d ng 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 nl n cách trình bày, phím t t và các c tính u gi ng NC. S d ng mouse cũng ư c h tr ch text. N u 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 m t 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 tp 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. V i 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 baog 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 n n, 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 d ng:
  • 26.
    www.nhipsongcongnghe.net * Tương ngv 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 m t 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 r ng 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 b t u m t t > 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 L y 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ìmki 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 b ng m t t , s d ng <. Ví d : grep ‘<ki’ data.txt bi u th c bên trên s cho phép tìm ki m các t b t u b ng ‘ki’ trong file data.txt. tìm ki m m u ‘wee’ k t thúc c a m t t , s d ng: grep ‘wee>’ 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. i u 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 g ch 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 Cũng 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 • L nh cat Cú pháp: cat file [>|>] [destination file] L nh 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 L nh 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 l nh. 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 t i. 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 L nh này s b sung n i dung c a file name4 vào allnames • L nh chmod Cú pháp: chmod [-R] permission-mode file ho c thư m c L nh 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 744public_html • L nh chown Cú pháp: chown [ -fhR ] Owner [ :Group ] { file …| thư m c… } L nh 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 h u 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 h u 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ư m c hi n t i ư c ch ra • L nh 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 • l nh cmp Cú pháp: cmp [ -ls ] file1 file2 L nh 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 k t 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 b ng 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. • L nh cp Cú pháp: cp [ -R ] file_ho c_thư_m c file_ho c_thư_m c L nh 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 d ng câu l nh cp v i tuỳ ch n –R • L nh du L nh 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 • L nh 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. • L nh 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” L nh này s tìm t t 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 tht t c các file r ng trong thư m c hi n t i. • L nh grep Cú pháp: grep [–viw] m u file L nh 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 n u 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. • L nh 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 c a 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. • L nh ln Cú pháp: ln [-s] file_ngu n ích L nh 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 M t lienk 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à m t file m i ư c t o trên h th ng file 1. • L nh 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 k t 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. • L nh ls L nh 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 t i. 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ó. • L nh 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 L nh trênt o ra ba thư m c, n m bên trong thư m c hi n t i. • L nh 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 B i 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. • L nh 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 • L nh 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.txtdoc3.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á, b n 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. • L nh 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 l nh: 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 • L nh 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 • L nh 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 • L nh gzip Cú pháp: gzip [-rv9] file L nh 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 r ng .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. • L nh tar Cú pháp: tar [c] [x] [v] [z] [f tên_file] tên_file_ho c_thư_m c L nh 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 b n 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 r ng .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, t tc các file và các thư m c con c a thư m c important_dir ư c nén trong m t 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 • L nh 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 c a nó tương t như l nh compress uncompress –v inbox.Z • L nh unzip Cú pháp: unzip file L nh 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 l nh zip. • L nh 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 i u hành. Các file ư c nén v i l nh zip có ph n m r ng .zip. • L nh mount Cú pháp: mount –a [-t fstype] [-o option] device directory L nh 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 ext2defaults 1 2 N u 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 lưu 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 • L nh umount Cú pháp : umount –a [-t fstype] L nh 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 • L nh 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 h u c nh (ti n trình n n). • L nh 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. N u 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 • L nh jobs Cú pháp: jobs L nh 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 l nh 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 . T t c các file trong linux có chung c u trúc v t lý là chu i các byte (byte stream). C u 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
  • 39.
    www.nhipsongcongnghe.net Mô t thưm c Thư m c Ch c năng / B t 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 lưu ch t t c các câu l nh 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 i u 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ôngtin 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 c a 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 m t file v i ngư i s d ng kabid r i sau ó gán l i quy n s h u cho ngư i khác có tên là sheila b i 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 i u 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 d ng 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 N u superuser mu n thay i nhóm cho m t file ho c thư m c, ngư i ó có th s d ng câu l nh chown như sau:
  • 41.
    www.nhipsongcongnghe.net chown newuser.newgroup fileho 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 d ng file là admin. N u superuser mu n thay i ngư i s h u và nhóm s d ng cho t t 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 L nh 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 cũng 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 2 set-GID W w w 1 sticky-bit X x x Giá tr cơ s 8 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 v i quy n:
  • 42.
    www.nhipsongcongnghe.net Giá Tr Gii 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 v i 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 v i 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. i u này có nghĩa là khi file ư c th c thi, nó có t t c các quy n c a ngư i s h u th c hi n công vi c. S là m t 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 dư i 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 M i 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 all (a)
  • 43.
    www.nhipsongcongnghe.net chmod 755 *.pl Câul 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à nh ng ngư i khác. B n có th hoàn thành cùng m t 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. N u 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ư m c 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 ó - N u 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 b t 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 th c thi các câu l nh t i th i i m ngư i s d ng ă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 c a 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 b n 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 c a 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 m i, 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 m i ư 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ù c a 022 là 755) do ó k t qu c a phép AND thu ư c là 0644, nó cho phép ngư i s h u 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 B n 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 b t 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 m c mong mu n 3.4.2. Chuy n n thư m c B n 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 b n 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 i u 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 K t 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 B n 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 K t 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 B n 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. D ch 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 i u 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 i u 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 pnê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 B n ã bi t r ng tài kho n root là tài kh an superuser trong h th ng Linux. Th c ra n u 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 m i 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 o n 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 B n 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 B n 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 T o 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 B n 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 d ng 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 N u 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 d ng 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 N u bn 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 inhó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 B n 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 ttài kho n 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 c a 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ú ý r ng userdel s không xóa ngư i s d ng n u ngư i s d ng hi n t i ang ăng nh p. N u 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 m t 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 c u 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 B n 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 ó, b n 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. N u 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 t p 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. M i 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: Ca 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 c ng song song ho c c ng USB. Ki u hàng i in Queue Type s ư c thi t l p 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 hi n công vi c này, ch n File => Save Changes và sau ó ch n File => Restart lpd. N u 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 tmá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àit 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. C a 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àit máy in Unix xa C a 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 g p 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: Chn Printer Server Bư c 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 i u ó, 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àit máy in SMB Trong c a s c a hình 8, i n 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 t i 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 => rn 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: Chn Print Server Bư c 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 i u 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 i u khi n máy in. B n 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 i u 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: Chn trình i u khi n máy in Máy in c c b : N u 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 i u khi n máy in c a nó. C g ng ch n úng trình i u khi n máy in xa ó. Bư c 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 ithô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. N u 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 l nh 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 N u 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 m ng 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ó m t 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 c a 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. bi t xem k t
  • 62.
    www.nhipsongcongnghe.net qu nh nbi 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 h p kernel không nh n bi t card , chúng ta ph i làm l i kernel Linux và t module i u 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 i m 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 k t 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 networkaddress = 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 L nh 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. L nh 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 . L nh 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ó g n 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 m ng logic khác nhau. Cú pháp c a l nh này là :
  • 64.
    www.nhipsongcongnghe.net ifconfig eth0:0 208.148.45.58netmask 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 v i 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 s a 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. L nh route L nh 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. L nh 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 sd 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 cũng 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. L nh 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 N u 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 t t 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 k t qu th k t n i m ng. L nh 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!) L nh 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 d ng 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 <tên hay a ch IP>” 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. N u 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 kho n 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. B t 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. K t 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 t p 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 c a 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àomáy xa. • Gõ l nh ftp <tên máy xa>. • Máy s yêu c u tên ăng nh p và password. M t trong nh ng ch cho phép m i 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 <tên t p mu n t i v >. • 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 Modemconnection, 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ánIP ng, ch n Forward Ch n Apply, sau ó c a s Network configuration hi n ra
  • 70.
    www.nhipsongcongnghe.net n ây chúngta ã hoàn t t bư c cài t modem. 5.2.2. Quay s T i 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 xongmàn hình network configuration s báo giao di n ppp0 là active.
  • 72.
    www.nhipsongcongnghe.net Có th kim 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. L ptrình shell. L p 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à m t 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 l p 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 l nh 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 r ng 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 ó g n 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 ca 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 b n 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. i u 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. M t 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 m t 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 l nh . (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 m m 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 l nh: mount -t msdos /dev/fd0 /a cp file1 /dev/fd0 cp file2 /dev/fd0 cp file3 /dev/fd0 M t 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 l nh 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 b n mu n copy ba file này vào ĩa m m.
  • 75.
    www.nhipsongcongnghe.net B n vn ph i m b o chương trình file shell backup có th th c thi và n m trong m t 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 l nh 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 g n v i các câu l nh Linux. 6.2. S d ng các bi n Cũng 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 b i 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 b n 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 V i 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, i u này không quan tr ng. B i 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 i u này trong l p trình C hay Pascal. B n có th s d ng 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 pdkshand 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 l i? 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 N u 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, m i 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 m t 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à b n 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" N u 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 M t 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 m i bi n ư c s d ng làm gì. B ng 6.2.1 Các bi n shell có s n. Bi n S d ng $# Lưu s các i s dòng l nh ư c ưa vào chương trình shell $? Lưu giá tr t n t i c a câu l nh ư c th c thi sau cùng $0 Lưu t u tiên c a câu l nh ư c ưa vào, ó là tên c a chương trình shell $* Lưu t t c các i s ư c ưa vào t dòng l nh ("$1 $2 ...")
  • 77.
    www.nhipsongcongnghe.net "$@" Lưu tt 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 d ng 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 d ng 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. D u 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ó d ng ý 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 m t 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
  • 78.
    www.nhipsongcongnghe.net ơn s làmn d u $ trong shell, và shell không bi t r ng nó ư c yêu c u th c hi n thay th m t bi n. K t qu , bi n greeting ư c gán giá tr hello there $LOGNAME. S d ng d u g ch ngư c là cách th ba che d u các ký t c bi t trong shell. Gi ng như phương th c d u nháy ơn, d u g ch ngư c n t t c các ký t c bi t trong shell, nhưng nó ch có th n m t ký t t i m t th i i m, ch không ph i m t nhóm các ký t . B n có th vi t l i ví d greeting s d ng d u g ch ngư c thay cho d u nháy kép b ng cách s d ng câu l nh sau: greeting=hello there (for bash and pdksh) set greeting=hello there (for tcsh) Trong câu l nh này, d u g ch ngư c n ký t tr ng trong shell và chu i hello there ư c gán cho bi n greeting. D u g ch ngư c thư ng ư c s d ng nhi u nh t khi b n mu n n ch m t ký t trong shell. V n này xu t hi n khi b n mu n ưa vào m t ký t c bi t trong m t chu i. Ví d , lưu giá c a m t h p ĩa máy tính vào m t bi n có tên là disk_price, s d ng câu l nh sau. disk_price=$5.00 (for bash and pdksh) set disk_price = $5.00 (tcsh) D u g ch ngư c trong ví d này n d u ô la trong shell. N u d u g ch ngư c không có ó, shell có th c tìm m t bi n có tên là 5 và th c hi n m t phép thay th bi n trên bi n ó. N u không có bi n tên là 5 ư c nh nghĩa, shell có th m t gán giá tr .00 cho bi n disk_price. ( shell này có th thay th m t giá tr r ngcho bi n $5 ) B n cũng có th s d ng d u nháy ơn trong ví v disk_price n ký hi u $ trong shell. D u nháy ngư c (``) th c hi n m t ch c năng khác. B n s d ng chúng khi b n mu n s d ng các k t qu c a m t câu l nh trong m t câu l nh khác. Ví d , t giá tr c a bi n contents b ng danh sách các file có trong thư m c hi n t i, gõ câu l nh sau: contents=`ls` (for bash and pdksh) set contents = `ls` (for tcsh) Câu l nh này th c thi câu l nh ls và lưu k t qu c a câu l nh vào bi n contents . Như s ư c ch ra trong các o n sau, c i m này có th r t h u ích khi b n mu n ghi k t qu c a m t chương trình shell th c hi n m t vài ho t ng vào trong m t câu l nh khác. 6.4. S d ng câu l nh test Trong bash và pdksh, câu l nh test ư c s d ng tính giá tr c a m t bi u th c có i u ki n. Thông thư ng, b n s d ng câu l nh test tính giá tr i u ki n trong m t
  • 79.
    www.nhipsongcongnghe.net l nh cói u ki n ho c tính giá tr u vào hay i u ki n t n t i cho m t câu l nh l p. Câu l nh test có cú pháp sau: test expression ho c [ expression ] B n có th s d ng m t vái toán t có s n v i câu l nh test. Các toán t này ư c phân lo i thành b n nhóm khác nhau: các toán t xâu, các toán t s , các toán t file, và các toán t logic. B n s d ng các toán t xâu tính giá tr bi u th c xâu. B ng 6.4.1 ưa ra danh sách các toán t xâu mà ba ngôn ng l p trình shell h tr . B ng 6.4.1 Các toán t chu i cho câu l nh test. Toán t Ý nghĩa str1 = str2 Tr l i giá tr true n u str1 gi ng v i str2 str1 != str2 Tr l i giá tr true n u str1 không gi ng str2 str Tr l i giá tr true n u str khác r ng -n str Tr l i giá tr true n u dài c a str l n hơn 0 -z str Tr l i giá tr true n u dài c a str b ng 0 Các toán t s th c hi n các ch c năng tương t các toán t string ngo i tr vi c chúng ho t ng trên các i s ki u s . B ng 6.4.2 li t kê danh sách các toán t s ư c s d ng trong câu l nh test. B ng 6.4.2 Các toán t s cho câu l nh test. Toán t Ý nghĩa int1 -eq int2 Tr l i giá tr true n u int1 b ng int2 int1 -ge int2 Tr l i giá tr true n u int1 l n hơn ho c b ng int2 int1 -gt int2 Tr l i giá tr true n u int1 l n hơn int2 int1 -le int2 Tr l i giá tr true n u int1 nh hơn int2 int1 -lt int2 Tr l i giá tr true n u int1 nh hơn int2 int1 -ne int2 Tr l i giá tr true n u int1 không b ng int2 B n s d ng các toán t file cho câu l nh test th c hi n các ch c năng ch ng h n như ki m tra xem các file có t n t i hay không và ki m tra xem file thu c lo i nào, file ư c ưa vào như m t i s cho câu l nh test. B ng 6.4.3 ưa ra danh sách các toán t file cho câu l nh test.
  • 80.
    www.nhipsongcongnghe.net B ng 6.4.3Các toán t File cho câu l nh test. Toán t Ý nghĩa -d file Tr l i giá tr true n u file ư c xác nh là m t thư m c -f file Tr l i giá tr true n u file ư c xác nh là m t file thông thư ng -r file Tr l i giá tr true néu file xác nh là có th c b i ti n trình -s file Tr l i giá tr true n u file xác nh có dài khác 0 -w file Tr l i giá tr true n u file có th ghi ư c b i ti n trình -x file Tr l i giá tr true n u file xác nh là có th th c thi B n s d ng các toán t logic cho câu l nh test k t h p các toán t s , xâu, hay file ho c ph nh m t toán t ơn s , xâu, ho c file. B ng 6.4.4 ưa ra danh sách cá toán t logic cho câu l nh test. B ng 6.4.4 Các toán t Logic chó câu l nh test. Toán t Ý nghĩa ! expr Tr l i giá tr true n u expr khác true Expr1 -a expr2 Tr l i giá tr true n u expr1 và expr2 là true Expr1 -o expr2 Tr l i giá tr true n u expr1 ho c expr2 là true Shell tcsh không có câu l nh test, nhưng các bi u th c c a tsch th c hi n các ch c năng tương t . Các toán t tcsh h tr h u h t gi ng như ư c h tr trong ngôn ng C. B n thư ng s d ng các bi u t c này trong các cau l nh if và while. Trong o n sau,ph n "S d ng các l nh có i u ki n " và "S d ng các l nh l p " s nói v các câu l nh này. Gi ng như câu l nh test trong bash và pdksh, các bi u th c trong tcsh h tr các toán t s , xâu, file, và logic. B ng 6.4.5 ưa ra danh sách các toán t ư c h tr trong cá bi u th c c a tcsh. B ng 6.4.5 Các tóan t s cho for các bi u th c tcsh. Toán t Ý nghĩa int1 <= int2 Tr l i giá tr true n u int1 nh hơn int2 int1 >= int2 Tr l i giá tr true n u int1 l n hơn ho c b ng int2 int1 < int2 Tr l i giá tr true n u int1 nh hơn int2 int1 > int2 Tr l i giá tr true n u int1 l n hơn int2 B ng 6.4.6 ưa ra danh sách các toán t xâu mà các bi u th c c a tcsh h tr . Table 6.4.6. Các toán t xâu cho các bi u th c c a tcsh. Toán t Ý nghĩa
  • 81.
    www.nhipsongcongnghe.net str1 == str2Tr l i giá tr true n u str1 b ng str2 str1 != str2 Tr l i giá tr true n u str1 không b ng str2 B ng 6.4.7 ưa ra danh sách cá toán t file mà các bi u th c tcsh h tr . B ng 6.4.7 Các toán t File cho các bi u th c tcsh. Toán t Ý nghĩa -r file Tr l i giá tr true n u file có th c ư c -w file Tr l i giá tr true n u file có th ghi ư c -x file Tr l i giá tr true n u file có th th c thi -e file Tr l i giá tr true n u file t n t i -o file Tr l i giá tr true n u file ư c s h u b i ngư i s d ng hi n t i -z file Tr l i giá tr true n u file có kích thư c b ng 0 -f file Tr l i giá tr true n u file là file thông thư ng -d file Tr l i giá tr true n u file là m t thư m c B ng 6.4.8 ưa ra danh sách các toán t logic ư c h tr trong các bi u th c c a tcsh. Table 6.4.8 Các toán t Logical cho cá bi u th c c a tcsh. Toán t Ý nghĩa exp1 || exp2 Tr l i giá tr true n u exp1 là true ho c exp2 là true exp1 && exp2 Tr l i giá tr true n u c hai exp1 và exp2 là true ! exp Tr l i true n u exp khác true 6.5. S d ng các câu l nh r nhánh Trong các shell bash, pdksh và tcsh, m i shell có hai hình th c khác nhau c a câu l nh r nhánh. B n s d ng các l nh này th c thi các ph n khác nhau c a chương trình shell ph thu c vào các i u ki n nh t nh có úng hay không. V i h u h t các l nh th c hi n, cú pháp cho các câu l nh này khác nhau gi a các shell. 6.5.1. L nh if T t c ba shell u h tr các câu l nh if-then-else statements l ng nhau. Các l nh này cung c p cho b n cách th c hi n các câu l nh test i u ki n ph c t p trong chương trình shell c a b n. Cú pháp c a l nh if trong bash và pdksh là gi ng nhau: if [ expression ] then
  • 82.
    www.nhipsongcongnghe.net commands elif [ expression2] commands else commands fi Chú ý r ng shell bash và pdksh s d ng o ngư c c a tên câu l nh trong hâu h t các l nh ph c t p k t thúc câu l nh. Trong l nh bên trên, t khóa fi ư c s d ng làm kí hi u k t thúc cho câu l nh if. C hai m nh elif và else u là các ph n tùy ch n c a l nh if. L nh elif là rút g n c a else if. L nh này ư c th c thi n u các bi u th c n m trong l nh if ho c t t c các bi u th c trong các l nh elif trư c ó u không có giá tr true. Các câu l nh n m trong l nh else ư c th c thi ch n u không m t bi u th c nào trong m nh if và trong b t kỳ m nh elif nào có giá tr true. Trong tcsh, l nh if có hai d ng khác nhau. D ng th nh t cung c p cùng m t ch c năng như l nh if trong bash và pdksh. D ng này c a l nh if có cú pháp như sau: if (expression1) then commands else if (expression2) then commands else commands endif L i m t l n n a các ph n if và else c a l nh if là tùy ch n. L nh này cũng có th ư c vi t v i elif. N u mã bên trên trình bày toán b chương trình tcsh, nó nên b t u v i dòng sau m b o ch y hoàn h o: #!/bin/sh D ng th hai c a l nh if mà tcsh cung c p là bi n i ơn gi n c a l nh if d ng u tiên. D ng này c a l nh if ch tính giá tr m t bi u th c ơn. N u bi u th c là true nó s th c thi câu l nh ơn. N u bi u th c là false, không có i u gì x y ra. Cú pháp cho d ng này c a l nh if là như sau. if (expression) command
  • 83.
    www.nhipsongcongnghe.net Bên dư ilà m t ví d v s d ng l nh if trong bash hay pdksh. L nh này ki m tra xem có m t file có tên là a .profile trong thư m c hi n t i hay không: if [ -f .profile ] then echo "There is a .profile file in the current directory." else echo "Could not find the .profile file." fi Cũng v i ví d trên s d ng cú pháp c a tcsh như sau: # if ( { -f .profile } ) then echo "There is a .profile file in the current directory." else echo "Could not find the .profile file." endif Chú ý r ng trong ví d tcsh dòng u tiên b t u v i ký t #. Ký hi u này ư c yêu c u tcsh nh n ra file ch a các câu l nh là m t file k ch b n tcsh. 6.5.2. L nh case L nh case cho phép b n so sánh m t m u v i m t s các m u khác và th c thi m t kh i mã n u m t s gi ng nhau ư c tìm th y. L nh case trong shell m nh hơn l nh case trong Pascal hay l nh switch trong C. V i l nh shell trong case , b n có th so sánh các xâu v i các kí t i di n trong chúng; b n có th ch có th so sánh các ki u ư c li t kê ho c các giá tr s nguyên trong Pascal và C. Cú pháp cho l nh case trong bash và pdksh là như sau: case string1 in str1) commands;; str2) commands;; *)
  • 84.
    www.nhipsongcongnghe.net commands;; esac String1 ư cso sánh v i str1 và str2. N u m t trong các xâu này h v i string1, các câu l nh bên dư i nó cho n khi g p hai d u ch m ph y(;;) ư c th c hi n. N u không có xâu nào (str1 ho c str2) h p v i string1, các câu l nh k t h p v i d u hoa th ư c th c thi. Các câu l nh này là i u ki n case m c nh b i vì d u hoa th h p v i t t c các xâu. Câu l nh trong tcsh tương ương v i câu l nh case trong bash và pdksh ư c g i là l nh switch. L nh này g n gũi v i cú pháp l nh switch trong C. Cú pháp cho l nh switch là như sau: switch (string1) case str1: statements breaksw case str2: statements breaksw default: statements breaksw endsw L nh này x lý gi ng nư cách s lý c a l nh case trong bash và pdksh. M i xâu trong t khóa case ư c so sánh v i string1. N u xâu b t kỳ trong các xâu trên h p v i string1, các mã bên dư i nó cho n khi g p t khóa breaksw keyword ư c th c hi n. N u không có xâu nào phù h p, các mã bên dư i t khóa default cho n khi g p t khóa breaksw ư c th c thi. Mã bên dư i là m t ví d v l nh case trong shell bash hay pdksh. Mã này ki m tra xem tùy ch n u tiên trong dòng l nh là -i hay -e. N u nó là -i, chương trình m s các dòng trong m t file xác nh b i tùy ch n th hai trong dòng l nh b t u v i ký t i. N u tùy ch n th nh t là -e, chương trình m s các dòng trong file ư c xác nh b i tùy ch n th hai c a dòng l nh b t u v i ký t e. N u tùy ch n th nh t c a dòng l nh khác -i và khác -e, chương trình s in ra thông tin báo l i trên màn hình. case $1 in -i)
  • 85.
    www.nhipsongcongnghe.net count=`grep ^i $2| wc -l` echo "The number of lines in $2 that start with an i is $count" ;; -e) count=`grep ^e $2 | wc -l` echo "The number of lines in $2 that start with an e is $count" ;; * ) echo "That option is not recognized" ;; esac Ví d tương t ư c vi t theo cú pháp tcsh: # remember that the first line must start with a # when using tcsh switch ( $1 ) case -i | i: set count = `grep ^i $2 | wc -l` echo "The number of lines in $2 that begin with i is $count" breaksw case -e | e: set count = `grep ^e $2 | wc -l` echo "The number of lines in $2 that begin with e is $count" breaksw default: echo "That option is not recognized" breaksw endsw 6.6. S d ng các l nh l p Ngôn ng shell cũng cung c p l nh l p mà thư ng ư c s d ng nh t. Các l nh l p này ư c thao tác khi b n c n th c hi n m t hành ng l p i l p l i, ch ng h n như khi b n x lý danh sách các file.
  • 86.
    www.nhipsongcongnghe.net 6.6.1. L nhfor L nh for th c thi các câu l nh ch a trong nó m t s l n. L nh for có hai d ng khác nhau trong bash và pdksh. D ng th nh t c a l nh for mà bash và pdksh h tr có cú pháp như sau: for var1 in list do commands done Trong d ng này, l nh for th c thi m t l n cho m i ph n t n m trong danh sách. Danh sách này có th ư c thay i ch a các t ư c phân bi t v i nhau b i d u cách, ho c nó có th là m t danh sách các giá tr ư c gõ tr c ti p vào trong câu l nh. M i l n qua vòng l p, bi n var1 ư c gán cho ph n t hi n t i trong danh sách và ti p t c cho n khi ph n t cu i cùng trong danh sách. D ng th hai c a l nh for có cú pháp như sau: for var1 do statements done Trong d ng này, l nh for th c thi m t l n cho m i ph n t n m trong bi n var1. Khi b n s d ng cú pháp này c a l nh for, chương trình shell gi s r ng bi n var1 ch a t t c các i s ư c ưa vào trong chương trình shell t dòng l nh. i n hình, d ng này c a l nh for là tương ương v i vi t các l nh sau: for var1 in "$@" do statements done Tương ương v i l nh for trong tcsh là l nh foreach. Nó x lý tương t như l nh for trong bash và pdksh. Cú pháp c a l nh foreach như sau: foreach name (list) commands end
  • 87.
    www.nhipsongcongnghe.net M t ln n a, n u mã này là m t chương trình hoàn thi n, nó nên b t u v i kí hi u # (và t t nh t là #!/bin/sh bu c th c thi theo Bourne shell). Dư i ây là m t ví d v s d ng l nh for trong bash hay pdksh. Ví d này l y các tùy ch n dòng l nh s lư ng b t kỳ các file text. Chương trình c m i file trong các file này, chuy n i t t c các ký t thành ch hoa, và sau ó lưu tr k t qu trong m t file có cùng tên nhưng có ph n m r ng là .caps. for file do tr a-z A-Z < $file >$file.caps done Chương trình sau là m t ví d tương t ư c vi t theo ngôn ng shell tcsh: # foreach file ($*) tr a-z A-Z < $file >$file.caps end 6.6.2. L nh while M t l nh l p khác ư c ưa vào ngôn ng l p trình shell là l nh while. L nh này th c thi m t kh i các câu l nh theo m t i u ki n nào ó. Cú pháp c a l nh while trong bash và pdksh là như sau: while expression do statements done Cú pháp cho l nh while trong tcsh là như sau: while (expression) statements end Dư i ây là m t ví d v l nh while theo ngôn ng shell bash hay pdksh. Chương trình này ưa ra danh sách các i s ư c ưa vào chương trình cùng v i s các i s .
  • 88.
    www.nhipsongcongnghe.net count=1 while [ -n"$*" ] do echo "This is parameter number $count $1" shift count=`expr $count + 1` done L nh shift chuy n i s dòng l nh lên m t sang bên trái (xem o n sau"L nh shift" bi t thêm thông tin). Chương trình bên dư i tương t ư c vi t cho ngôn ng tcsh: # set count = 1 while ( "$*" != "" ) echo "This is parameter number $count $1" shift set count = `expr $count + 1` end 6.6.3. L nh until L nh until có cú pháp và ch c năng tương t l nh while. Ch có s khác bi t th c s gi a hai l nh là l nh until th c thi mã trong kh i c a nó khi giá tr c a bi u th c là sai và l nh while th c thi các kh i l nh c u nó n u bi u th c có giá tr là true. Cú pháp cho l nh until trong bash và pdksh là như sau: until expression do commands done làm cho ví d ư c s d ng v i l nh while làm vi c v i l nh until, t t c nh ng gì b n ph i làm ch là ph nh i u ki n, như ch ra trong o n mã bên dư i: count=1 until [ -z "$*" ]
  • 89.
    www.nhipsongcongnghe.net do echo "This isparameter number $count $1" shift count=`expr $count + 1` done Ch có s khác nhau trong ví d này là và ví d v l nh while là tùy ch n -n c a l nh test, nó có nghĩa r ng xâu không có dài b ng 0, ư c thay b i tùy ch n -z , nó có nghĩa là chu i có dài b ng 0. Trong th c t , l nh until ít ư c dùng b i vì v i b t kỳ l nh until nào, b n cũng có th vi t ư c b ng l nh while. L nh until không ư c h tr trong tcsh. 6.6.4. L nh shift T t c các shell bash, pdksh, và tcsh u h tr m t l nh g i là l nh shift. L nh shift chuy n các giá tr hi n t i ư c lưu tr trong các i s dòng l nh lên m t v trí sang trái. Ví d , n u các giá tr c a các i s là $1 = -r $2 = file1 $3 = file2 và b n th c hi n l nh shift shift k t qu các i s ư c ưa vào như sau: $1 = file1 $2 = file2 B n có th d ch chuy n các i s qua nhi u hơn m t v trí b i m t s xác nh v ikèm theo v i l nh shift. L nh sau d ch chuy n i s lên hai v trí: shift 2 L nh này r t h u ích khi có m t chương trình shell c n phân tích các tùy ch n dòng l nh. Các tùyd ch n thư ng ư c t trư c b i m t d u n i và m t ký t ch ra tùy ch n nào ư c s d ng. B i vì các tùy ch n luôn luôn ư c x lý trong m t vòng l p c a m t lo i câu l nh, b n s thư ng mu n nh y n i s ti p theo m t khi b n ã xác nh ư c tùy ch n nào nên ư c x lý ti p theo. Ví d , chương trình shell sau ch hai tùy ch n dòng l nh, m t xác nh m t file u vào và m t xác nh m t file u ra. Chương trình c file u vào, chuy n t t c các ký t trong file input thành ch hoa, và sau ó lưu tr k t qu trong file u ra xác nh: while [ "$1" ] do
  • 90.
    www.nhipsongcongnghe.net if [ "$1"= "-i" ] then infile="$2" shift 2 else if [ "$1" = "-o" ] then outfile="$2" shift 2 else echo "Program $0 does not recognize option $1" fi done tr a-z A-Z <$infile >$outfile 6.6.5. L nh select Shell pdksh ưa ra m t l nh l p mà bash và tcsh không h tr , l nh select. Nó hơi khác v i các l nh l p khác b i vì nó không th c thi m t kh i mã l nh shell theo m t i u ki n true ho c false. Nh ng gì l nh select làm là cho phép b n t ng t o các menu text ơn gi n. Cú pháp c a l nh select như sau: select menuitem [in list_of_items] do commands done Khi b n th c thi l nh select, pdksh t o m t i tư ng menu ư c ánh s cho m i ph n t có trong list_of_items. list_of_items này có th là m t bi n ch a nhi u hơn m t ph n t , ch ng h n như choice1 choice2 ho c nó có th là m t danh sách các l a ch n ư c gõ vào t dòng l nh, như trong ví d sau: select menuitem in choice1 choice2 choice3 N u danh sách list_of_items is không ư c cung c p, l nh select s d ng các i s dòng l nh cho l nh th c hi n. Khi ngư i s d ng c a chương trình có ch a l nh select ch n m t trong s các ph n t c a menu b ng cách gõ vào s tương ng v i nó, l nh select lưu giá tr c a ph n t ư c l a ch n trong bi n menuitem. Các l nh trong kh i do sau ó có th th c hi n các ho t ng trên ph n t menu này.
  • 91.
    www.nhipsongcongnghe.net Dư i âylà m t ví d v vi c s d ng l nh select như th nào. Ví d này hi n th ba ph n t c a menu. Khi ngư i s d ng ch n m t ph n t , chương trình s h i b n xem có ph i ph n t ó ư c l a ch n không, n u ngư i s d ng gõ khác v i y ho c Y, chương trình s hi n th l i menu. select menuitem in pick1 pick2 pick3 do echo "Are you sure you want to pick $menuitem" read res if [ $res = "y" -o $res = "Y" ] then break fi done Ví d này gi i thi u m t vài l nh m i. L nh read ư c s d ng l y d li u vào t ngư i s d ng. Nó lưu b t kỳ cái gì ngư i s d ng gõ vào bi n xác nh. L nh break k t thúc vòng l p l nh while, select, ho c for. 6.6.6. L nh repeat Shell tcsh có m t l nh l p không có trong pdksh hay bash. L nh này là l nh repeat. L nh repeat th c thi câu l nh ơn theo m t s l n xác nh. Cú pháp cho l nh repeat là như sau: repeat count command Ví d sau c a l nh repeat l y m t t p h p các s là các tùy ch n dòng l nh và in ra s các d u ch m lên màn hình. Chương trình này ho t ng như m t chương trình minh h a r t thô sơ. # foreach num ($*) repeat $num echo -n "." echo "" end B n có th vi t l i l nh repeat b t kỳ b ng l nh while hay l nh for; cú pháp repeat ch thu n ti n hơn mà thôi.
  • 92.
    www.nhipsongcongnghe.net 6.7. S dng các hàm Ngôn ng shell cho phép b n d nh nghĩa hàm c a chính b n. Các hàm này ư c nh nghĩa gi ng như cách b n nh nghĩa các hàm trên ngôn ng l p trình C hay các ngôn ng l p trình khác. Thu n l i chính c a vi c s d ng hàm t ch c, tránh vi t t t c các mã shell c a b n trong m t dòng. Mã ư c vi t s d ng các hàm có khuynh hư ng d hơn trong vi c c và b o trì và cũng là khuynh hư ng nh g n hơn b i vì b n có th nhóm các mã chung vào trong m t hàm thay vi c ưa nó vào t t c các nơi c n nó. Cú pháp t o m t hàm trongbash và pdksh là như sau: fname () { shell commands } Cùng v i cú pháp trư c , pdksh cho phép cú pháp sau: function fname { shell commands } C hai d ng này u ư c x lý chính xác như nhau theo cùng m t cách. Sau khi b n ã nh nghĩa hàm c a b n s d ng m t trong các d ng trên, b n có th g i n nó b ng cách vào l nh sau: fname [parm1 parm2 parm3 ...] Chú ý r ng b n có th ưa s lư ng b t kỳ các i s vào trong hàm c a b n. Khi b n ưa các i s vào trong m t hàm, nó xem các i s này như i s c a m t chương trình shell khi b n ưa các i s này t dòng l nh. Ví d , chương trình shell sau ch a vài hàm, m i hàm th c hi n m t nhi m v mà ư c k t h p v i các tùy ch n dòng l nh. Ví d này bao trùm nhi u n i dung trong ph n này. Nó c t t c các file ư c ưa vào t dòng l nh và ph thu c vào tùy ch n ư c s d ng, vi t ra file v i t t c các ký t hoa, vi t ra file v i t t c các ký t thư ng, ho c in các file. upper () { shift for i do
  • 93.
    www.nhipsongcongnghe.net tr a-z A-Z<$1 >$1.out rm $1 mv $1.out $1 shift done; } lower () { shift for i do tr A-Z a-z <$1 >$1.out rm $1 mv $1.out $1 shift done; } print () { shift for i do lpr $1 shift done; } usage_error () { echo "$1 syntax is $1 <option> <input files>" echo "" echo "where option is one of the following" echo "p -- to print frame files" echo "u -- to save as uppercase" echo "l -- to save as lowercase"; } case $1 in
  • 94.
    www.nhipsongcongnghe.net p | -p)print $@;; u | -u) upper $@;; l | -l) lower $@;; *) usage_error $0;; esac Chương trình tcsh không h tr các hàm. 6.8. T ng k t Trong chương này, b n ã th y ư c nhi u c i m c a các ngôn ng l p trình bash, pdksh và tcsh. Khi b n s d ng Linux, b n s th y r ng b n s d ng các ngôn ng l p trình shell càng ngày càng thư ng xuyên. Cho dù ngôn ng shell r t m nh và d h c, b n có th g p ph i m t vài v n khi chương trình shell không phù h p v i v n b n gi i quy t. Trong nh ng trư ng h p như v y, b n có th nghiên c u tìm hi u các ngôn ng khác có th s d ng có trong Linux. 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. Cài t trên môi trư ng Linux hoàn toàn không khó như nh ng gì chúng ta nghĩ khi m i ti p xúc v i h i u hành này. Quá trình cài t ch ơn gi n, chúng ta th c hi n câu l nh rpm v i cú pháp sau: rpm –[ivhqladefUV] [-force] [nodeps] [--oldpackage] package list ây là chương trình qu n lý các gói cài. Nó cho phép b n qu n lý các gói RPM, th c hi n r t d dàng vi c cài t và g b ph n m m. cài t ph n m m có tên là precious-software-1.0.i386.rpm ch y câu l nh sau: rpm –i precious-software-1.0.i386.rpm b n có th làm cho vi c cài t trông p m t hơn b ng cách s d ng tùy ch n –ivh thay cho tùy ch n –i. N u b n ã cài m t gói ph n m m r i nhưng vì m t lý do nào ó b n l i mu n cài l i nó è lên phiên b n cũ, b n ch c n s d ng tùy ch n –force cho l nh rpm. N u b n mu n nâng c p m t ph n m m, b n s d ng tùy ch n –U.Ví d : rpm –Uvh precious-software-1.0.i386.rpm Tuy nhiên b n ã cài m t phiên b n m i và bây gi b n mu n cài l i phiên b n cũ, n u b n mu n s d ng l nh trên, h th ng s báo l i phiên b n ã cài t là phiên b n m i hơn phiên b n mà b n mu n cài. có th th c hi n ư c i u này b n s d ng
  • 95.
    www.nhipsongcongnghe.net tùy ch n--oldpackage cùng v i tùy ch n –U cài t phiên b n cũ. tìm ki m các gói cài ã ư c cài vào h th ng c a b n, b n s d ng l nh sau: rpm -qa tìm các gói cài c a m t chương trình như sendmail, b n có th s d ng l nh rpm –q sendmail H th ng s tr l i gói cài ã s d ng cài sendmail. phát hi n gói cài nào c a m t file xác nh như /bin/tcsh, ta s d ng câu l nh: rpm –qf /bin/tcsh m b o r ng m t gói ư c cài chưa ư c thay i theo b t c cách nào, b n có th s d ng tùy ch n –V. Ví d t t c các file ã ư c cài tr ng thái nguyên b n không b thay i s d ng l nh rpm –Va Tùy ch n này tr lên r t h u ích n u b n nh n th c ư c r ng m t hay nhi u gói cài có th b phá h y b i ngư i khác. g các gói cài kh i h th ng b n s d ng l nh rpm v i tùy ch n –e rpm –e sendmail N u b n th y r ng vi c g b gói cài có th b d ng b i các chương trình khác b i vì chúng ph thu c vào nó hay các file c a nó, b n ph i quy t nh xem b n có ti p t c b gói cài hay chương trình này hay không, n u b n mu n g b b n có th s d ng tùy ch n –nodeps cùng v i tùy ch n –e ép bu c rpm g b gói cài ó. 7.2. Qu n tr WebServer 7.2.1. Ph n m m Apache Máy ch web nghe yêu c u t phía client, như b trình duy t Nestcape Navigator ho c Internet Explorer. Khi nh n ư c yêu c u máy ch x lý yêu c u và tr d li u l i cho máy client. D li u tr v máy tr m thư ng là các trang nh d ng có ch a hình nh và text. Trình duy t nh n d li u và hi n th trang d li u cho ngư i dùng. Khái ni m máy ch web r t ơn gi n, nó i yêu c u, th c hi n, r i tr l i cho ngư i dùng.
  • 96.
    www.nhipsongcongnghe.net Máy ch webnói chuy n v i các máy client và máy tr m thông qua giao th c HTTP (Hypertext Transfer Protocol). i u này cho phép máy tr m k t n i t i nhi u nhà cung c p d ch v web mà không g p ph i các v n v tương thích. Ph n l n các yêu c u ư c nh d ng dư i d ng trang HTML (Hypertect Markup Language). HTML cho phép liên k t nhi u văn b n và tài nguyên khác nhau. Si u văn b n cho phép liên k t t i các trang văn b n khác trên cùng m t máy tính ho c trên các máy tính t trên kh p th gi i. Apache ư c phát tri n d a trên NCSA web server, là phiên b n cung c p y các tính năng c a máy ch (HTTP) web do d án Apache Server th c h ên. Apache cung c p m t máy ch web mã ngu n m , tin c y, hi u qu và d dàng m r ng. Ph n m m máy ch bao g m: daemon server, file c u hình, công c qu n tr , và tài li u. Ph n m m Apache Server s n có có trên trang Apache Group. B n có th t i v t các a ch http://www.apache.org/dist/. B n t i v file .tar.gz tương ng v i phiên b n b n mu n s d ng. Ví d , Phiên b n m i nh t ư c vi t là Apache 1.3.12, vì v y file b n c n t i v là apache_1.3.12.tar.gz B n có th l y mã ngu n t a ch http://www.apache.org/dist/apache_1.3.12.tar.gz. Gi i nén file gi i nén file này, s d ng câu l nh sau (gi s r ng b n ã file trong thư m c temp): cd temp gzip -d -c apache_1.3.12.tar.gz | tar xvf - Câu l nh này t o m t thư m c apache_1.3.12 trong thư m c temp 7.2.2. Biên d ch và cài t Ch y các câu l nh sau: cd apache_1.3.12 ./configure --prefix=<path-to-apache> make make install Chú ý s d ng ư ng d n y thay cho <path-to-apache>. ư ng d n y này nên là nơi b n mu n cài t apache server, ch ng h n như ./configure --prefix=/afs/uncc.edu/usr/q/zlian/apache 7.2.3. Kh i ng và t t WebServer Kh i ng Apache <path-to-apache>/bin/apachectl start Ví d : /afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl start T t Apache
  • 97.
    www.nhipsongcongnghe.net <path-to-apache>/bin/apachectl stop Ví d: /afs/uncc.edu/usr/q/zlian/Apache/bin/apachectl stop 7.2.4. C u hình Apache Theo cách truy n th ng, c u hình Apache ư c chia thành ba file c u hình: httpd.conf, access.conf, và srm.conf. Theo th t các file này có ý nghĩa như sau, httpd.conf là file c u hình server chính, access.conf là file nh nghĩa các quy n truy c p, và srm.conf các tài nguyên server ư c nh nghĩa, ch ng h n như ánh x các thư m c và các bi u tư ng. Trong 1.3.4, ba file này ư c tr n vào m t file chung httpd.conf, nó có th tìm th y trong thư m c conf. Ví d : /afs/uncc.edu/usr/q/zlian/apache/conf/ Chú ý: Các h ng d n quan tr ng cho c u hình c a b n: • ServerName ServerName ch ra a ch IP c a máy ch cài t d ch v WebServer, thông thư ng n u máy c a b n là máy c c b , không n i m ng, a ch này m c nh là 127.0.0.1 tương ng v i tên máy là localhost. N u máy này có a ch m ng, b n có th thay th b ng a ch IP c a máy. xem a ch c a máy b n th c hi n l nh: ifconfig –a • Listen Ch d n này nói cho server l ng nghe các yêu c u trên d a ch IP ư c xác nh và/ho c c ng TCP/IP . M c nh, server l ng nghe c ng 80, nhưng b n nên s d ng c ng l n hơn 1024, b i vì s ít hơn 1024 r t hay ư c s d ng trong các ti n trình c a h th ng. Như trong ví d sau, Apache nghe trên c hai c ng port 8080 and 8081. listen 8080 listen 8081 V i c u hình này, b n có th ki m tra xem server c a b n ch y thành công hay chưa b ng cách gõ vào a ch sau trên trình duy t: http://localhost:8080 ho c http://localhost:8081 • DocumentRoot Thư m c tài li u m c nh là <path-to-apache>/htdocs, b n có th tài li u html , ví d billchu.html, trong thư m c này và ki m tra. Ví d : http://152.15.35.2:8080/billchu.html B n cũng có th thay i thư m c tài li u b ng s d ng hư ng d n sau trong file httpd.conf:
  • 98.
    www.nhipsongcongnghe.net DocumentRoot /usr/web Sau óm t truy c p n http://www.my.host.com/index.html s tương ng /usr/web/index.html. Thư ng xu t hi n trong khi c u hình như sau: (i.e., "DocumentRoot /usr/web/") thêm m t ký t “/” uôi, b n nên tránh i u này. 7.2.5. Xác th c ng i dùng ngăn ch n truy c p vào các file trên server c a b n, b n nên s d ng b o v user/password, B n có th s d ng các hư ng d n sau. AuthType AuthName AuthUserFile AuthGroupFile require <Directory></Directory> <Files></Files> AuthType L a ch n ki u xác th c ngư i s d ng cho m t thư m c. Ch có Basic và Digest là th c thi hi n t i. AuthName t tên c a xác th c cho m t thư. Tên xác th c này s ư c g i n client nh ng ngư i s d ng bi t lo i username và password nào g i. AuthName có m t i s ; N u tên xác th c có d u cách nó ph i ư c t trong d u trích d n. AuthUserFile t tên c a file văn b n thu n túy ch a danh sách nh ng ngư i s d ng và m t kh u cho vi c xác th c ngư i s d ng. Tên file là ư ng d n n n file ngư i s d ng. N u nó không ph i là ư ng d n tuy t i (ví d , n u nó không b t u v i ‘/’), Nó ư c xem như ư ng d n tương i n ServerRoot. AuthGroupFile t tên c a m t file văn b n thu n túy ch a danh sách các nhóm ngư i s d ng cho vi c xác th c ngư i s d ng. Tên file là ư ng d n n file group. N u nó không ph i là ư ng d n tuy t i (ví d , không b t u v i d u ‘/’), nó ư c xem như ư ng d n tương i n ServerRoot. require Ch n nh ng ngư i s d ng nào có th truy c o vào m t thư m c. Cú pháp cho phép là: 1. Ch nh ng ngư i s d ng ư c t tên có th truy c p thư m c: require user userid userid ... 2. Ch nh ng ngư i s d ng trong các nhóm ư c t tên có th truy c p thư m c: require group group-name group-name ... 3. T t c nh ng ngư i s d ng có th truy c p thư m c: require valid-user <Directory> và </Directory> ư c s d ng nhóm m t nhóm các hư ng d n và nó s ch ư c áp d ng cho thư m c ư c t tên và các thư m c con
  • 99.
    www.nhipsongcongnghe.net c a thưm c ó. M t hư ng d n b t kỳ ư c cho phép có trong m t directory có th ư c s d ng. <Files> và </Files> pcung c p quy n truy c p b i tên file (bao g m ư ng d n n file). Ví d : <Directory "/afs/uncc.edu/usr/q/zlian/apache/htdocs/manual"> AuthType Basic AuthName "Restricted Directory" AuthUserFile passwd AuthGroupFile /dev/null require valid-user </Directory> thi t l p file password, b n có th s d ng công c có tên là htpasswd ư c cung c p b i Apache. Trư c tiên t o file password b ng cách: % touch passwd Trong thư m c "<path-to-apache>/bin/". thêm m t ngư i s d ng, th c hi n l nh: % htpasswd <path-to-password-file>/passwd zlian New password: Re-type new password: n ây b n ã hoàn thành xong vi c c u hình Apache và th c hi n xác th c ngư i s d ng cho d ch v web c a b n. 8. Qu n tr các ti n trình 8.1. Ti n Trình 8.1.1. Ti n trình ti n c nh Khi b n ang trên d u nh c h th ng (# ho c $) và g i m t chương trình, chương trình tr thành m t ti n trình và i vào ho t ng dư i s ki m soát c a h th ng. D u nh c c a h th ng s không xu t hi n khi ti n trình ang ch y Khi ti n trình hoàn thành tác v và ch m d t, h i u hành s tr l i d u nh c b n gõ ti p l nh th c thi chương trình khác. Chương trình ho t ng theo cách này ư c g i là chương trình ti n c nh (foreground). Ví d khi b n th c hi n l nh: ls –R / B n s ph i ch i r t lâu cho n khi l nh th c hi n xong b n m i có th nh p vào l nh m i th c hi n công vi c ti p theo c a b n. 8.1.2. Ti n trình h u c nh
  • 100.
    www.nhipsongcongnghe.net N u cócách nào ó yêu c u Linux ưa các ti n trình chi m nhi u th i gian x lí ho c ít tương tác v i ngư i dùng ra ho t ng phía h u c nh (background) tr l i ngay d u nh c có th th c hi n các ti n trình ti n c nh thì t t hơn. i u này có th th c hi n ư c b ng cách k t h p ch th & v i l nh g i chương trình mà ta s tìm hi u ph n sau, khi ó ti n trình s ho t ng phía h u c nh và tr l i ngay d u nh c cho chúng ta làm công vi c khác. Các ti n trình như v y g i là các ti n trình h u c nh. Vi c ch y ti n trình h u c nh r t thu n ti n , chúng cho phép nhi u chương trình tương tác v i nhau. 8.2. i u khi n và giám sát các ti n trình Như c p trư c ây, các ti n trình thư ng tr c thư ng ư c b t u b ng ti n trình init khi kh i ng. B n có th i u khi n ti n trình nào ch y ngay khi kh i ng b ng cách c u hình l i các file c u hình và k ch b n c a init. Ngo i tr các ti n trình thư ng tr c, các lo i ti n trình khác mà b n s ch y ư c g i là các ti n trình c a ngư i s d ng hay các ti n trình tương tác. B n ph i ch y m t ti n trình tương tác thông qua m t shell. M i m t shell chu n cung c p m t dòng l nh khi ngư i s d ng vào tên c a m t chương trình. Khi ngư i s d ng vào tên chương trình h p l trên dòng l nh, shell s t t o m t b n copy như m t ti n trình m i và thay th ti n trình m i v i chương trình ư c t tên trên dòng l nh. Nói m t cách khác shell s ch y chương trình ư c t tên như m t ti n trình khác. l y thông tin v t t c các ti n trình ang ch y trên h th ng c a b n, b n c n ch y ti n ích có tên là ps 8.2.1 S d ng l nh ps l y thông tin tr ng thái c a ti n trình Ti n ích này t o ra m t báo cáo v t t c các ti n trình trên h th ng c a b n. ví d , n u b n ch y l nh ps , nó s hi n th k t qu như sau: PID TTY TIME CMD 13636 pts/1 00:00:00 bash 13696 pts/1 00:00:00 man 13699 pts/1 00:00:00 sh 13700 pts/1 00:00:00 sh 13704 pts/1 00:00:00 less 16692 pts/1 00:00:00 tail 17252 pts/1 00:00:00 ps Dư i ây là gi i thích v ý nghĩa c a các trư ng Trư ng Gi i Thích USER ho c UID Tên c a ti n trình
  • 101.
    www.nhipsongcongnghe.net PID ID (nh danh) c a ti n trình %CPU % CPU s d ng c a ti n trình %MEM % b nh ti n trình s d ng SIZE Kích thư c b nh o ti n trình s d ng RSS Kích thư c c a b nh th c s d ng b i ti n trình TTY Vùng làm vi c c a ti n trình STAT Tr ng thái c a ti n trình START Th i gian hay ngày b t u c a ti n trình TIME T ng th i gian s d ng CPU COMMAND Câu l nh ư c th c hi n PRI M c ưu tiên c a ti n trình PPID ID c a ti n trình cha WCHAN Tên c a hàm nhân khi ti n trình ng ư c l y t file /boot/System.map FLAGS S c ư c k t h p v i ti n trình Ti n ích ps cũng ti p nh n m t vài i s t dòng l nh. B ng bên dư i ch ra các tùy ch n ư c s d ng chung: Tùy Ch n Miêu t A Hi n th các ti n trình c a t t c nh ng ngư i s d ng E Hi n th các bi n môi trư ng c a ti n trình sau khi dòng l nh ư c th c thi L Hi n th k t qu y U Hi n th tên ngư i s d ng và th i gian b t u ti n trình W Hi n th k t qu theo nh d ng r ng. Bình thư ng, k t qu k t xu t b c t n u nó không v a m t dòng. S d ng tùy ch n này b n có th ngăn ch n ư c i u ó Txx Hi n th các ti n trình ư c k t h p v i vùng làm vi c xx
  • 102.
    www.nhipsongcongnghe.net X Hi nth các ti n trình không có i u khi n vùng làm vi c Ví d hi n th t t c các ti n trình b n th c hi n câu l nh: ps au hi n th t t c các ti n trình c a m t ngư i nào ó s d ng: ps au | grep username Tuy nhiên, n u b n ch mu n tìm các ti n trình ang t n t i v i ngư i s d ng b t kỳ, b n s d ng câu l nh: ps aux tìm ki m PID c a m t ti n trình cha s d ng: ps l pid V i pid là PID c a m t ti n trình nào ó. ps e Thông tin bi n môi trư ng ư c b sung vào trư ng COMMAND 8.2.2. Phát tín hi u cho m t chương trình ang ch y • S d ng l nh kill h y m t ti n trình Câu l nh kill là m t k ch b n shell ư c xây d ng s n, thư ng ư c tìm th y trong thư m c /bin. B n có th dùng l nh này d ng m t ti n trình nào ó. b n có th ch y: kill PID V i PID là PID c a ti n trình nào ó
  • 103.
    www.nhipsongcongnghe.net • S dng l nh killall h y m t ti n trình Ti n ích này cho phép b n d ng m t ti n trình b ng tên. Ví d b n có m t ti n trình ư c goi là signal_demo.pl và b n mu n d ng ti n trình này. B n s d ng l nh: killall signal_demo.pl • Ch y m t ti n trình h u c nh ho c ti n c nh Thông thư ng khi chúng ta ch y m t ti n trình t thi t b u cu i (bàn phím) hay shell, b n ch y ti n trình ti n c nh. Khi b n ch y ti n trình ti n c nh, b n ph i i cho nó k t thúc. Tuy nhiên, thay vì vi c i cho nó k t thúc, b n có th ch y nó h u c nh b ng vi c thêm m t ký hi u ‘&’ cu i dòng l nh. i u này h u ích khi m t ti n trình ch y trong th i gian dài và b n c n ph i làm m t công vi c khác. Ví d , kh i ng h qu n tr CSDL PosgresSQL v i postmaster b n th c hi n: postmaster –i & V y khi nào b n bi t m t ti n trình h u c nh ang ch y hay ã d ng. B n có th s d ng l nh: ps -af xem t t c các ti n trình trong ó có c ti n trình h u c nh. • T m d ng ti n trình N u m t ti n trình ang ch y ti n c nh và b n mu n ưa chúng vào h u c nh, b n th c hi n công vi c này b ng cách nh n t h p phím Ctrl + Z. Khi nh n ư c tín hi u Ctrl+Z ti n trình s b t m d ng và ư c ưa vào h u c nh. Tuy nhiên b n chưa bi t ư c chương trình c a chúng ta ã d ng chưa và ã chuy n vào h u c nh chưa. L nh jobs hi n th tr ng thái c a t t c các ti n trình ang ch y h u c nh: [1] Stopped man ln (wd: /home/trantu/exam) [2]- Stopped tail [3]+ Stopped ls -R / • ánh th c ti n trình ánh th c m t ti n trình ta s d ng l nh bg k t h p v i s tác v trong hàng i li t kê. Trong ví d trên ta có th th c hi n l nh:
  • 104.
    www.nhipsongcongnghe.net bg 3 M tl n n a ta s d ng l nh jobs, ta s th y thông tin hi n trên màn hình như sau: [1] Stopped man ln (wd: /home/trantu/exam) [2]- Stopped tail [3]+ Running ls -R / chuy n m t ti n trình t h u c nh sang ch y trên ti n c nh b n dùng l nh fg. Ví d : fg 3 8.2.3. Giao ti p gi a các ti n trình ôi khi các ti n trình c n trao i thông tin cho nhau x lý. Ch ng h n như l nh ls c a Linux ch bi t li t kê và ghi toàn b d li u v thông tin c a file, thư m c ra màn hình. L nh ls không có cơ ch d ng khi màn hình y. Trong khi l nh more l i có kh năng c d li u và ưa ra màn hình theo t ng trang ngư i dùng có th i gian xem qua. Các chương trình c n có nhu c u chuy n d li u cho nhau x lý. M t cơ ch ư c s d ng khá ph bi n trên Linux là pipe ( ư ng ng). B n s d ng ch th | bi u th ư ng ng. Ví d : ls –R | more Ho c b n có th tìm chính xác tên ti n trình như: ps –af | grep ‘[bash]’ 8.3 L p k ho ch các ti n trình 8.3.1 S d ng l nh at Ti n ích at cho phép b n s p x p m t câu l nh th c thi trong th i gian sau ó. Ví d , xem dung lương ĩa s d ng cho toàn b các file, thư muc c a h th ng b n g i ti n ích du vào lúc 8:40 p.m, b n có th ch y l nh sau: at 20:40 Câu l nh s hi n th d u nh c “at>” yêu c u b n nh p vào câu l nh th c hi n theo th i gian ã ư c ưa vào. B n gõ vào dòng l nh:
  • 105.
    www.nhipsongcongnghe.net du –a >/tmp/du.out Sau khi b n gõ l nh Enter, nó s hi n th l i d u nh c cho phép b n nh p vào các câu l nh ti p theo. B n có th ch n Ctrl+D k t thúc. N u vì m t lý do nào ó, b n mu n d ng c ng vi c mà b n ã l p l ch, b n có th s d ng l nh atrm xóa công vi c ó trư c khi nó ư c th c hi n. B n c n ph i bi t s th t c a công vi c mà b n mu n h y, tìm ra các công vi c mà b n ã l p l ch, b n ch y câu l nh atq tìm s th t công vi c, sau ó dùng atrq v i i s là s th t c a công vi c mu n h y. Ví d : atrq 1 8.3.2 S d ng crontab Có nhi u công vi c trên Linux c n ư c l p l ch m t cách thư ng xuyên, ví d xóa các file cũ ư c sinh ra b i h th ng trong thư m c tmp hàng ngày, hay hàng tu n b n c n ph i ch y m t ti n trình m i ngày hay m i tu n. Ti n ích cron cho phép b n th c hi n các công vi c như th . Th c ra cron bao g m crond daemon, ư c kh i ng b i ti n trình init. Crond c các l ch công vi c t /etc/crontab và các file trong /var/spoon/cron. Thư m c cron này lưu tr các file l p l ch (thư ng ư c g i là crontab hay cron table) cho nh ng ngư i s d ng thông thư ng ư c phép ch y các công vi c cron. Là m t superuser, b n có th xác nh m t danh sách nh ng ngư i s d ng ư c phép ch y các công vi c cron trong file /etc/cron.allow. Tương t , b n có th xác nh nh ng ngư i s d ng không ư c phép th c hi n các công vi c cron trong file /etc/cron.deny. C hai file này u s d ng m t nh d ng cơ b n: m t username trên m t dòng. N u m t ngư i ư c phép th c hi n các công vi c cron, ngư i ó có th s d ng ti n ích crontab th c hi n công vi c l p l ch. Ví d , khi b n ư c phép, b n có th gõ l nh: crontab –e và so n th o các công vi c c n th c hi n. M t công vi c cron ph i có nh d ng sau: minute(s) hour(s) day(s) month weekday username command argument(s) Các trư ng t 1 n 5 có nh d ng sau 9. B o m t h th ng Cùng v i s phát tri n không ng ng c a truy n thông k thu t s , Internet và s phát tri n nh y v t c a n n công nghi p ph n m m, b o m t máy tính là m t v n ngày càng tr nên quan tr ng. C n ph i hi u r ng không có h th ng máy tính nào là an
  • 106.
    www.nhipsongcongnghe.net toàn tuy ti. T t c nh ng gì b n có th làm là giúp cho h th ng c a b n tr nên an toàn hơn. K t khi Linux ư c phát tri n m t cách r ng rãi và nhanh chóng, c bi t là trong các giao d ch kinh doanh quan tr ng, an ninh là m t v n quy t nh s s ng còn c a Linux. V i hàng trăm công c b o v s n có, ngư i dùng Linux ư c trang b t t hơn ngăn ch n và duy trì m t h th ng an toàn. Linux không nh ng ho t ng t t mà còn có nh ng tính năng và s n ph m liên quan cho phép xây d ng m t môi trư ng tương i an toàn. 9.1. Nh ng nguy cơ an ninh trên Linux Linux và các ng d ng trên nó có th không ít các l h ng an ninh hơn nh ng h i u hành khác. Theo quan i m c a m t s chuyên gia máy tính, Linux có tính an toàn cao hơn các h i u hành c a Microsoft, vì các s n ph m c a Microsoft không ư c xem xét k lư ng và ch t ch b ng các s n ph m mã ngu n m như Linux. Hơn n a, Linux dư ng như là "mi n nhi m" v i virus máy tính (hi n t i ã có xu t hi n m t vài lo i virus ho t ng trên môi trư ng Linux nhưng không nh hư ng gì m y n ngư i dùng Linux). Nhưng m t h th ng Linux ư c c u hình không t t s t hơn nhi u so v i m t h th ng Microsoft ư c c u hình t t !!! Khi có ư c m t chính sách an ninh t t và h th ng ư c c u hình theo úng chính sách ó thì s giúp b n t o ư c m t h th ng an toàn ( m c mà chính sách c a b n ưa ra). Nhưng s an toàn không ph i là th có th t ư c như m t m c tiêu cu i cùng. úng hơn ó là t p h p c a nh ng cách cài t, v n hành và b o trì m t h i u hành, m ng máy tính, ... Nó ph thu c vào các ho t ng hàng ngày c a h th ng, ngư i dùng và ngư i qu n tr . B n ph i b t u t m t n n t ng ban u và t ó c i thi n tính an toàn c a h th ng c a b n nhi u nh t có th ư c mà v n m b o các ho t ng bình thư ng c a h th ng. 9.2. Xem xét chính sách an ninh c a b n K t n i vào Inernet là nguy hi m cho h th ng m ng c a b n v i m c an toàn th p. T nh ng v n trong các d ch v TCP/IP truy n th ng, tính ph c t p c a vi c c u hình máy ch , các l h ng an ninh bên trong quá trình phát tri n ph n m m và nhi u nhân t khác góp ph n làm cho nh ng h th ng máy ch không ư c chu n b chu áo có th b xâm nh p và luôn t n t i nh ng nguy cơ ti m tàng v v n an toàn trong ó. M c ích c a m t chính sách an toàn h th ng là quy t nh m t t ch c s ph i làm như th nào b o v chính nó. có ư c m t chính sách an ninh hi u qu , ngư i xây d ng các chính sách này ph i hi u và có th k t h p t t c các thông tin, yêu c u, ... Khi m t tình hu ng x y ra n m ngoài d ki n, ch ng h n m t s xâm nh p trái phép vào h th ng c a b n, câu h i l n nh t là "s ph i làm gì ây ?" Không may là có hàng tri u câu tr l i khác nhau cho câu h i ó. N u m t ngư i mà chưa t ng ph i i phó v i m t k xâm nh p trư c ây thì k xâm nh p có th d dàng bi n m t vì các d u v t ã tr nên qúa cũ và không còn h u ích n a.
  • 107.
    www.nhipsongcongnghe.net Nh ng saisót trong chính sách an ninh không ch liên quan n nh ng k xâm nh p, mà còn liên quan n nh ng v n bình thư ng như th i ti t, thiên tai, cháy, n , hư h ng thi t b ,... Do v y, vi c thi t l p m t chính sách an ninh t t cho vi c gi i quy t nh ng s c ph i ư c lên k ho ch k lư ng, ư c xem xét và ch ng nh n b i ngư i có quy n h n trong công ty. M t chính sách an ninh t t nên bao g m các v n sau : o Chính sách ph c h i d li u khi có s c o Chính sách ph c h i h th ng trong trư ng h p hư h ng thi t b o Chính sách, cách th c i u tra nh ng k xâm nh p trái phép o Chính sách, cách th c i u tra khi công ty b cáo bu c xâm nh p vào các h th ng khác o Cách th c, quy trình và nơi thông báo s xâm nh p trái phép t bên ngoài hay gây ra b i các nhân viên c a mình. o Chính sách an ninh v m t v t lý c a h th ng ... B n có th nh tư v n c a các công ty, t ch c làm d ch v tư v n v an toàn máy tính giúp b n xây d ng m t chính sách an ninh t t. Các công ty này có các chuyên gia v an toàn máy tính, h có s n các bi u m u chính sách an ninh nên có th thi t l p nhanh chóng các chính sách mà bao g m t t c các m t trong vi c an toàn h th ng máy tính. 9.3. Tăng cư ng an ninh cho KERNEL M c dù th a hư ng nh ng c tính c a h th ng UNIX và khá an ninh hơn m t s h i u hành khác, h th ng GNU/Linux hi n nay v n t n t i nh ng như c i m sau: o Quy n c a user ‘root’ có th b l m d ng. User ‘root’ có th d dàng thay i b t kỳ i u gì trên h th ng. o Nhi u file h th ng có th d dàng b s a i. Nhi u file h th ng quan tr ng như /bin/login có th b s a i b i hacker cho phép ăng nh p không c n m t kh u. Nhưng nh ng file lo i này l i hi m khi nào thay i tr phi khi nâng c p h th ng. o Các module có th ư c dùng ch n kernel. “Loadable Kernel Module” là m t thi t k t t tăng cư ng tính uy n chuy n, linh ho t cho kernel. Nhưng sau khi m t module ư c n p vào kernel, nó s tr thành m t ph n c a kernel và có th ho t ng như kernel nguyên th y. Vì v y, các chưng trình m c ích x u có th ư c vi t d ng module và n p vào kernel, r i sau ó ho t ng như m t virus. o Các process không ư c b o v . Các process như web server có th tr thành m c tiêu b t n công c a hacker sau khi thâm nh p h th ng. c i thi n tính an ninh cho các server Linux, chúng ta c n có m t kernel an toàn hơn. i u này có th th c hi n ư c b ng cách s a i kernel nguyên thu b ng các ‘patch’ tăng cư ng tính an ninh cho h th ng. Các patch này có các tính năng chính y u sau:
  • 108.
    www.nhipsongcongnghe.net o B ov – b o v các file h th ng quan tr ng kh i s thay i ngay c v i user root. B o v các process quan tr ng kh i b ng ng b i l nh ‘kill’. Ch n các tác v truy c p IO m c th p (RAW IO) c a các chương trình không ư c phép. o Phát hi n – Phát hi n và c nh báo v i ngư i qu n tr khi server b scan. Cũng như khi có các tác v trên h th ng vi ph m các lu t (rules) nh trư c. o i phó – Khi phát hi n s vi ph m trên h th ng, các ghi nh n chi ti t s ư c th c hi n cũng như có th ng ng l p t c phiên làm vi c gây ra M t vài công c s a i kernel ư c s d ng r ng rãi là LIDS (Linux Intrusion Detection System), Medusa, ... 9.4. An toàn các giao d ch trên m ng Có r t nhi u d ch v m ng truy n th ng giao ti p thông qua giao th c văn b n không mã hoá, như TELNET, FTP, RLOGIN, HTTP, POP3. Trong các giao d ch gi a ngư i dùng v i máy ch , t t c các thông tin d ng gói ư c truy n qua m ng dư i hình th c văn b n không ư c mã hoá. Các gói tin này có th d dàng b ch n và sao chép m t i m nào ó trên ư ng i. Vi c gi i mã các gói tin này r t d dàng, cho phép l y ư c các thông tin như tên ngư i dùng, m t kh u và các thông tin quan tr ng khác. Vi c s d ng các giao d ch m ng ư c mã hoá khi n cho vi c gi i mã thông tin tr nên khó hơn và giúp b n gi an toàn các thông tin quan tr ng. Các k thu t thông d ng hi n nay là IPSec, SSL, TLS, SASL và PKI. Qu n tr t xa là m t tính năng h p d n c a các h th ng UNIX. Ngư i qu n tr m ng có th d dàng truy nh p vào h th ng t b t kỳ nơi nào trên m ng thông qua các giao th c thông d ng như telnet, rlogin. M t s công c qu n tr t xa ư c s d ng r ng rãi như linuxconf, webmin cũng dùng giao th c không mã hoá. Vi c thay th t t c các d ch v m ng dùng giao th c không mã hoá b ng giao th c có mã hoá là r t khó. Tuy nhiên, b n nên cung c p vi c truy c p các d ch v truy n th ng như HTTP/POP3 thông qua SSL, cũng như thay th các d ch v telnet, rlogin b ng SSH. 9.5. Linux firewall An toàn h th ng luôn luôn là m t v n s ng còn c a m ng máy tính và firewall là m t thành ph n c t y u cho vi c m b o an ninh. M t firewall là m t t p h p các qui t c, ng d ng và chính sách m b o cho ngư i dùng truy c p các d ch v m ng trong khi m ng bên trong v n an toàn i v i các k t n công t Internet hay t các m ng khác. Có hai lo i ki n trúc firewall cơ b n là : Proxy/Application firewall và filtering gateway firewall. H u h t các h th ng firewall hi n i là lo i lai (hybrid) c a c hai lo i trên. Nhi u công ty và nhà cung c p d ch v Internet s d ng máy ch Linux như m t Internet gateway. Nh ng máy ch này thư ng ph c v như máy ch mail, web, ftp, hay dialup. Hơn n a, chúng cũng thư ng ho t ng như các firewall, thi hành các chính sách ki m soát gi a Internet và m ng c a công ty. Kh năng uy n chuy n khi n cho Linux thu hút như là m t thay th cho nh ng h i u hành thương m i.
  • 109.
    www.nhipsongcongnghe.net Tính năng firewallchu n ư c cung c p s n trong kernel c a Linux ư c xây d ng t hai thành ph n : ipchains và IP Masquerading. Linux IP Firewalling Chains là m t cơ ch l c gói tin IP. Nh ng tính năng c a IP Chains cho phép c u hình máy ch Linux như m t filtering gateway/firewall d dàng. M t thành ph n quan tr ng khác c a nó trong kernel là IP Masquerading, m t tính năng chuy n i a ch m ng (network address translation- NAT) mà có th che gi u các a ch IP th c c a m ng bên trong. s d ng ipchains, b n c n thi t l p m t t p các lu t mà qui nh các k t n i ư c cho phép hay b c m. Ví d : # Cho phép các k t n i web t i Web Server c a b n /sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT # Cho phép các k t n i t bên trong t i các Web Server bên ngoài /sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT # T ch i truy c p t t c các d ch vu khác /sbin/ipchains -P your_chains_rules input DENY Ngoài ra, b n có th dùng các s n ph m firewall thương m i như Check Point FireWall-1, Phoenix Adaptive Firewall, Gateway Guardian, XSentry Firewall, Raptor, ... hay r t nhi u các phiên b n mi n phí, mã ngu n m cho Linux như T.Rex Firewall, Dante, SINUS, TIS Firewall Toolkit, ... 9.6. Dùng công c dò tìm kh o sát h th ng Thâm nh p vào m t h th ng b t kỳ nào cũng c n có s chu n b . Hacker ph i xác nh ra máy ích và tìm xem nh ng port nào ang m trư c khi h th ng có th b xâm ph m. Quá trình này thư ng ư c th c hi n b i các công c dò tìm (scanning tool), k thu t chính tìm ra máy ích và các port ang m trên ó. Dò tìm là bư c u tiên hacker s s d ng trư c khi th c hi n t n công. B ng cách s d ng các công c dò tìm như Nmap, hacker có th rà kh p các m ng tìm ra các máy ích có th b t n công. M t khi xác nh ư c các máy này, k xâm nh p có th dò tìm các port ang l ng nghe. Nmap cũng s d ng m t s k thu t cho phép xác nh khá chính xác lo i máy ang ki m tra. B ng cách s d ng nh ng công c c a chính các hacker thư ng dùng, ngư i qun tr h th ng có th nhìn vào h th ng c a mình t góc c a các hacker và giúp tăng cư ng tính an toàn c a h th ng. Có r t nhi u công c dò tìm có th s d ng như: Nmap, strobe, sscan, SATAN, ... Dư i ây là m t ví d s d ng Nmap: # nmap -sS -O 192.168.1.200 Starting nmap V. 2.54 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/) Interesting ports on comet (192.168.1.200): Port State Protocol Service
  • 110.
    www.nhipsongcongnghe.net 7 open tcpecho 19 open tcp chargen 21 open tcp ftp ... TCP Sequence Prediction: Class=random positive increments Difficulty=17818 (Worthy challenge) Remote operating system guess: Linux 2.2.13 Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds Tuy nhiên, s d ng các công c này không th thay th cho m t ngư i qu n tr có ki n th c. B i vì vi c dò tìm thư ng d báo m t cu c t n công, các site nên ưu tiên cho vi c theo dõi chúng. V i các công c dò tìm, các nhà qu n tr h th ng m ng có th phát hi n ra nh ng gì mà các hacker có th th y khi dò trên h th ng c a mình. 9.7. Phát hi n s xâm nh p qua m ng N u h th ng c a b n có k t n i vào internet, b n có th tr thành m t m c tiêu b dò tìm các l h ng v b o m t. M c dù h th ng c a b n có ghi nh n i u này hay không thì v n không xác nh và phát hi n vi c dò tìm này. M t v n c n quan tâm khác là các cu c t n công gây ng ng d ch v (Denial of Services - DoS), làm th nào ngăn ng a, phát hi n và i phó v i chúng n u b n không mu n h th ng c a b n ngưng tr . H th ng phát hi n xâm nh p qua m ng (Network Intrusion Detection System - NIDS) theo dõi các thông tin truy n trên m ng và phát hi n n u có hacker ang c xâm nh p vào h th ng (ho c gây gây ra m t v t n công DoS). M t ví d i n hình là h th ng theo dõi s lư ng l n các yêu c u k t n i TCP n nhi u port trên m t máy nào ó, do v y có th phát hi n ra n u có ai ó ang th m t tác v dò tìm TCP port. M t NIDS có th ch y trên máy c n theo dõi ho c trên m t máy c l p theo dõi toàn b thông tin trên m ng. Các công c có th ư c k t h p t o m t h th ng phát hi n xâm nh p qua m ng. Ch ng h n dùng tcpwrapper i u khi n, ghi nh n các d ch v ã ư c ăng ký. Các chương trình phân tích nh t ký h th ng, như swatch, có th dùng xác nh các tác v dò tìm trên h th ng. Và i u quan tr ng nh t là các công c có th phân tích các thông tin trên m ng phát hi n các t n công DoS ho c ánh c p thông tin như tcpdump, ethereal, ngrep, NFR (Network Flight Recorder), PortSentry, Sentinel, Snort, ... Khi hi n th c m t h th ng phát hi n xâm nh p qua m ng b n c n ph i lưu tâm n hi u su t c a h th ng cũng như các chính sách b o m s riêng tư. 9.8. Ki m tra kh năng b xâm nh p Ki m tra kh năng b xâm nh p liên quan n vi c xác nh và s p x p các l h ng an ninh trong h th ng b ng cách dùng m t s công c ki m tra. Nhi u công c ki m tra cũng có kh năng khai thác m t s l h ng tìm th y làm rõ quá trình thâm nh p trái phép s ư c th c hi n như th nào. Ví d , m t l i tràn b m c a chương trình ph c v d ch v FTP có th d n n vi c thâm nh p vào h th ng v i quy n ‘root’. N u ngư i qu n tr m ng có ki n th c v ki m tra kh năng b xâm nh p trư c khi nó x y ra, h có th ti n hành các tác v nâng cao m c an ninh c a h th ng m ng.
  • 111.
    www.nhipsongcongnghe.net Có r tnhi u các công c m ng mà b n có th s d ng trong vi c ki m tra kh năng b xâm nh p. H u h t các quá trình ki m tra u dùng ít nh t m t công c t ng phân tích các l h ng an ninh. Các công c này thăm dò h th ng xác nh các d ch v hi n có. Thông tin l y t các d ch v này s ư c so sánh v i cơ s d li u các l h ng an ninh ã ư c tìm th y trư c ó. Các công c thư ng ư c s d ng th c hi n các ki m tra lo i này là ISS Scanner, Cybercop, Retina, Nessus, cgiscan, CIS, ... Ki m tra kh năng b xâm nh p c n ư c th c hi n b i nh ng ngư i có trách nhi m m t cách c n th n. S thi u ki n th c và s d ng sai cách có th s d n n h u qu nghiêm tr ng không th lư ng trư c ư c. 9.9. i phó khi h th ng b t n công G n ây, m t lo t các v t n công nh m vào các site c a nh ng công ty l n như Yahoo!, Buy.com, E-Bay, Amazon và CNN Interactive gây ra nh ng thi t h i vô cùng nghiêm tr ng. Nh ng t n công này là d ng t n công gây ng ng d ch v "Denial-Of- Service" mà ư c thi t k làm ngưng ho t ng c a m t m ng máy tính hay m t website b ng cách g i liên t c v i s lư ng l n các d li u t i m c tiêu t n công khi n cho h th ng b t n công b ng ng ho t ng, i u này tương t như hàng trăm ngư i cùng g i không ng ng t i 1 s i n tho i khi n nó liên t c b b n. Trong khi không th nào tránh ư c m i nguy hi m t các cu c t n công, chúng tôi khuyên b n m t s bư c mà b n nên theo khi b n phát hi n ra r ng h th ng c a b n b t n công. Chúng tôi cũng ưa ra m t s cách giúp b n b o m tính hi u q a c a h th ng an ninh và nh ng bư c b n nên làm gi m r i ro và có th i phó v i nh ng cu c t n công. N u phát hi n ra r ng h th ng c a b n ang b t n công, hãy bình tĩnh. Sau ây là nh ng bư c b n nên làm: o T p h p 1 nhóm i phó v i s t n công: - Nhóm này ph i bao g m nh ng nhân viên kinh nghi m, nh ng ngư i mà có th giúp hình thành m t k ho ch hành ng i phó v i s t n công. o D a theo chính sách và các quy trình th c hi n v an ninh c a công ty, s d ng các bư c thích h p khi thông báo cho m i ngư i hay t ch c v cu c t n công. o Tìm s giúp t nhà cung c p d ch v Internet và cơ quan ph trách v an ninh máy tính: - Liên h nhà cung c p d ch v Internet c a b n thông báo v cu c t n công. Có th nhà cung c p d ch v Internet c a b n s ch n ng ư c cu c t n công. - Liên h cơ quan ph trách v an ninh máy tính thông báo v cu c t n công
  • 112.
    www.nhipsongcongnghe.net o T mth i dùng phương th c truy n thông khác (ch ng h n như qua i n tho i) khi trao i thông tin m bo r ng k xâm nh p không th ch n và l y ư c thông tin. o Ghi l i t t c các ho t ng c a b n (ch ng h n như g i i n tho i, thay i file, ...) o Theo dõi các h th ng quan tr ng trong qúa trình b t n công b ng các ph n m m hay d ch v phát hi n s xâm nh p (intrusion detection software/services). i u này có th giúp làm gi m nh s t n công cũng như phát hi n nh ng d u hi u c a s t n công th c s hay ch là s qu y r i nh m ánh l c hư ng s chú ý c a b n(ch ng h n m t t n công DoS v i d ng ý làm sao lãng s chú ý c a b n trong khi th c s ây là m t cu c t n công nh m xâm nh p vào h th ng c a b n). - Sao chép l i t t c các files mà k xâm nh p l i hay thay i (như nh ng o n mã chương trình, log file, ...) o Liên h nhà ch c trách báo cáo v v t n công. Nh ng bư c b n nên làm gi m r i ro và i phó v i s t n công trong tương lai : o Xây d ng và trao quy n cho nhóm i phó v i s t n công o Thi hành ki m tra an ninh và ánh giá m c r i ro c a h th ng o Cài t các ph n m m an toàn h th ng phù h p gi m b t r i ro o Nâng cao kh năng c a mình v an toàn máy tính Các bư c ki m tra giúp b n b o m tính hi u qu c a h th ng an ninh o Ki m tra h th ng an ninh m i cài t : ch c ch n tính úng n c a chính sách an ninh hi n có và c u hình chu n c a h th ng. o Ki m tra t ng thư ng xuyên : khám phá s “vi ng thăm” c a nh ng hacker hay nh ng hành ng sai trái c a nhân viên trong công ty. o Ki m tra ng u nhiên: ki m tra chính sách an ninh và nh ng tiêu chu n, ho c ki m tra s hi n h u c a nh ng l h ng ã ư c phát hi n (ch ng h n nh ng l i ư c thông báo t nhà cung c p ph n m m) o Ki m tra h ng êm nh ng file quan tr ng: ánh giá s toàn v n c a nh ng file và cơ s d li u quan tr ng o Ki m tra các tài kho n ngư i dùng: phát hi n các tài kho n không s d ng, không t n t i, ... o Ki m tra nh kỳ xác nh tr ng thái hi n t i c a h th ng an ninh c a b n B N CÓ TH XEM THÊM THÔNG TIN T I Các trung tâm giúp i phó tai n n trên Internet • http://www.cert.org
  • 113.
    www.nhipsongcongnghe.net • http://www.first.org • http://ciac.llnl.gov/ •http://www.cert.dfn.de/eng/csir/europe/certs.html M t s website v an toàn máy tính • http://www.cs.purdue.edu/coast/ • http://www.linuxsecurity.com • http://www.securityportal.com • http://www.tno.nl/instit/fel/intern/wkinfsec.html • http://www.icsa.net • http://www.sans.org • http://www.iss.com • http://www.securityfocus.com Thông tin v an toàn t nhà cung c p • http://www.calderasystems.com/news/security/ • http://www.debian.org/security/ • http://www.redhat.com/cgi-bin/support/ M t s sách v an toàn máy tính • Actually Useful Internet Security Techniques by Larry J. Hughes Jr. • Applied Cryptography: Protocols, Algorithms and Source Code in C by Bruce Schneier • Building Internet Firewall by Brent Chapman & Elizabeth D. Zwicky • Cisco IOS Network Security by Mike Kaeo • Firewalls and Internet Security by Bill Cheswick & Steve Bellovin • Halting the Hacker: A practical Guide To Computer Security by Donal L. Pipkin • Intrusion Detection: An Introduction to Internet Surveillance, Correlation, Traps, Trace Back and Response by Edward G. Amoroso • Intrusion Detection: Network Security Beyond the Firewall by Terry Escamilla • Linux Security by Jonh S. Flowers