2. 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
3. www.nhipsongcongnghe.net
4.3.5 Thay i UID
4.3.6 Thay i nhóm m c nh
4.3.7 Thay i th i h n k t thúc c a m t tài kho n
4.3.8 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 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
5. 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.
6. 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
7. 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
8. 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à
9. www.nhipsongcongnghe.net
Linux swap, dung lư ng b ng dung lư ng RAM c a máy. Ti p theo t o m t partion
tên "/" 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 u ch nh m t partition
Ch n m t partition c n hi u ch nh, nh n Edit, màn hình m i s cho phép b n thay i
các thông s c a partition ã ch n như kích thư c, ki u, ...
9. Hoàn thành vi c phân chia ĩa
Chương trình cài t s yêu c u b n format l i phân vùng v a t o, chú ý không ch n
nh ng phân vùng d li u quan tr ng i v i b n.
11. www.nhipsongcongnghe.net
10.Kh i t o LILO
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ú ý 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.
13. 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
14. www.nhipsongcongnghe.net
Thông thư ng thì chương trình cài t s t phát hi n lo i chu t c a máy b n. N u
không, b n hãy ch n lo i chu t phù h p trong danh sách, và n u b n không bi t chu t
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à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 .
16. 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.
17. www.nhipsongcongnghe.net
17. Ti p theo, b n có th ch n l a các gói tin cài t. B n nên ch n các ph n
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 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.
20. www.nhipsongcongnghe.net
21. Hoàn thành cài t
Như v y là b n ã hoàn thành xong công vi c cài t h 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 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
22. www.nhipsongcongnghe.net
i,a Chèn văn b n ngay trư c/sau v trí con tr
o M m t dòng m i ngay sau dòng hi n t i
O M m t dòng m i ngay trư c dòng hi n t i
x Xóa ký t sau con tr
dw Xoá m t t (bao g m c ký t tr ng ngay sau nó)
D Xoá t v trí con tr n k t thúc dòng
d^ Xoá t v trí b t u dòng n v trí ký t tr ng hay ký t bên
trái con tr
u Hu b thay i trư c ó
/pattern Tìm xâu pattern. Theo hư ng ti n.
?pattern Tìm xâu pattern, theo hư ng lùi v u văn b n.
n,N 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 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
24. www.nhipsongcongnghe.net
th ng t p tin m ng c a UNIX (UNIX Network File System - NFS), Midnigh
Commander có th ho t ng như m t máy khách ftp b ng cách ưa liên k t FTP vào
menu.
Có th h i ph c các t p tin ã xóa trong Linux?
Midnight Commander cho th y r ng v n chúng ta nói n trong ph n trư c (PC
World VN s 7/1999 trang 95) - không có cách nào h i ph c ư c các t p tin b xoá
trong Linux - là không hoàn toàn chính xác. N u b n s d ng ph n m r ng ext2, h
th ng t p tin cơ b n trong Linux và c u hình h th ng cho phép h i ph c t p tin b
xóa thì trên th c t b n có th truy c p vào các file ã xóa.
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 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:
26. www.nhipsongcongnghe.net
* Tương ng v i th t b t kỳ c a m t hay nhi u ký t
? Tương ng v i m t ký t b t kỳ
[] Tương ng v i m t trong nh ng ký t trong ngo c ho c gi i h n
Ví d :
Jo* : Các file b t u v i Jo
Jo*y : Các file b t u v i Jo và k t thúc v i y
Ut*l*s.c : Các file b t u v i Ut, ch a m t ký t l và k t thúc v i s.c
?.h : Các file b t u v i m t ký t ơn, theo sau b i .h
Doc[0-9].txt : Các file có tên Doc0.txt, Doc1.txt ….Doc9.txt
Doc0[A-Z].txt : Các file có tên Doc0A.txt, Doc0B.txt …Doc0Z.txt
2.3.1.2. Cơ b n v các bi u th c chính quy
Các bi u th c chính quy ư c s d ng b i ph n l n các câu l nh. Chúng cung c p
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ì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:
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 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 ó.
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 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
32. 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
33. 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 :
34. www.nhipsongcongnghe.net
rm doc1.txt doc2.txt doc3.txt
Tương ng v i:
rm doc[1-3].txt
rm là câu l nh r t m nh, hãy c n th n khi s d ng l nh này vì b n có th nh m và xoá
i các file quan tr ng. N u chưa ch c ch n, b n có th s d ng tuỳ ch n –i, h th ng
s nh c l i cho b n xác th c m i l n xoá m t file. N u như ã ch c ch n file c n xoá,
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 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 :
37. 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
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ô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:
41. www.nhipsongcongnghe.net
chown newuser.newgroup file ho c thư m c
Ví d
chown trantu.admin example.txt
Câu l nh trên không ch thay i quy n s h u file cho trantu mà còn t l i nhóm s
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 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)
43. www.nhipsongcongnghe.net
chmod 755 *.pl
Câu l nh trên thay i quy n cho các file có ph n m uôi là .pl. M i m t file .pl
ư c t các quy n c, ghi và th c thi b i ngư i s h u, các file cúng có th c và
th c thi b i nhóm ngư i s d ng và 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 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:
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 b n t o m t tên nhóm ã có trong h th ng b n s nh n ư c m t thông báo l i
4.3.3. S a i m t tài kho n ngư i s d ng ang t n t i
• Thay i m t kh u
thay i m t kh u c a tài kho n ang t n t i b n s d ng câu l nh passwd.Ví d :
passwd tutavn
Câu l nh này tương i ơn gi n vì nó không có các tùy ch n, và nó ch cho phép
ngư i s d ng thông thư ng ch có th thay i m t kh u c a chính h . H th ng s
yêu c u b n nh p m t kh u hai l n và khi m t kh u ư c ti p nh n, nó s ư c mã
hóa trư c khi ưa vào file /etc/passwd
4.3.4. Thay i ư ng d n thư m c ch
thay i ư ng d n thư m c ch c a ngư i s d ng ang t n t i, s d ng câu l nh
usermod như sau:
usermod –d new_home_directory username
Ví d , n u m t ngư i s d ng tutavn có thư m c ch /home/tutavn và mu n chuy n
thành /home2/tutavn, b n có th ch y câu l nh sau:
usermod –d /home2/tutavn tutavn
Tuy nhiên, n u b n mu n n i dung thư m c ch n m t v trí m i, s d ng tùy ch n
–m như sau:
usermod –d –m /home2/tutavn tutavn
4.3.5. Thay i UID
thay i UID c a m t ngư i s d ng, s d ng câu l nh usermod như sau:
usermod –u UID username
Ví d :
usermod –u 500 myfrog
Câu l nh này s thay i UID c a ngư i s d ng myfro là 500
50. www.nhipsongcongnghe.net
4.3.6. Thay i nhóm m c nh
thay i nhóm m c nh cho ngư i s d ng, s d ng câu l nh usermod v i tùy
ch n –g
usermod –g 777 myfrog
Câu l nh này s thay i nhóm m c nh c a myfrog thành 777.
4.3.7. Thay i th i h n k t thúc c a m t tài kho n
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 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.
52. www.nhipsongcongnghe.net
Hình 1: C a s printconf chính
Có năm ki u hàng i in ư c c u hình b i printconf:
• Local Printer — máy in ư c g n tr c ti p vào máy tính c a b n thông qua
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 t máy in c c b
cài t m t máy in g n trên c ng song song hay c ng USB c a máy tính, nh n nút
New trên c a s printconf chính như trên, ch n Next ti p t c.
Hình 2: Cài t máy in
Nh p tên máy in trong trư ng Queue Name và ch n Local Printer t danh sách
Queue Type nh n Next ti p t c.
54. www.nhipsongcongnghe.net
Hình 3: Cài t máy in c c b
printconf s có g ng phát hi n máy in và hi n th như trong hình 4.
Hình 4: Ch n thi t b máy in
4.4.3. Cài t máy in trên h th ng Unix xa
cài t m t máy in g n trên m t h th ng Linux xa trong cùng m t m ng, nh n
nút New trong c a s chính printconf. M t c a s như hình 2 s xu t hi n, ch n Next
ti p t c.
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à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.
56. 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.
57. 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.
58. 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.
59. 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.
60. www.nhipsongcongnghe.net
4.4.6. Thay i thông s c u hình các máy in có s n
xoá m t máy in ang t n t i, chon máy in và nh n nút Delete trên thanh công c ,
máy in s ư c lo i b trong danh sách máy in. Nh n nút Apply ghi l i các thay
i và kh i ng l i daemo
thi t l p m t máy in ng m nh, ch n máy in t danh sách và nh n nút Default
trên thanh công c . Máy in ng m nh s có icon xu t hi n bên c nh tên máy in.
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 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
63. www.nhipsongcongnghe.net
suy ra network address = 192.168.1.0 và broadcast = 192.168.1.255
Gateway = 192.168.1.1
5.1.2. C u hình card m ng
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.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
65. www.nhipsongcongnghe.net
Bi t s d ng thành th o cú pháp c a 2 l nh ifconfig và route r t quan tr ng, nó cho
phép các cán b qu n tr thay i c u hình k t n i m ng c a m t server m t cách
nhanh chóng và không ph i kh i ng l i máy. Vì v y, server luôn s n sàng. B n
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à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
70. 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.
72. www.nhipsongcongnghe.net
Có th ki m tra a chi IP ng và máy cung c p DHCP qua l nh “ifconfig -a”
Lúc này k t n i coi như ã ư c thi t l p, có th dùng ping t ki m tra.
Bây gi thì chúng ta có th truy c p internet thông qua trình duy t.
73. www.nhipsongcongnghe.net
6. 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
74. www.nhipsongcongnghe.net
ki m c a b n, n u không h th ng s không tìm th y chương trình th c thi. N u
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 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:
76. www.nhipsongcongnghe.net
name=Garry (for pdksh and bash)
set name = Garry (for tcsh)
Sau khi b n lưu m t giá tr vào m t bi n, b n làm th nào có th l y giá tr ó tr
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 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
78. 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
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.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