Professional Documents
Culture Documents
QuantrihethongLinux 1
QuantrihethongLinux 1
TI LIU O TO
H NI 2006
MC LC
GII THIU GIY PHP CNG CNG GNU..............................................8
GII THIU .......................................................................................................17
Gii thiu ti liu ................................................................................................... 17
CI T .............................................................................................................18
Cu trc ca a ci................................................................................................ 18
Ci t Cc b........................................................................................................ 19
Ci t qua Mng ................................................................................................... 20
Phc hi H thng.................................................................................................. 20
Chin lc Phn vng............................................................................................ 21
Khi ng kp vi nhiu h iu hnh .................................................................. 22
Bi tp .................................................................................................................... 22
CU HNH PHN CNG ................................................................................23
B nh.................................................................................................................... 23
Qun l Ti nguyn................................................................................................ 23
USB........................................................................................................................ 25
SCSI ....................................................................................................................... 25
Network Card......................................................................................................... 26
Modem ................................................................................................................... 27
My in .................................................................................................................... 28
Bi tp .................................................................................................................... 28
QUN L THIT B .........................................................................................29
a v Phn vng ................................................................................................... 29
Cng c Phn vng a .......................................................................................... 30
Bootloader.............................................................................................................. 31
2
Li ni u
Giy php s dng ca hu ht cc phn mm u c a ra nhm hn ch bn
t do chia s v thay i n. Ngc li, Giy php Cng cng ca GNU c mc
ch m bo cho bn c th t do chia s v thay i phn mm t do - tc l
m bo rng phn mm l t do i vi mi ngi s dng. Giy php Cng
cng ny p dng cho hu ht cc phn mm ca T chc Phn mm T do v
cho tt c cc chng trnh khc m tc gi cho php s dng. (i vi mt s
phn mm khc ca T chc Phn Mm T do, p dng Giy php Cng cng
Hn ch ca GNU thay cho giy php cng cng). Bn cng c th p dng n
cho cc chng trnh ca mnh.
Khi ni n phn mm t do, chng ta ni n s t do s dng ch khng quan
tm v gi c. Giy php Cng cng ca chng ti c thit k m bo rng
bn hon ton t do cung cp cc bn sao ca phn mm t do (cng nh kinh
doanh dch v ny nu bn mun), rng bn c th nhn c m ngun nu bn
c yu cu, rng bn c th thay i phn mm hoc s dng cc thnh phn ca
8
11
13
15
GII THIU
Gii thiu ti liu
Ti liu Qun tr h thng Linux C bn l cun gio trnh c xy dng vi
mc ch chuyn ti cc kin thc ht sc c bn nhng cn thit i vi cc hc
vin, c bit l i vi nhng ngi lm cng tc ging dy.
Ti liu ny c bin dch chnh da trn b gio trnh ca Hc vin Linux LPI
(Linux Professional Institute). y l b gio trnh c bin son mt cch cng
phu, t m v khoa hc, dng cho vic o to v n luyn cc chng ch LPI ca
Hc vin Linux.
Do ang trong qu trnh xy dng, trong ni dung ti liu khng trnh khi nhiu
thiu st. Rt mong c s ng gp kin ca ngi c ti liu ngy cng
c hon chnh hn.
Xin chn thnh cm n!
17
CI T
Cu trc ca a ci
Hin ti, c rt nhiu phin bn phn phi Linux khc nhau. Vi mi bn, cch
t tn ca cc th mc trn a ci cng khc nhau. Thng thng chng c
dng nh sau:
images: Dng cha nh ca Linux. C nhiu kiu file nh khc nhau. Mi file
c mt cng dng ring:
- Khi ng tin trnh ci t
- Cung cp module cho nhn
- Khi phc li h thng
Mt s nh c th c ghi li vo a mm hoc CD, USB nhm mc ch khi
ng qu trnh ci t t nhiu ngun khc nhau.
18
Ci t Cc b
Ci t cc b l cch thc d dng v ph thng nht trong tt c cc phng
thc ci t. Hu ht cc bn phn phi Linux u c dng boot CD cho php
khi ng qu trnh ci t mt cch t ng. Vi nhng my tnh khng c
CD, c th thay th n bi a mm hoc USB khi ng qu trnh ny (khi
, th mc packages thng c t trong cng).
to ra a mm hoc a USB c kh nng khi ng, c th dng lnh dd
trong Linux hoc rawrite.exe trong DOS/Win.
19
Ci t qua Mng
Thng thng cc gi ci t c ti mt server xa, ngi dng ch cn
khi ng qu trnh ci t, thit lp cc tham s mng chnh xc sau , tin
trnh ci t s t ng download cc gi cn thit v my tnh ci (thng qua
cc giao thc nh FTP, HTTP, NFS).
khi ng qu trnh ci t c th s dng bt k phng thc no nh
miu t trong phn Ci t Cc b. Ngoi ra, qu trnh ny cng c th c khi
ng thng qua mt Card Mng c kh nng boot kt hp vi DHCP v TFTP
Server c thit lp cho mc ch ny.
Phc hi H thng
Trong trng hp h thng b trc trc, khng th khi ng chnh xc, c th
phc hi c mt s li thng qua c ch khi ng Phc hi H thng.
Khi khi ng c ch ny, mt phin bn thu gn ca Linux v mt h thng file
o c np vo v chy ngay trn RAM h thng. H thng file tht s c tm
kim v nh x vo mt th mc ca h thng file o ny. Ngi dng c th
dng lnh chroot chuyn qua h thng file tht v x l s c. Thng thng
nu tm thy, n s c nh x vo th mc /mnt/sysimage ca h thng o.
20
21
Bi tp
1. Ci t (qua mng hoc khng) mt h thng Linux vi yu cu nh sau:
+ Chn Custom System
+ Phn vng cng vi Disk Druid thnh cc phn vng nh sau:
/boot
SWAP
/
/usr
/home
/tmp
/var
+ Ci t GRUB ln MBR v t mt khu cho GRUB.
+ Ci t cc gi theo yu cu ca ging vin.
2. Phc hi h thng
+ Gi s bn b qun mt khu root, khi ng li my tnh v phc hi li n
bng ch single.
+ Gi s bn cng qun c mt khu ca GRUB nn khng khi ng vo ch
single c. Khi ng my tnh bng a c kh nng cu h (Rescue Mode).
Sa li file cu hnh ca GRUB (/boot/grub/grub.conf) xa mt khu.
22
Qun l Ti nguyn
truy cp vo cc thit b, h thng (CPU) phi cp pht cc ti nguyn truy
cp cho chng. Sau y l cc kiu ti nguyn ny:
I/O port
IRQ
/dev/ttyS0
0x03f8
/dev/ttyS1
0x02f8
/dev/lp0
0x378
24
0x278
soundcard
0x220
USB
USB (Universal Serial Bus) l chun kt ni gia cc thit b vi nhau v vi PC.
Chng c chia thnh cc lp thit b nh sau:
Display Devices
Communication Devices
Audio Devices
Mass Storage Devices
Human Interface Devices (HID)
Mi thit b gn vo cng USB u c iu khin bi mt b iu khin USB
Controller. Bt u t phin bn nhn 2.2.7, Linux mi h tr USB Controller.
C 3 kiu USB Controllers nh sau:
Host Controler
Kernel Module
OHCI (Compaq)
usb-ohci.o
UHCI (Intel)
usb-uhci.o
ehci-hdc.o
SCSI
Hin nay, chun SCSI c hai kiu giao tip l:
- Chun giao tip 8-bit vi mt knh truyn h tr 8 thit b SCSI. Tuy nhin do
bao gm c controller nn card SCSI theo chun ny ch c th kt ni c
vi ti a 7 thit b SCSI khc.
25
Network Card
dng c card mng, nhn ca h thng phi h tr chng. Thng tin v
card mng ang dng trong h thng c th c tm thy thng qua cc lnh
hoc file sau: dmesg, lspci, scanpci, /proc/interrupts, /sbin/lsmod hay
/etc/modules.conf
V d trn cho thy mt card mng ang dng c chipset l Tulip, a ch I/O l
0xf800 v IRQ = 10. Nu cc thng tin ny hot ng tt th c th s dng n
26
Modem
Do cc Modem cm trong yu cu CPU x l d liu cho chng nn thng
thng Linux khng h tr cc thit b loi ny (mc d c nhiu cch i ng
vng gii quyt vn trn).
V vy, ti liu ny ch cp n cc modem cm ngoi (s dng cng serial).
Trong Linux, cc cng serial c nh ngha khc so vi trong DOS/Windows:
DOS
Linux
COM1
/dev/ttyS0
COM2
/dev/ttyS1
COM3
/dev/ttyS2
My in
Hng dn chi tit hn v my in s c cp n trong nhng phn sau ca
ti liu. Thng thng nhng my in c kh nng PnP s c d tm ngay khi
h thng khi ng (k c my in USB cng c th c d thy) v c th nhn
thy bi lnh dmesg.
Qu trnh In trong Linux c thc hin trong hai bc. u tin, d liu in
c lc qua mt b lc theo nh dng ca trnh qun l my in. Sau , d liu
mi c x l a ra my in.
Bi tp
1. S dng lng dmesg xem thng tin t file /var/log/dmesg. Tm trong cc
thng tin v USB, tty hoc eth0 v tr li:
- Tn ca USB controllers c s dng?
- S hiu IRQ ca hai cng serial u tin l bao nhiu?
2. Kim tra ni dung ca cc file:
/proc/ioports
/proc/interrupts
/proc/pci
/proc/dma
3. PCI bus:
- Kim tra output ca cc lnh lspci -v and scanpci v. Kiu ca card mng trn
my bn l g?
- Kim tra xem c bao nhiu mc bus trong file /proc/pci. Nhng thng tin ny
c ging nh kt qu ca 2 lnh trn khng?
4. USB:
- Dng lnh lsmod v lsusb kim tra xem kiu host controller no ang c
s dng trong h thng? UHCI, OHCI hay EHCI.
28
QUN L THIT B
a v Phn vng
a vt l
a vt l c nhn Linux gn vo cc mc trong th mc /dev. Mi kt ni t
nhn n cc thit b u thng qua b s major/minor. Cc s major c nh
ngha trong file /proc/devices. V d: a cng IDE u tin c s major = 3
Block devices:
1
ramdisk
fd
ide0
Primary Master
hdb
Primary Slave
hdc
Secondary Master
hdd
Secondary Slave
sda
sdb
Phn vng a
c th s dng c, cc a cng cn phi c phn vng. Linux thm vo
ng sau nh danh a cng s hiu ca cc phn vng qun l.
hda1
hda2
sdc3
Trong v d trn (dng fdisk -l), h thng c ba phn vng chnh c nh danh
t hda1 n hda3. Phn vng th 3 c nh du l m rng v cha trong n 7
phn vng con. Do hda3 khng c dng. Cc phn vng con c nh
danh t hda5 tr i.
PartitionMagic
fips
fdisk
diskdrake
Mandrake
DiskDruid
RedHat
Bootloader
Bootloader l chng trnh mc nh c ci t trn MBR nhm gip my tnh
la chn c phn vng khi ng, np b mi h iu hnh v chuyn quyn
kim sot cho h iu hnh.
Cc bn Linux c phn phi vi hai Bootloader ring. Tuy nhin, chng cng
nhn vai tr mi h iu hnh nn c th ci t vo BR ca phn vng khi
ng ch khng nht thit phi ci t trn MBR.
install
prompt
default
timeout
image*
ng dn ch n nhn khi ng
label*
Tn ca file nh
root*
/sbin/lilo
Cng c dng c tham s t /etc/lilo.conf v thit lp cho LILO.
32
rw, ro
c-ghi hoc ch c
users
user
owner
grpquota
Quotas
Quota l cng c cho php qun tr h thng thit lp hn ngch lu tr trn a.
Cng c ny khng yu cu khi ng li h thng. Sau y l mt s bc lm
chung:
1. Thm ty chn usrquota vo file /etc/fstab ti dng cha phn vng cn phn
hn ngch.
2. Remount li phn vng ny:
Ngi dng c th kim tra hn ngch ca mnh bng lnh quota, qun tr c th
sinh ra bo co v hn ngch bng lnh repquota hoc quotastats.
Bi tp
1. S dng fdisk, xa phn vng /home, sau to li 1 phn vng mi. Khi
ng li my tnh. Vn g s xy ra? Gii quyt nh th no?
2. Dng lnh mkfs to ra nh dng h thng file kiu ext3 trn phn vng ny
3. To th mc data trong th mc gc. Thit lp li /etc/fstab sao cho th mc
ny l mount point ca phn vng mi nh dng.
4. Dng lnh mount c tham s kim tra li xem thit lp /etc/fstab ng
cha.
5. Thit lp hn ngch a cho phn vng trn theo tng bc hng dn.
35
36
37
Tin ch nh dng
Do nhn Linux ch c th c c cc h thng file c nh dng t trc
nn lu tr v qun l d liu trn cc phn vng mi, cn phi nh dng mt
h thng file trn thng qua cc cng c nh dng.
nh dng mt phn vng c kiu h thng file l ext2 bng lnh mkfs.ext2
hay mke2fs. Tng t nh vy vi kiu h thng file xfs (ca Silicon Graphics)
vi lnh mkfs.xfs.
Lnh mkfs thc cht l mt chng trnh kim tra yu cu nh dng v la chn
ng lnh thi hnh. C php ca mkfs l:
mkfs t <fstype>
39
40
S dng du
Tin ch ny c s dng hin th khng gian a c s dng nhng mc
th mc. V vy, du cng khng th hin th khong trng cn tha ca a.
Ngi dng s hu
V d:
-rw-rw-r-- 1 jade sales 24880 Oct 25 17:28 libcgic.a
Ty chn hay dng vi chmod, chown v chgrp l R cho php thay i trong c
cc th mc, file bn trong th mc ch nh.
Ngoi cch s dng k t i din cho cc quyn: read=r, write=w, execute=x,
chmod cho php s dng mt b s h bt phn thay i quyn theo bng sau:
read
write
execute
user
group
other
rwx
r-x
rw-
4+2+1=7
4+1=5
4+2=6
42
666
-rw-rw-rw-
Directories
777
-rwxrwxrwx
umask
L khi nim c thit lp ch nh quyn truy xut mc nh cho cc file v
th mc mi to i vi mi ngi dng. umask l mt mt n gm mt b cc
s h bt phn. Khi , quyn truy xut mc nh ca cc file v th mc i vi
mi ngi dng c tnh theo cng thc sau:
Bi tp
Filesystem
1. Xa phn vng c nh x vo /data ca bi trc, to ra 2 phn vng mi c
kiu nh dng ca h thng file l ext2 v reiserfs.
2. To 2 th mc con trong /mnt v nh x hai phn vng mi vo.
mkdir /mnt/ext2
mkdir /mnt/reiserfs
3. S dng cc lnh mount, df, fsck kim tra i vi 2 phn vng mi to.
4. Chuyn i t ext2 sang ext3 bng lnh tune2fs
File permissions
1. Login bng 1 ngi dng khng phi root v to 1 file mi bng lnh touch.
Kim tra xem quyn truy xut ca file ny l g?
2. Thay i umask thnh 027. Quyn truy xut mc nh s l g?
3. Ni no s thit lp gi tr mc nh ca umask? /etc/profile, /etc/bashrc
4. Thm 2 ngi dng mi user1, user2 vi passwword tng ng. To nhm
mi sales. V thm 2 ngi dng mi to vo nhm ny.
5. To th mc /news s hu bi nhm sales v c quyn 770 cho th mc ny.
Sau t GID cho th mc ny.
6. Kim tra cc tnh cht ca GID vi user1 v user2.
7. Thm Sticky-Bit cho th mc /news. Kim tra tnh cht ca bit ny.
44
45
CH DNG LNH
Khi qut
S dng dng lnh l cch c bn tng tc vi h thng my tnh. B bin
dch shell (h v) thng dch cc lnh c nhp vo t bn phm. Du nhc shell
($ hoc # i vi ngi qun tr h thng) cho bit h thng sn sng hot
ng.
Shell cn l mt mi trng lp trnh cho php thc hin cc lnh khi ng.
Chng trnh shell c gi l script (kch bn).
Do bash shell l mt trong nhng shell thng dng nht trong cng dng linux, v
th ti liu ny tp trung ch yu vo bash shell.
Tng tc vi SHELL
Cc cu lnh thc hin trn shell c dng sau:
B danh
46
ng dn tuyt i/tng i
Shell thng dch t u tin ca bt k dng lnh no nh l mt cu lnh. Nu
dng lnh c mt ng dn tuyt i hoc tng i n cu lnh th cu lnh
s c thc thi. Nu khng th shell s tm kim trong alias. Nu t u tin
khng c k t / th shell s tm kim cc th mc c khai bo trong ni
dung bin mi trng PATH v thc hin chng trnh c tn trng vi cu lnh.
V d nu tham bin PATH ch cha cc th mc /bin v /usr/bin th cu lnh
xeyes s khng c tm thy khi m n nm trong /usr/X11R6/bin/xeyes v v
th ng dn tuyt i l cn thit cho cu lnh ny c thc thi.
/usr/X11R6/bin/xeyes
./xeyes
T in kt thc cu lnh
Bng cch n phm TAB, shell s kt thc cu lnh m chng ta ang g vo.
47
Khi to mt bin
$Tn bin
CREDIT=300
echo $CREDIT
Hin th tt c cc bin
env
48
V d: To bin CREDIT l bin ton cc. Hin th n vi lnh set hoc env.
export CREDIT
env | grep CREDIT
Khi to mt shell mi (tin trnh con) v kim tra xem bin CREDIT c c
truy cp n khng?
Bin nh
ngha trc
ngha
DISPLAY
HISTFILE
HOME
LOGNAME
PATH
PWD
SHELL
Tn shell c s dng
TERM
Cc bin c bit
Mt s bin lin quan n vic qun l tin trnh
$!
$$
$?
stdout
stderr
i hng stdout
program > file
D liu theo hng t tri sang phi
50
i hng stdin
program < file
Trong trng hp ny d liu theo hng t phi sang tri. Ton t < ch c
s dng cho stdin v khng th dng cho stdout.
Nu file instruction cha trn mi dng cc k t p, m, v q th trong v d sau
y fdisk s in bng phn vng (partition) ca /dev/hda, in tin ch tr gip, v
cui cng l thot khi cu lnh.
i hng stderr
program 2> errorfile
51
Cc lnh ng ng
Program1 Program2
Cc ng ng (pipe) c di din bng k hiu . Dng d liu chuyn t
tri sang phi. Hnh sau y minh ha stdout ca mt tin trnh c chuyn
hng n stdin ca mt tin trnh khc nh th no.
Cc k t i din (wildcard)
K t * c th i din cho 0 hoc mt s k t tu
ls /usr/bin/b*
K t ? i din cho mt k t tu
ls usr/bin/?b*
Cc min (range)
[] c dng nh ngha mt min cc gi tr
ls a[0-9]
ls index.{htm,html}
Du nhy
Du nhy ny ging du huyn ca Ting Vit v thng c t cnh s 1 ca
bn phm y .
Cp du nhy (``) s thc hin cu lnh nm bn trong. V d sau y s nh
ngha bin TIME s dng lnh date
54
TIME=$(date)
history
1.
ls
2.
Ln trn 1 dng
Ctrl+n
Xung di 1 dng
Ctrl+b
Ctrl+f
Ctrl+a
V cui dng
Ctrl+e
V u dng
!x
55
!-2
!!
^string1^string2
Bi tp
stdin-stdout-stderr
G cc cu lnh sau y v a ra cc kt qu thc thi (nu c th) s dng cc
s ging nh nhng s c dng trong chng ny
Dng lnh
1. Hin th tt c cc file trong /usr/X11R6/bin m khng bt u vi k t 'x'
ls /usr/X11R6/bin/[!x]*
thit lp mu nn
-fg <mu>
thit lp mu ch
Kim chng xem bin ALERT c khi to cha bng lnh set?
set |grep ALERT
57
Thot khi shell ny. Gi tr ca bin ALERT trong shell ban u s l bao
nhiu?
2. Ti li nhc cu lnh g cc dng sau:
CREDIT01=300;CREDIT02=400
for VAR in CREDIT01 CREDIT02; do echo $VAR;done
58
QUN L FILE
Di chuyn quanh h thng file
Cc ng dn tuyt i v tng i
Mt th mc hoc mt file c th truy cp bng ng dn tuyt i bt u t
th mc gc (/) hoc ng dn tng i bt u t th mc hin thi.
ng dn tuyt i: c lp vi th mc hin thi ca ngi dng v bt u
vi /
ng dn tng i: ph thuc vo th mc hin thi ca ngi dng v khng
bt u vi /
i vi mt h thng file c cu trc bt k, c mt s tin ch gip chng ta c
th duyt ton b h thng
pwd: a ra ng dn tuyt i v v tr ca bn trong h thng
cd: thay i th mc
Tm kim file v th mc
Chng ta s tm hiu cc tin ch find, which, whereis v locate
find
C php:
find <DIRECTORY> <CRITERIA> [-exec <COMMAND> {} \; ]
V d
59
xargs
Tin ch ny ny thng xem nh l mt cng c i km vi find. Thc t xargs
s x l mi dng ca kt qu xut chun nh mt tham bin cho mt tin ch
khc. Chng ta c th dng xargs xo tt c cc file thuc v mt ngi dng
bng lnh sau
locate
C php:
locate <STRING>
60
locate X11R
which
C php:
which string
whereis
C php
whereis string
Lm vic vi th mc
To th mc vi lnh mkdir
Khi to mt th mc chng ta c th thit lp quyn truy nhp vi la chn -m.
Mt la chn c ch khc l -p s t ng to tt c cc th mc con khi cn.
V d:
mkdir p docs/programs/versions
Xo cc th mc
xo mt th mc chng ta c th s dng lnh rmdir hoc rm. Nu bn ang
th mc gc bn c th dung la chon -f xo tt c cc file.
Ch :
xo tt c cc file v cc th mc con v
dir1 l th mc trng
rm -rf /dir1/*
rm -rf /dir1/
c dir1
S dng cp v mv
cp
C php
cp [options] file1 file2
cp [options] file1 directory
62
Hnh minh ho: file1 vi inode 250 s c copy sang file 2, sao y d liu n
mt vng d liu mi v tao inode mi 6238 cho file2.
Ch :
ngoi tr mydir
cp -r /mydir/ /dir2/ s copy tt c cc file v th mc con bao
gm c mydir
mv
C php:
mv [options] oldname newname
mv [options] source destination
mv [options] source directory
63
ln
s lilo.conf lilo.sys
64
ln
lilo.conf lilo.link
Touching v dd-ing
touch
Mt cch khc to hoc thay i mt file la s dung touch
C php:
touch {options} file(s)
to cc file mi
gian ca lilo.conf
65
dd
Lnh ny s copy 1 file vi kch thc khi I/O c th thay i. Lnh ny cng
c dng thc hin cc qu trnh chuyn i (ging nh tr). Cc la chn
chnh l if= (file nhp), of=(file xut), v conv=(chuyn i)
Cc kho chuyn i c th l: lcase, ucase, v ascii
V d
dd if=/mnt/cdrom/images/boot.img of=/dev/fd0
Bi tp
iu hng file
To mt th mc mi /bin trong /tmp
mkdir /tmp/bin
To v xo cc th mc
Cch no l nhanh nht to cc th mc /dir1/dir2?
Xo cc th mc ny vi rmdir sau vi rm
66
ngy)
Chng ta s gii thiu cc tin ch lu tr phn sau, tuy nhin kt qu xut ca
cc lnh tm kim s c dn trc tip vo cpio.
67
68
ps T
ps aux
69
kill
c php
kill SIGNAL process_PID
killall
C php
killall SIGNAL process_NAME
70
C php
nice -<NI> <process>
renice <+/-NI> -p <PID>
renice +1
-p
234 765
nide
--5 xclock
72
Job number
73
kill -9 %1
fg %2 hoc
fg %?xma
Bi tp
Bn nn chy X trc khi bt u cc bi thc hnh sau
1. Kim tra gi tr nice value (NI) hin thi ca x-terminal ang chy. Thay i
gi tr ny bng ln top hoc renice
2. Tn hiu tng ng ca ^Z gi n mt tin trnh l g? (Hin th tt c cc
tn hiu vi kill -l)
3. Tn hiu no c nh ngha li cho phn ln cc daemon v yu cu c li
file cu hnh?
4. Tn hiu mc dnh gi n mt tin trnh l g khi s dng kill hoc killall?
5. Tn hiu no c trc tip x l bng nhn h thng (kernel) v khng th
nh ngha li?
74
Chng ta c th khng nhn thy dng lnh khi g exit nhng cu lnh ny
s lm bn thot ra khi h thng. Khi bn ng nhp li hy kim tra print-out
c dng
75
X L VN BN
cat the Swiss Army Knife
Dng cat son vn bn
Tin ch cat c th dng nh mt chng trnh son tho n gin
Dng cat c vn bn
Thng thng hn cat c dng a vn bn ra stdout. Cc la chn thng
c dng l
-n
nh s mi dng ca output
-b
-A
V d
76
Cc cng c n gin
S dng head hoc tail
Cc tin ch head hoc tail thng c dng phn tich cc logfile. Chng s
xut a ra mc nh 10 dng vn bn. Sau y l cch dng
77
m s dng, s t v byte
Tin ich wc s m s lng cc byte, cc t, v cc dng trong file. Mt vi la
chn cho php chng ta thay i gi tr output ca wc
Cc la chn cho wc
-l
m s dng
-w
m s cc k t hoc t
-c hoc m
m s cc byte hoc k t
Lu :
Nu khng c tham bin, wc s m da trn ni dung c g vo stdin
nh s cc dng
Tin ch nl c tc dng ging nh cat -b
nh s tt c cc dng gm c cc dng trng
78
X l vn bn
Cc cng c sau y thay i b tr vn bn
La chn cc trng (field) v cc k t vi cut
Tin ch cut c th ly ra mt vng cc k t hoc cc trng t mi dng ca
vn bn.
La chn -c c dng x l k t.
C php:
V d:
C php:
79
V d:
Kt ni v dn vn bn
Tin ch n gin nht l paste s ghp hai file bn cnh nhau
C php
C php
Sp xp output
80
nh dng output
Chng ta c th thay i s lng cc k t trong mi dng ca output bng lnh
fmt. Mc nh fmt s lin kt cc dng v a ra 75 k t cho mi dng
Cc la chn fmt
-w
-s
-u
Thay th cc k t
Tin ch tr s thay th mt tp hp cc k t bng tp h k t khc.
[AB] [ab]
<file.txt
Bi tp
1. S dng cat g vn bn sau vo mt file c tn l message
cat >> message
line 1
81
Thc hin tng t nhng dng t kho STOP thay th iu khin kt thc file
(^D)
cat >> message << STOP
line 2
STOP
82
To 50 file trong th mc ny
# ! /bin/bash
count=0
while [ $count -lt 50 ] do
touch /tmp/files/$count.txt
let count+=1
done
83
CI T PHN MM
Gii thiu
Hy bt u cng vi mt on m ngun ngn. V d ny s gip gip chng ta
tm hiu vn m khng cn c kin thc su v ngn ng lp trnh C
Tp main.c:
#include<stdlib.h>
int main(){
Hello();
}
Tp Hello.c:
#include<stdio.h>
void Hello(){
printf(Hi ! \n);
}
Dng lnh trn s to tp chy a.out cng tp i tng Hello.o c link tnh
ti n.
85
to file i tng
Dng lnh trn s to file chy a.out. Tuy nhin nu bn th chy file ny my
tnh s thng bo li di y.
while
loading
open shared object
86
shared
file: No
libraries:
such file or
S dng cng c ldd xem Th vin chia s no mt file chy cn trong thi
gian thc thi.
87
ldd a.out
libfoo.so.1.0 => not found
libc.so.6 => /lib.libc.so.6 (0x40028000)
/lib/ld-linux.so.2
(0x40000000)
=>
/lib/ld-linux.so.2
Ci t ngun
88
t tn package
Rpm c t tn theo cch sau
name-version-release.architecture.rpm
Ch (mode) chnh
Tt
M t
-i
- install
Ci t gi
-U
-update
Cp nht hoc ci t gi
-F
--freshen
-V
--verify
89
--query
Yu cu gi cc gi v cc file ci t/ g
b
-e
--erase
G b gi
Ch th cp
Tt
M t
p dng cho tt c cc gi ci t
verbose
or
rpm ql routed
90
Tu chn
Package File
-qp
Installed Package
-q
File
-qf
Cc Tu chn c bit
--nodeps
--force
--test
--requires
ch ra cc yu cu ca gi
tn-phin_bn-ngy_xut-
bn.src.rpm)
Cc gi nh vy s cha t nht 2 file, tarball cng m ngun v mt spec file.
spec file cha ng ch dn v (patch), dch v xy dng RPM package.Nu
m ngun cn c v trc khi dch th ming v s nm trong package ngun.
91
Cch 1:
Ci t package ngun RPM vi:
rpm ivh name-version-release.src.rpm
Cch 2:
Cch ny cng tng t nh cch th 1 nhng bt u vi lnh n sau y:
92
Cch 3:
Trong mt vi trng hp nh pht trin s phn phi tarball cng vi nhau trong
mt file spec. Nu tarball c gi tn name-version-release.tar.qz bn c
th tm mt file .spec vi lnh sau:
tar tzvf name-version-release.tar.gz | grep .spec
Cng c Alien
Cng c ny s chuyn i packages Debian sang Redhat v ngc li. Bn c
th ti xung ti: http://kitenet.net/programs/
93
Bi tp
Trong cc v d sau ti mt file RPM ngun ( vd. bash-2.05-8.src.rpm vi Redhat
7.2) t www.rpmfind.net
1. Ci t tarball
Bung cc thnh phn ca gi RPM m khng dch bt c file no:
rpm ivh bash-2.05-8.src.rpm
T /usr/src/redhat/SOURCES/bash-2.05-8
patch p1 b <file.patch
94
Tm kim tn ng
x ( hoc bt c k t no)
Cc chui cha ng x
\<KEY
Cc t bt u bng KEY
WORD\>
Cc t kt thc bn WORD
Bt u ca mt dng
Kt thc mt dng
[ Range]
[^c]
Khng phi k t c
\[
K t [
cat*
Tm kim cc k t n
Tm kim tng ng
95
cat+
cat?
H grep
Tnh nng grep h tr biu thc chnh quy regex nh m t bng1.
egrep
Cng c egrep h tr biu thc chnh quy m rng eregex nh m t trong
bng2.
fgrep
fgrep biu din cho grep nhanh v fgrep dch chui gc ( khng c h tr ca
regex hoc eregex)
Lm vic vi grep
C php ca grep:
grep PATTERN FILE
Grep
Main Options
-c
-f
Tm PATTERN t file
-i
-n
ch ra s dng ca file
-v
-w
grep v ^$ /etc/lilo.conf
egrep v fgrrep
Tin ch fgrep khng nhn bit c ng ngha c bit ca mt biu thc chnh
quy. V d
Tin ch egrep s thc hin vi mi biu thc chnh quy mi. N cng c th tm
kim mt vi t kho nu chng c bt u vi dng lnh c chia bi pipes.
V d:
Xo tt c cc dng ch thch :
sed
s/\/dev\/hda1/\/dev\/sdb3/g
MODIF
K t s trong dng lnh biu din cho substitute. K t g biu din cho
globally v p substitution trn mi dng
Nu dng cha ng t kho KEY th thay th : vi ;
sed
/KEY/ s/:/;/g
MODIF
sed
sed
98
1 s/old/new
/keyword/ s/old/new/g
23,25 d
-f
COMMANDS MODIF
Tu chn ca lnh
d Xo mt dng
r c mt file v xut ra file output
s Thay th
w Ghi kt qu ra vo mt file
Bi tp
1. To mt file mi c tn FILE vi ni dung sau:
Using grep,
fgrep and
egrep
99
S dng grep xut ra ch nhng dng lnh khng phi l dng ch thch
Tm kim cc dng cha ng cc t bt u vi a
2. Biu thc chnh quy. Thm cc dng sau vo file trn:
ca
cat
cats
catss
cat+
cat*
cat?
car
carriage
Xem kt qu ca cc lnh sau khi s dng grep, egrep v fgrep:
grep cat+ FILE
grep cat? FILE
grep cat. FILE
grep cat* FILE
100
Cc ch Vi
thc hin cc thao tc phc tp nh l copy/paste, trnh son tho vi c th
thc hin bng nhiu ch khc nhau
Ch dng lnh (Command Mode)
y l ch son tho v nh du thng s dng mt ch ci. V d
dng ch ci j nhy xung dng tip theo
Nh l qui tc ngn tay ci (rule of thumb), nu bn mun thc hin mt
thao tc nhiu ln, bn c th in s ln thc hin trc khi g cu lnh.
V d: dng lnh 10j nhy n 10 dng tip theo.
Ch dng (hoc ct) cui cng
Bn c th s dng ch ny mn hnh dng lnh (command line
mode) bng cch nh du hai chm. Ct s hin th gc bn tri cui
cng ca mn hnh. Trong ch ny, bn c th thc hin cc thao tc
n gin nh tm kim, ghi d liu, thot hoc chy mt cu lnh shell.
Ch chn
Cnh n gin nht thc hin ch ny trong mn hnh dng lnh
(command Mode) l dng ch ci i hoc a. y l ch trc quan nht
v thng c s dng chn vn bn vo mt ti liu.
Phm Esc s thot ch chn v quay tr v mn hnh dng lnh
Cc mc vn bn
Cc mc vn bn nh l t (words) hoc on vn bn (paragraph) c inh
ngha trong ch dng lnh (command mode) cho php son tho cc lnh s
dng trong cc ti liu vn bn m khng cn dng n thit b chut.
T, cu v on (Words, sentences and paragraphs)
101
( reps. )
{ reps. }
u dng
Cui dng
1G
u tp
Cui tp
Chn vn bn
Trong ch dng lnh, i cho php bn chn thm vn bn vo ti liu. Cc c
tnh khc ca trnh son tho vi cng c thc hin tng t nh vy. Bng sau
y s lit k ton b cc c tnh chn vn bn ca vi.
Cc cu lnh chn
a
Chn vn bn vo dng mi
102
Xo vn bn
Nu bn mun xo mt k t n trong ch dng lnh th dng x v xo
dng hin ti th dng dd.
Ch : Gn nh tt c cc cu ln trong vi c th c lp li bng cch g thm
s ln lp li pha trc. Bn cng c th cch ny i vi cc mc vn bn
(nh t, cu, on vn bn, ...) bng cch thay th thc th (entity) sau cu lnh.
Bng 4: Cc t v k t
w
Ch n
K t n
V d:
Xo mt t
dw
Xo vn bn t v tr con tr n cui dng hin ti
d$
Xo vn bn t v tr con tr n cui on hin ti
d}
Bn c th xo cng lc mt mc vn bn ng thi chuyn sang ch chn vi
lnh c. Nh thng l bn c th s dng cu lnh ny vi mt mc vn bn nh
w hoc {.
Copy / Paste
Thao tc copy trong vi l cu lnh y (thay cho yank), v thao tc chn l p.
V d:
103
Tm kim
Do vic tm kim i hi phi khp theo mu do mt ln na chng ta li
cp n cc biu thc chnh qui (regular expressions regex). Nh mt s cng
c thao tc vi vn bn ca UNIX nh grep hoc sed, vi cng tun th cc biu
thc chnh qui ny.
thc hin tm kim, u tin phi chuyn v ch du hai chm. Cu lnh /
s tm kim t v tr hin ti xung cui v cu lnh ? s tm kim theo hng
ngc li.
c th thc hin thao tc tm kim v thay th. C php tng t nh i vi
sed.
V d:
Tm dng bt u t ch ci z
/^z
104
Lm li (Undo)
Chng ta lun c th hu b cc thao tc va thc hin (trong ch dng lnh)
vi cu lnh u, v c th s dng i vi tp khi cha thao tc ghi cha c
thc hin.
Ghi vn bn
Cu lnh ghi d liu l w. Bng cch ny ti liu s mc nh c ghi li. Ngi
dng cng c th xc nh tn cho tp cn ghi. Tng on (portion) vn bn c
th c ghi li sang tp bn bn khc trong khi cc tp vn bn khc ang c
c hoc chn ti ti liu hin thi. V d sau s th hin iu ny.
V d:
Ghi ti liu hin ti ra tp c tn l newfile
:w newfile
l cui ti liu
105
Bi tp
Ti root cp /var/log/messages to /tmp. S dng chc nng tm kim v thay th
ca vi to ra tt c cc dng bt u vi and end with;
G u hu b tt c cc thay i.
Copy /etc/lilo.conf ti /tmp, son tho tp ny v th copy/paste yy/p v
cut/paste vi dd/p
Kim tra kt qu ca :x, ZZ, :quit, :wq, v :q! (cu lnh no s ghi d liu v cu
lnh no khng)
Kim tra th kt qu sau khi s dng mt s ch chn vn bn nh: A, a, O, o,
S v s
La chn: Nu bn ci t gi vim-enhanced th chng trnh vimtutor s cho
thy mt s la chn thng dng ca vi.
106
NHN LINUX
Khi nim nhn
C 2 kiu nhn Linux, l:
A:
H tr module (Modular)
107
Nhn Modular
Rt nhiu thnh phn ca nhn linux c th bin dch nh l cc modules v cc
module ny c th ti vo hoc xa khi cn thit.
Cc module cho nhn linux c lu trong: /lib/modules/<kernel-version>.
Cc thnh phn tt nht module ha l cc thnh phn khng cn cho qu
trnh boot my, v d cc thit b ngoi vi v h thng v h thng file ph.
Cc module ca nhn linux c iu khin bng cc tin ch nm trong gi
modutils
-
lsmod
rmmod
insmod
modprobe
modinfo
108
rm linux
Nhn phin bn 2.2 to ra th mc tn linux ch khng phi linuxversion. Do bc 1 l rt quan trng, ngoi ra c th nghi m ngun c
Ch :
To mt lin kt mm tn l linux t th mc mi va c to
109
ln -s linux-2.4.20 linux
n y, nhn sn sng cho vic cu hnh, nhng chng ta phi chc chn
rng, tt c file nh phn c c xa khi th mc cha m ngun ca
nhn, xa cc file nh phn hy dng lnh make mrproper.
Cu hnh nhn
u tin son tho file Makefile v thit lp bin EXTRAVERSION khc vi
cc phin bn c:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 20
EXTRAVERSION = -test
Thng thng d dng trong vic cu hnh mt nhn mi s dng file .config
c bng cch s dng lnh make oldconfig. Lnh ny s ch nhc ngi dng
nhng c tnh mi trong cy th mc m ngun ca nhn (nu nhn mi hn
hoc nhn c sa cha)..
110
111
make dep
Khi cu hnh nhn xong, cn i chiu li cc chn la trong tt c cc th mc
con trong th mc m ngun ca nhn, bng cch dng lnh make dep. File
.depend cha ng dn ti cc header file nm trong th mc
/usr/src/linux/include, nhng file ny c sinh ra cng vi dep target.
make clean
Lnh make nhn ch th t Makefile v s to (build) nhng th cn thit. Nu
file no c ri th lnh make s s dng chng. C th l nhng file c m
rng l: *.o.
m bo mi la chn cu hnh trong .config c s dng to li cc file,
cn chy lnh make clean ( xa cc file *.o)
Ch : Bn khng cn chy lnh make clean giai on ny nu bn to th
mc ngun bng lnh make mrproper.
Sau hai lnh trn (vi nhng bn nhn 2.6 tr ln, mi dch ln u th khng cn
thit), nhn linux c bin dch bng mt trong hai lnh sau:
make zImage
make bzImage
make modules
112
make dep
make clean
make bzImage
make modules
make modules_install
Ci t mt nhn mi
/usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-<full-kernel-version>
113
image=/boot/vmlinuz
label=linux
root=/dev/hda6
Existing section
read-only
image=/boot/vmlinuz-<full-kernel-version>
label=linux-new
Added section
root=/dev/hda6
read-only
----------snip-------------------------------
cp /usr/src/linux/System.map /boot/System.map-<full-kernel-version>
Phin bn nhn y
Trong mt h thng, phin bn ca nhn ang chy c th c in ra vi cu lnh
uname -r
Phin bn nhn ny cng c th c hin th trn cc terminal o nu tham s
la chn \k c s dng trong /etc/issue.
Khi to Ramdisks
La chn
Bn nn copy file /usr/src/linux/.config vo /boot/config-<full-kernel-version>
Chy li LILO
Cui cng LILO cn phi c chy li cp nht boot loader. Lc u LILO
c th chy ch kim th kim xem c li trong file cu hnh khng.
115
Thc hnh
Trc khi bt u lm nhng bi tp, bn hy kim tra trong th mc /usr/src,
nu c nhn ri th hy xa b v ch n lin kt mm ti th mc
/usr/src/linux
Bi 1: Dch li nhn linux theo cc bc sau y:
1. Download gi kernel-version mi nht t hai trang www.kernel.org v
www.redhat.com.
116
KHI NG LINUX
Tng quan
Hiu bit r hn v tin trnh khi ng s gip chng ta c th g ri khi gp
vn lin quan n phn cng v qun tr h thng.
u tin chng ta tp trung vo vai tr ca chng trnh khi ng v mi lin
quan gia chng trnh khi ng vi file cu hnh /etc/inittab.
117
PID
%CPU
%MEM
VSZ
RSS
TTY
STAT
START TIME
COMMAND
root
0.0
0.2
1368
592
20:17 0:04
init [3]
cups
identd
kadmin
apmd
dhcpd
innd
krb5kdc
mcserv
Nscd
random
smb
xfs
xinetd
kdcrotate kudzu
named
Ntpd
rawdevices
snmpd
keytable
ldap
netfs
pcmcia
rhnsd
squid
atd
gpm
iptables
killall
rwhod
sshd
autofs
halt
irda
kprop
lpd
nfs
pgsql
sendmail
syslog
crond
httpd
isdn
Krb524
marsrv
nfslock
pppoe
single
tux
/sbin/init 2
118
l2:wait:/etc/rc.d/rc 2
inittab
Nh cp trn, chng ta hy xem file /etc/inittab
File s c cu trc nh sau:
119
120
Ch :
1. Bn c th thit lp mt thit b modem nghe (listen) cc kt ni trong
inittab. Nu modem ca bn c kt ni ti /dev/ttyS1 th dng lnh sau
s cho php d liu kt ni (khng d liu fax) sau 2 hi chung:
S1:12345:respawn:/sbin/mgetty -D -x 2 /dev/ttyS1
/sbin/init q
121
root (hd0,0)
initrd /initrd-version.img
boot=/dev/sda
default=1
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.1833_FC4)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.1833_FC4 ro root=/dev/VolGroup01/LogVol00
initrd /initrd-2.6.15-1.1833_FC4.img
title Fedora Core (2.6.15-1.1833_FC4smp)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.1833_FC4smp ro root=/dev/VolGroup01/LogVol00
initrd /initrd-2.6.15-1.1833_FC4smp.img
title Fedora Core (2.6.11-1.1369_FC4smp)
root (hd0,0)
kernel /vmlinuz-2.6.11-1.1369_FC4smp ro root=/dev/VolGroup01/LogVol00
initrd /initrd-2.6.11-1.1369_FC4smp.img
title Fedora Core-up (2.6.11-1.1369_FC4)
root (hd0,0)
kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/VolGroup01/LogVol00
initrd /initrd-2.6.11-1.1369_FC4.img
T khi ng n bash
By gi chng ta s xem xt cc bc trong qu trnh khi ng h thng Linux.
Ramdisk c khi to v np vo b nh tht ti cc module cn thit.
Nhn h thng c ti t a cng (hoc CD) xc nh trong cu hnh ca
GRUB. Trong qu trnh ti ny th nhn s c gii nn.
Nhn h thng s gn (mount) phn vng root (/) theo dng ch c.
Lc ny cc chng trnh cn thit trong /bin v /sbin sn sng c truy cp.
Sau nhn h thng s ti init - tin trnh u tin.
init s c file /etc/inittab v thc hin theo cc ni dung ca n. C th l
rc.sysinit c chy.
Sau , tt c cc khai bo trong /etc/fstab c nh x (mount) v kim tra
(fsck).
Tip theo init s chuyn sang mc thc thi mc nh, cc dch v s c khi
ng. Dch v mc nh rc c u tin thp nht s thi hnh cui cng v gi
file /etc/rc.d/rc.local.
Du nhc ng nhp h thng c qun l bi gettys trong ttys.
123
Thc hnh
Hy xem li ton b ni dung ca phn trnh by trn v hon thnh cc bi tp
sau y:
-
124
useradd rufus
125
C php:
passwd login-name
Lm vic vi nhm
Tt c ngi dng mi c gn vo mt nhm mc nh (hoc nhm chnh primary). Tn ti hai qui c.
Theo cch truyn thng, nhm chnh ny chung cho tt c ngi dng c gi
l nhm users vi ID ca nhm l (GID) 100. Mt s nh cung cp sn phm
Linux nh Suse v Debian cng tun th vi qui c ny.
Theo cch sp sp, nhm ngi dng ring (User Private Group - UPG) ny
c a ra bi RedHat v vic thay i qui c ny s khng lm thay i cch
thc lm vic nhm ca UNIX. Vi UPG, mi ngi dng mi s thuc v nhm
mc nh ca mnh. Nhm c cng tn vi tn ng nhp (mc nh) v GID s
nm trong phm vi t 500 n 60000 (ging vi UIDs).
Lit k tt c ID:
126
id
Lit k tt c cc nhm:
groups
newgrp sales
To mt nhm mi
Cng c groupadd c s dng qun tr cc nhm. Cu lnh ny s thm
mt thc th vo file /etc/group
127
V d: to mt nhm devel
groupadd devel
File cu hnh
File /etc/passwd v /etc/shadow:
Tn ca tt c ngi dng trong h thng c lu gi trong file /etc/passwd c
cu trc nh sau:
1. Tn truy cp
2. Mt khu (hoc x nu s dng file shadow)
3. UID
4. GID
5. on text m t ngi dng
6. Th mc gc ca ngi dng
7. shell ca ngi dng
128
/usr/sbin/pwconv
/usr/sbin/pwunconv
1. Tn nhm
2. Mt khu nhm (hoc x nu file gshadow tn ti)
129
V d /etc/group entry:
java:x:550:jade, eric, rufus
/usr/sbin/grpconv
/usr/sbin/grpunconv
PASS_MIN_DAYS,
PASS_MAX_LEN,
ghi ch (Tn y )
-d
ng dn ti th mc gc
-g
-G
-u
-s
-p
-e
ngy ht hn ca ti khon
-k
th mc skel
-n
tt nhm UPG
gn mt GID
Sa thit lp mc nh v ti khon
Tt c cc la chn trong khi to mt ngi dng hoc nhm c th c thay
i. Tin ch usermod c mt s tham s la chn chnh sau:
th mc ngi dng
-g
-l
-u
-s
shell mc nh
GID
-n
tn nhm
Kho ti khon:
-
M kho
passwd l
passwd u
usermode L
usermod U
132
Cng c chage cho php qun tr h thng thay i cc tham s la chn trn:
Cch dng:
Xo ti khon
Ti khon ngi dng c th c xo bi cu lnh userdel. m bo rng
th mc gc ca ngi dng cng c xo, ta s dng tham s la chn r.
133
userdel -r jade
Thc hnh
1. To ngi dng
S dng useradd to ngi dng c tn l tux vi ID ngi dng l 600
v ID nhm l 550.
S dng usermode thay i th mc gc ca ngi dng
C cn thit phi to mt th mc mi khng?
Ni dung ca /etc/skel c c copy sang th mc mi khng?
Cc ni dung trong th mc gc c vn c th c truy cp bi ngi
dng tux khng?
S dng usermode thm tux vo nhm wheel.
2. Lm vic vi nhm.
To mt nhm c tn l sales vi cu lnh groupadd.
Thm ngi dng tux vo nhm ny bng cu lnh gpasswd.
ng nhp vi tux v tham gia vo nhm sales vi newgrp.
3. File cu hnh.
Thm mt ngi dng vo h thng bng cch son tho /etc/passwd v
/etc/group.
To mt nhm c tn l share v thm ngi dng tux vo nhm ny bng
cch son tho bng tay /etc/group.
4. Thay i ti khon
Thay i tham s ngy ht hn ca ti khon ngi dng tux bng cch s
dng cu lnh usermod.
Kho ti khon ngi dng (S dng cc cng c hoc son tho file
/etc/shadow, ...)
134
135
CU HNH MNG
The Network Interface
Card mng phi c h tr t nhn ca h iu hnh. xc nh nhng card
mng no c th s dng c, bn c th truy vn thng tin qua cu lnh
dmesg, /proc/interrupts, /sbin/lsmod. hoc /etc/modules.conf
V d:
Dmesg
cat /proc/interrupts
0:
8729602
XT-PIC
timer
1:
XT-PIC
keyboard
2:
XT-PIC
7:
XT-PIC
parport0
8:
XT-PIC
rtc
10:
622417
XT-PIC
eth0
11:
XT-PIC
usb-uhci
14:
143040
XT-PIC
ide0
136
cascade
180
XT-PIC
ide1
/sbin/lsmod
Module
tulip
Size
37360
Used by
1 (autoclean)
nameserver 192.168.1.108
nameserver 192.168.1.1
search linuxit.org
137
localhost
localhost.localdomain
# other hosts
192.168.1.108
mesa
192.168.1.119
pico
1.
mesa.domain.org
NETWORKING=yes
HOSTNAME=mesa.domain.org
GATEWAY=192.168.1.1
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.1.255
IPADDR=192.168.1.108
NETWORK=192.168.1.0
ONBOOT=yes
USERCTL=no
138
T ch cu lnh
V d: S dng ifconfig.
/sbin/ifconfig eth0 192.168.10.1 netmask 255.255.128.0
/sbin/ifconfig eth0 down
/sbin/ifconfig eth0 up
/sbin/ifup eth0
/sbin/ifup ppp0
/sbin/ifdown eth0
. S
139
thi
im
khi
ng
card
Ethernet
khi
to
vi
net.ipv4.ip_forward = 1
cho
php
ch
IP
chuyn
(forwarding)
file
/proc/sys/net/ipv4/ip_forward s cha s 1
/etc/rc.d/init.d/network restart
3. Phc hi li DHCP
Cc cng c sau y c th truy vn my ch DHCP cho mt a ch IP mi:
pump
dhcpclient
Mt daemon khch h tr DHCP c gi l dhcpcd (khng nhm ln vi
daemon my ch DHCP l dhcpd).
nh tuyn
Mt iu d nhn thy khc khi s dng ifup l bng nh tuyn ca h thng.
iu ny c th do file etc/sysconfig/network c c, trong khi default
140
/sbin/route -n
Gateway
Genmask
Iface
192.168.1.0
0.0.0.0
255.255.255.0
eth0
10.1.8.0
192.168.1.108
255.0.0.0
eth1
127.0.0.0
0.0.0.0
255.0.0.0
lo
0.0.0.0
192.168.1.1
0.0.0.0
eth0
trnh phi nhp bng tay cc tuyn tnh, cc daemon c bit gated hoc
routed c thc thi cp nht mt cch ng cc bng nh tuyn qua mt
mng.
Nu bn thuc v mng 192.168.10.0 v bn thm vo mt tuyn ti mng
192.168.1.0 th bn c th nhn c kt qu l cc my tnh trong mng va
thm vo l khng c (not responding) bi v khng c tuyn (route) c thit
lp t mng 192.168.1.0 ti my ch ca bn!! Vn ny c th c gii
quyt bng cch s dng nh tuyn ng (dynamic routing)
Cc tuyn tnh c nh
Nu bn c mt s mng vi nhiu hn mt gateway, bn c th s dng
/etc/sysconfig/static-routes (thay cho cc daemon nh tuyn). Cc tuyn ny s
c thm vo ti thi im khi ng bi network script.
Mt kch bn nh tuyn:
142
Cc cng c mng
Sau y l danh sch ngn cc cng c hu ch khi g ri cc kt ni mng:
143
ping host:
ping mt a ch broadcast
-c N
gi N gi tin
-q
netstat:
Cc la chn ca netstat:
-r
ging nh /sbin/route
-I
-n
-p
-v
din gii di
-c
tip tc cp nht
V d: Kt qu ca netstart inet n:
tcp
ESTABLISHED
tcp
ESTABLISHED
0
0
Foreign Address
192.168.1.10:139
192.168.1.10:22
144
State
192.168.1.153:1992
192.168.1.138:1114
0 192.168.1.10:80
192.168.1.71:18858
TIME_WAIT
Address
192.168.1.71
HWtype
ether
HWaddress
Iface
00:04:C1:D7:CA:2D
eth0
traceroute:
Hin th tuyn (route) c ly t mt my ch a phng (local host) ti mt
my ch ch. Traceroute p ngay lp tc cc tuyn (routes) ti cc thng bo li
tr v (send back error message) (ICMP TIME_EXCEEDED) bng cch xem xt
thit lp gi tr tty (time to live) xung mc rt thp (too low).
Sau mi thng bo TIME_EXEEDED, traceroute tng gi tr ca tty, gi gi tin
tip theo i xa hn cho n khi ti c a ch ch ca n.
V d:
CMD:
/usr/sbin/traceroute -n
traceroute: Warning:
using 216.148.218.197
www.redhat.com
www.redhat.com
has
multiple
addresses;
192.168.1.1
0.440 ms
0.347 ms
0.341 ms
145
12.122.2.145
112.116 ms
15
12.122.2.74
16
12.122.255.222
156.867 ms
156.641 ms
156.623 ms
17
216.148.209.66
159.982 ms
157.462 ms
158.537 ms
18
216.148.218.197
156.629 ms
110.908 ms
157.028 ms
157.395 ms
112.002 ms
156.857 ms
156.789 ms
156.080 ms
Cc la chn ca traceroute:
-f ttl
-n
khng gii cc a ch IP
-v
din gii di
-w sec
146
Thc hnh
1. Trong phn kch bn nh tuyn c trnh by trn a ra bng nh tuyn
i vi gateway ca mng LAN.
2. Khi ng giao din mng ca bn bng tay
ifconfig eth0 192.168.0.x
).
147
148
MNG TCP/IP
S nh phn v Dotted Quad
S nh phn
10 = 2
100 = 2
101 = 2 + 1
128
64
32
16
10000000
01000000
00100000
00010000
00001000
00000100
00000010
00000001
Decimal
Binary
192.168.1.1
11000000.10101000.00000001.00000001
16-bit
11111111.11111111.00000000.0
255.255.128.0
17-bit
11111111.11111111.10000000.0
.
.
10000000
00000001
00000001
10000000
00000000
00000011
.
.
10000000
00000001
00000001
10000000
00000000
00000011
a ch mng
Mi mt mng cn c mt s hiu, s hiu cn thit trong vic thit lp b dn
ng (routing). S hiu ca mng l c s nguyn(0-255) phn cch bi du
chm.
150
IP
AND
Netmask
Network
OR
not[Netmask]
IP
AND
MASK
11000000. 10101000.00000011.00000101
(192.168.3.5)
11111111.11111111.11111111.00000000
(255.255.255.000)
AND
_____________________________________________
11000000.10101000.00000011.00000000
a ch Broadcast
IP
OR
(192.168.3.0)
NOT-MASK
11000000. 10101000.00000011.00000101
(192.168.3.5)
00000000.00000000.00000000.11111111
(000.000.000.255)
OR
151
(192.168.3.255)
Lp mng
a ch IP d phng
i vi cc mng ring bit, cc a ch IP c th khng bao gi c s dng
lm a ch IP trn internet. Cc a ch IP d phng ny thng thng ch c
s dng cho cc mng LAN.
Bng sau y s cho thy cc lp a ch ring/ d phng.
Bng1: a ch d phng
1
Class A
10.x.x.x
16
Class B
172.16.x.x -- 172.31.x.x
255
Class C
192.168.o.x
Lp a ch IP
Lp A:
8 bit dng nh a ch mng v 24 bit nh a ch host. Byte u tin d
phng cho a ch mng. V vy subnet mask mc nh s l 255.0.0.0.
Do 255.255.255 and 0.0.0 khng phi l a ch host nn c ti a 224 2 =
16777214 host trn mng. S IP c byte u tin nm trong min t 1 n 127,
tng ng vi s nh phn 00000001 -> 01111111. Hai bit u tin ca lp A c
th thit lp bng 00 hoc 01.
152
Subnets
Subnet l khi nim phn chia mt mng thnh nhiu mng con bng cch dng
cc bit ca phn a ch host nh a ch mng.
V d netmask lp A l 255.0.0.0 c th c dng bin bit u tin ca byte
th 2 tr thnh bit nh a ch mng. Kt qu chng ta c 9 bit nh a chi
mng v 23 bit nh ch host trn mng.
Netmask c dng binary nh sau :
11111111.10000000.00000000.00000000 or 255.128.0.0
25-bit network
Netmask: 11111111.11111111.11111111.10000000 or 255.255.255.128
Network address
Substitute with 1s
Substitute with 0s
Broadcast: 127
Network: 0
128
Broadcast: 255
Network: 128
26-bit network
Netmask: 11111111.11111111.11111111.11000000 or 255.255.255.192
154
Hot ng ca cc giao thc din ra cc tng khc nhau trong tin trnh hot
ng ca mng.
Kt ni cc my(TCP,UDP)
Tng internet(Internet)
Routing(Dn ng):IP,ICMP,IGMP,ARP
155
TCP
ICMP
PPP
State
Service
21/tcp
open
ftp
22/tcp
open
ssh
23/tcp
open
telnet
25/tcp
open
smtp
157
open
gopher
79/tcp
open
finger
80/tcp
open
http
ftp-data
20/tcp
ftp
21/tcp
telnet
23/tcp
smtp
25/tcp
domain
53/tcp
domain
53/udp
http
80/tcp
www
80/tcp
pop-2
109/tcp
# PostOffice V.2
pop-3
110/tcp
# PostOffice V.3
sunrpc
111/tcp
sftp
115/tcp
uucp-path
117/tcp
nntp
119/tcp
ntp
123/tcp
netbios-ns
137/tcp
nbns
netbios-ns
137/udp
nbns
netbios-dgm
138/tcp
nbdgm
netbios-dgm
138/udp
nbdgm
netbios-ssn
139/tcp
nbssn
imap
143/tcp
NeWS
144/tcp
snmp
161/udp
snmp-trap
162/udp
usenet
158
# Window System
Thc hnh
= stream
server
=/usr/sbin/hi
user
= root
wait
= no
disable
= no
159
CC DCH V MNG
Cc dch v mng c th chy ng thi hoc n l nh cc ng dng, chng
lm nhim v lng nghe (listen) cc kt ni v trc tip iu khin cc client
hoc chng cng c th c gi bi cc tin trnh nn mng (network daemon)
inetd hoc xinetd.
tn hp l t /etc/services
socket type
stream
protocol
flag
nowait
i vi
TCP
dgram
i vi
UDP
wait
program
tcpd
argument
thng thng
V d:
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
service-name
port/protocol
[aliases]
161
TCP wrappers
Nu cc chng trnh c bin dch vi libwrap th chng c th c lit k
trong /etc/host.allow v /etc/host.deny. Th vin libwrap s xc nh nhng file
no tng ng vi hosts no.
nh dng mng nh i vi /etc/hosts.{allow,deny}:
DAEMON :
5. /etc/hosts.deny
in.telnetd: ALL : spawn (/usr/sbin/safe_finger l @%h | mail root) &
162
ALL : twist
/dtk/Telnetd.pl
Thit lp NFS
Thit lp pha my trm
i vi cc my trm Linux mun gn (mount) cc file h thng t xa (remote
file system):
1. file h thng nfs phi c h tr bi nhn
2. tin trnh nn portmapper phi ang c chy.
Tin trnh nn portmapper c khi ng bi script /etc/rc.d/init.d/portmap.
Tin ch mount s gn file h thng. Cc u vo thng thng trong /etc/fstab
s l:
nfs-server:/shared/dir
/mnt/nfs
nfs
defaults
0 0
Thit lp pha my ch
Mt my ch NFS cn phi chy portmap trc khi khi ng my ch nfs.
My ch nfs s c khi ng hoc dng vi script /etc/rc.d/init.d/nfs.
File cu hnh chnh l /etc/exports.
V d file /etc/exports:
/usr/local/docs *.local.org(rw, no_root_squash) *(ro)
SMB v NMB
Cc my Linux c th truy cp v cung cp cc ngun ti nguyn chia x ca
Window (th mc v my in). Giao thc c dng lm vic ny l MS
Windows Server Message Block SMB. Trong Linux cng c Samba thng
c s dng h tr cho phn mm khch v ch.
T ca s dng lnh
Tin ch smbclient c s dng lit k tt c ngun ti nguyn c chia x.
Cc th mc t xa (remote directories) thng thng c gn vi smbmount,
tuy nhin mount t smbfs cng c th c s dng.
V d:
164
smbclient
-M win98desk
Gn mt th mc chia s ca my ch winserv
smbmount
//winserver/shared
/mnt/winserver/shared
165
CH
Cc dch v DNS
166
networks:
files
machine
machine.domain
alias
V d: file /etc/hosts
192.168.1.233
io
io.my.domain
61.20.187.42
callisto
callisto.physics.edu
File /etc/resolv.conf
Nu b gii cn s dng mt my ch tn min (DNS) th n s tra cu danh
sch cc my ch hin c ti file /etc/resolv.conf
Cu trc c cp bc
Cc my ch tn (Name servers) u c mt cu trc cp bc (hierachical
structure). Ph thuc vo v tr trong tn min iu kin y (fully qualified
domain name FQDM) m mt tn min c th c gi l mc top level,
mc th hai (second level) hoc mc th ba (third level).
Cc t chc thng mi
edu
Cc t chc gio dc M
gov
Cc t chc chnh ph M
mil
Cc t chc qun s M
net
org
uk
Kiu ca My ch DNS
Cc tn min c th c chia nh hn thnh cc tn min con (subdomain).
iu ny s gii hn tng s thng tin cn qun tr trong mt min. Mi vng
(Zone) s c mt my ch tn min chnh (thng gi l primary DNS) v mt
hoc nhiu my ch tn min ph (thng gi li secondary). Vic qun tr my
ch tn gm c vic cp nht thng tin v mt vng c th. My ch chnh
thng c ra lnh cho vic xc thc.
File cu hnh DNS
Trong phin bn BIND c (trc phin bn BIND 8) file cu hnh l
/etc/named.boot. Vi BIND phin bn 8, file /etc/named.conf c thay th.
Bn c th d dng tin ch named-bootconf.pl chuyn i t file cu hnh c
sang file cu hnh mi.
File /etc/named.boot:
directory
cache
/var/named
.
named.ca
primary myco.org
named.myco
primary 0.0.127.in-addr.arp
named.local
primary 1.168.192.in-addr.arp
named.rev
c thay th bi hint
secondary
c thay th bi slave
primary
c thay th bi master.
zone
{
type hint;
file named.ca;
};
zone myco.org
type master;
file named.myco;
};
zone 1.168.192.in-addr.arp {
type master;
file named.rev;
};
zone 0.0.127.in-addr.arpa {
type master;
file named.local;
};
169
IN
SOA
localhost. root.localhost. (
2001022700 ; Serial
IN
NS
IN
PTR
28800
; Refresh
14400
; Retry
3600000
; Expire
86400 )
; Minimum
localhost.
localhost.
PTR
MX
Tng ng mt a ch IP vi mt my host
CNAME
170
IN
SOA
serial
refresh
retry
expire
minimum
Cu hnh Sendmail
Sendmail l dch v chuyn mail (MTA) ph bin nht trn internet. N s dng
giao thc Simple Mail Transfer Protocol (SMTP) v chy nh mt tin trnh nn
lng nghe cc kt ni ti cng 25.
Script Sendmail c dng dng hoc chy tin trnh nn sendmail thng
thng c t ti th mc /etc/rc.d/init.d/. Cu hnh chnh ca file l
/etc/mail/sendmail.cf (hoc /etc/sendmail.cf) Ti y bn c th xc nh tn
ca my ch cng nh tn ca cc host m t v mail relay c cho
php.
File /etc/aliases cha hai trng sau y:
alias: user
10
My ch Apaches
File cu hnh
File /etc/httpd/conf/httpd.conf cha tt c cc tham s thit lp cu hnh
Cc phin bn trc ca apache c thm hai file ngoi, mt l access.conf trong
s gii hn cc th mc c khai bo v mt file khc l srm.conf xc
nh th mc gc (rot) ca my ch.
Cc cu hnh cn ch :
ServerType standalone/inetd
ServerRoot /etc/httpd
DocumentRoot
/var/www/html
<Directory /var/www/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
172
Chy Apache
chy v dng my ch, u tin bn c th s dng script
/etc/rc.d/init.d/httpd. Trn mt my ch bn (busy server) th nn s dng
apachectl c bit vi la chn graceful s khi ng li my ch chi khi cc
kt ni hin ti c tho thun.
Cc file nht k chnh c lu trong /var/log/httpd/. Cc file ny c th rt hu
ch trong cc l do an ninh. Thng thng chng ta kim tra file error_log v
access_log.
173
Thc hnh
Ci t mt my ch DNS chnh
Nh l mt bi tp, chng ta s ci t gi BIN9 rpm bind9-9.1.3-252.i386.rpm
v cu hnh mt domain c tn l gogo.com.
1. Tin hnh ln lt cc bc sau trong /etc/named.conf:
Copy/Paste cc on sau v sa li nh sau
2. Trong /var/named:
cp 127.0.0.zone
192.168.2.zone
cp local.zone gogo.zone
3. Thay i cc trng tng ng trong file vng mi (zone file). Thm mt host
c tn l harissa.
4. Thm dng nameserver 127.0.0.1 vo /etc/resolv.conf.
5. S dng host gii harissa.gogo.com
Qun tr Apache
Cc cu hnh c bn trong file /etc/httpd/conf/httpd.conf
1. Thay i Port t 80 thnh 8080.
2. Kim tra rng apache tr li vi cu lnh telnet localhost 8080. Bn s nhn
c:
Trying 127.0.0.1...
Connected to localhost.linuxit.org.
174
Ci t mt my in chia s:
[global]
--- snip --printcap name = /etc/printcap
load printers = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
175
176
BASH SCRIPTING
Mi trng bash
Bin
Khi bn g cu lnh ti du nhc ca chng trnh bash shell th n s s dng
bin PATH tm xem bng thc hin (executable) no trong h thng m bn
cn chy. Bn c th kim tra gi tr ca bin path bng cch s dng lnh echo:
echo $PATH
/usr/bin:/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/sbin/:/usr/loca
l/sbin/
Cc file cu hnh
177
bash
bash -login
178
Cc yu t Scripting
File script
Script shell l mt danh sch cc ch dn c lu tr trong mt tp phng (flat
file). Ch c hai ch dn sau l cn thit.
1. Dng u tin ca script phi l #!/bin/bash (i vi script bash)
2. File phi c c th c v chy c (v d i vi quyn 755)
179
hoc
read -p File to display: FILENAME
cat $FILENAME
Cc bin c bit
Cc bin c bit ch c th c tham chiu v c t ng thit lp bi bash.
Sau y l mt s bin c bit thng dng nht:
$*
$#
$0
Tn ca script
$!
$$
$?
$? l 0
$? Khng l 0
S dng [ ]
gii ngha
Test f /bin/bash
[ -f /bin/bash ]
test -x /etc/passwd
[ -x /bin/passwd ]
181
Vng lp
if then loop
C php:
if CONDITION ; then
command1
command2
fi
#!/bin/bash
if [ -x /bin/bash ] ; then
echo The file /bin/bash is executable
fi
182
if CONDITION ; then
command1
command2
else
command3
fi
vng lp while
C php:
Vng lp Until
C php:
183
Vng lp for
C php
case $VARIABLE in
CHOICE command ;;
CHOICE command ;;
esac
S dng select
C php:
184
Lm vic vi s
Trong khi cc x l cc chui k t mt cch lin mch, mt c gng nh khc l
thc hin mt s php ton s hc ht sc c bn.
Cc php ton nh phn
Cng hoc nhn cc s c th c thc hin bng cc s dng c biu thc expr
hoc cu trc $(( ))s.
V d:
expr 7 + 3; expr 2 \* 10; expr 40 / 4; expr 30 11
$((7+3)); $((2*10)); $((40/4)); $((30-11))
Cc gi tr so snh
Cc php ton kim tra:
S
Xu
-lt
<
-gt
>
-le
<=
-ge
>=
-eq
-ne
!=
Thc hnh
185
2. Vit mt script
#!/bin/bash
echo old variable: $TEST
export $TEST=new
echo exported variable: $TEST
186
BO MT
Bo mt a phng
The BIOS
Nu mt ngi no y tm cch truy nhp cc a c bo mt hoc mt a
linux bng cch khi ng t a mm hoc CD ROM th s rt d dng c th
c v truy cp ti by k file no ca h thng. trnh c iu ny BIOS s
c thit lp thit lp ch cho php khi ng t a cng. Khi iu ny c
thc hin thnh cng n s thit lp mt mt khu trong BIOS.
LILO
LILO c th a ra cc tham s la chn khi khi ng. Thng thng mt s h
iu hnh Linux s khng hi mt khu khi khi ng h thng trong ch
single user hoc mc thc thi runlevel 1.
C hai tham s la chn s c thm vo trong /etc/lilo.conf:
Tham s restricted s nhc ngi dng nhp mt khu
Tham s password="", thit lp xu mt khu
187
/tmp
ext2
nosuid
12
/home
/home
ext2
noexec
12
item
core
data
fsize
memlock
nofile
- s lng ti a file c m
cpu
proc
as
maxlogins
priority -
locks
(KB)
189
An ninh mng
Bo mt mng c th c chia ra thnh hai mc chnh nh sau:
V d:
/etc/hosts.deny
ALL:
ALL
EXCEPT
.example.com
/etc/hosts.allow
ALL:
LOCAL 192.168.0.
in.ftpd:
ALL
sshd:
.example.com
Cng vic c hon thnh vi lnh spawn. Bng cch s dng k t %, vic
thay th c th c s dng i vi tn ca host v tn dch v.
V d:
/etc/hosts.deny
ALL:
191
-D
Xo (Delete)
-P
-I
Chn (Insert)
-F
-N
-X
-L
Lit k
Trong d n pht trin nhn Linux 2.4 v d n Netfilter cng s dng tin ch
bng iptables qun l cc lut firewall. im khc bit ln nht gia iptable
v ipchain l iptables h tr cho vic nh gi cc gi tin da trn trng thi ca
chng da theo cc gi tin khc c truyn qua nhn.
Di y l mt v d minh ho tng la theo trng thi gi tin c thc hin.
N l mt on script shell gm mt s dng lnh.
V d:
192
#!/bin/sh
# Variables
IPTABLES="/sbin/iptables"
LAN_IFACE="eth0"
INET_IFACE="eth1"
INET_IP="1.2.3.4"
LOCALHOST_IP="127.0.0.1/32"
LAN_IP="192.168.0.1/32"
LAN_BCAST="192.168.0.0/24"
# Setup IP Masquerading
193
Shell an ton
Xc thc Host
Vi ssh th c host v ngi dng c xc thc. Xc thc host c hon thnh
bng cch s dng cc kho o (swapping key). Kho cng khai v kho ring
ca host thng thng c lu tr trong /etc/ssh nu bn s dng OpenSSH.
Ph thuc vo giao thc c s dng m file kho host s c gi
ssh_host_key i vi Giao thc 1 v ssh_host_rsa_key hoc ssh_host_dsa_key
i vi giao thc 2. Mi kho ny c mt kho cng cng tng ng, v d
ssh_host_key.pub.
Khi mt ssh client kt ni ti mt server th server s cung cp mt kho host
cng khai. on v d di y ngi dng s c thng bo mt s thng s
nh sau:
The authenticity of host 'neptune (10.0.0.8)' can't be established.
RSA
key
fingerprint
8f:29:c2:b8:b5:b2:e3:e7:ec:89:80:b3:db:42:07:f4.
is
CH
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
HostbasedAuthentication no
CheckHostIP yes
IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa
Port 22
Protocol 2,1
Cipher 3des
-w hoc -systohc
-s hoc -hctosys
cng hin ti
S dng NTP
To thi gian ton cu Coordinated Universal Time (UTC) l mt tiu chun
c s dng gi thi gian chun da vo s quay trn ca tri t xung
196
197
Bo mt nhn
C mt s la chn trong nhn Linux. Bao gm c ch ng b cookie
syn_cookie. Trn ngn xp b nh (Stack overflow) c kim sot bi mt
ming v bo mt gi l tng m (openwall) hoc OWL.
tcp_syncookies
kch hot la chn ny bn ch cn thc hin nh sau:
http://www.openwall.com
http://www.kernel.org/pub/linux/kernel/v2.2/
198
Gii nn cc gi.
[root@nasaspc src]#tar xvzf linux-2.2.19.tar.gz
[root@nasaspc src]#tar xvzf linux-2.2.19-owl.tar.gz
[root@nasaspc optional]#pwd
/usr/src/linux-2.2.19-ow1/optional
[root@nasaspc optional]#gcc stacktest.c -o stacktest
[root@nasaspc optional]#stacktest -e
Attempting to simulate a buffer overflow exploit...
Succeeded.
199
200
File nht k quan trng nht l messages ghi li nht k hu ht cc hot ng.
File /etc/syslog.conf
Khi syslogd c khi ng th mc nh n s c file cu hnh
/etc/syslog.conf. u tin cng c th khi ng syslogd vi -f v ng dn
n mt file cu hnh tng ng. File ny s phi cha mt danh sch cc mc,
tip theo l quyn v cui cng l ng dn n file nht k:
item1.priority1 ; item2.priority2
Cc mc cho php l :
auth v authpriv
/path-to-log-file
mail
news
user
uucp
Cc quyn cho php: (t cao n thp)
emerg
alert
crit
err
warning
notice
info
debug
*
none
/var/log/user_activity
/dev/console
/var/log/messages
/var/log/secure
202
/var/log/maillog
/var/log/cron
*.emerg
@10.1.1.254
/var/log/boot.log
#
news.=crit
/var/log/news/news.crit
news.=err
/var/log/news/news.err
news.notice
/var/log/news/news.notice
Cc tin ch nht k
Cu lnh logger
Tin ch u tin ca nht k l cu lnh logger s ghi cc thng ip vo file
/var/log/messages :
Nu bn g cu lnh nh sau:
logger
203
/dev/tty9
Khi ng li syslogd
logger -p local4.notice
logrotate
204
crontab l
205
command
Quyn:
Mc nh, mt ngi dng bt k no c th s dngcrontab. Tuy nhin, bn c
th kim sot kh nng truy cp vi /etc/cron.deny v /etc/cron.allow.
Lp lch vi at
Cc cng vic at c chy bi tin trnh nn atd v c y ra trong
/var/spool/at/
Cu lnh at c s dng lp lch mt cng vic ang tt (off task) vi c
php nh sau
at [time]
206
ls /var/spool/at/
a0000100fd244d
spool
atq
T vic lit k atq chng ta thy rng s cng vic l 1, do c th loi b cng
vic khi hng i nh sau:
at -d 1
Quyn:
Mc nh at s hn ch ngi dng root. ghi , bn phi c mt /etc/at.deny
rng
hoc c /etc/at.allow vi cc tn tng ng.
Sao lu v nn
Chin lc sao lu (Backup strategies)
C ba chin lc sao lu mt h thng l:
y : copy tt c cc file
207
To file nn cn lu tr vi tar
La chn chnh to ra mt file nn cn lu tr vi tar l -c. Bn cng c th
xc nh tn ca archive nh l i s u tin nu s dng c -f.
home.tar
Nn
Tt c cc archives c th dc nn bng nhiu tin ch khc nhau. Cc c sau s
cho php khi to, th nghim (testing) hoc gii nn mt tp cn lu tr:
208
Tham s la
chn tar
Kiu nn
compress
gzip
bzip2.
Tin ch cpio
Tin ch cpio c s dng copy cc file t hoc n cc file nn.
- Gii nn mt file d liu trn tape:
cpio -i < /dev/tape
Ti liu
Trang tr gip Manpages v c s d liu whatis
Trang tr gip c t chc theo cc phn
NAME
SYNOPSYS
c php ca cu lnh
DESCRIPTION
gii thch di
OPTIONS
Cc tham s la chn c th
FILES
SEE ALSO
209
C php ca whatis l:
whatis <string>
V d: (String ph hp s c bi m)
whatis lilo
lilo
(8)
lilo.conf [lilo]
(5)
man -k
lilo
grubby
(8)
lilo
(8)
210
(5)
Phn 2
Cc li gi h thng, v d mkdir(2)
Phn 3
Cc li gi th vin, v d stdio(3)
Phn 4
Phn 5
Phn 6
Cc tr chi
Phn 7
Cc gi Macro
Phn 8
Cc cu lnh qun tr
Phn 9
man crontab
man 5 crontab
Thc hnh
Ghi nht k
1. Thay i file /etc/syslog.conf in ra mt s nht k ti /dev/tty9 (m bo
rng bn khi ng li syslogd v kt qu u ra c chuyn gin tip mt
cch hp l)
2. Thm mt mc (item) local5 vi quyn ti /ect/syslog.conf v t u ra trc
tip ti /dev/tty10. Khi ng li syslogd v s dng logger ghi thng tin
qua local5.
3. c script /etc/rc.d/init.d/syslog v thay i /etc/sysconfig/syslog cho
php cc host t xa gi cc nht k u ra.
Lp lch
4. To mt u vo cron s khi ng xclock theo nh k 2 pht mt ln. Ch
rng cron khng bit cc bin h thng nh PATH v DISPLAY.
5. S dng at. khi ng xclock trong nm phut tip theo.
212
Archiving
6. S dng find lit k tt c cc trng c sa i trong vng 24 gi
gn nht..
(gi : Chuyn tip u ra ca find -mtime 1 ti 1 file)
213
IN N
C hai mc ch trong chng ny l gii thiu cc ccng c in n GNU sn
c trn Linux v hiu r cc file cu hnh i vi my ch in n.
B lc (Filters) v gs
i vi nhng nh dng phi vn bn, h thng Linux v Unix thng s dng
cc b lc. Nhng b lc no s chuyn nhng nh dng JPEG hoc troff vo
nh dng postscript. V nh dng ny c th c gi trc tip n my in
postscript, tuy nhin khng phi tt c my in thng thng c kh nng x l
postscript, mt thit b trung gian "my in postscript o" c tn l gs (ghostscript)
s chuyn i postscript vo PCL.
Bn thng mi ca ghostscript l Aladdin Ghostscript v bn GNU l version c
hn.
Tin ch gs c mt c s d liu ca cc thit b iu khin (driver) cho my in
(danh sch cc thit b iu khin thng xuyn c cp nht, v d rt nhiu
cc my in USB c th dng c), do tin ch ny s x l v chuyn i
postscript trc tip vo PCL cho nhng loi my in bit. Tin ch gs ng vai
tr trung tm trong qu trnh x l in n ca Linux.
My in v hng i in
Nh cp trn cc dng vn bn ascii n gin khng cn x l theo cch
thc ging nh cc file hnh nh hoc postscript. Nu chng ta ch c duy nht
mt my in v v d mun in ra nhng bc th, th chng ta khng cn thit s
dng b lc. Chng ta s nh ngha mt hng i thay th b lc v gip qu
trnh in din ra nhanh hn. Chng ta cng c th nh ngha mt hng i trn
cng mt my in dnh cho vic x l cc file postscript.
214
Cc cng c in n
lpr:
-#num
In num bn copies
-Ppq
Ch nh hng in pq
-s
lpq:
215
lprm:
Xo tt c cng vic c gi i:
lprm -a
lpc:
enable
exit
disable help
down
quit
Commands are:
restart status
start
stop
topq
up
Cc file cu hnh
/etc/printcap
Cc nh ngha chnh l:
lp
mx
sd
th mc ng ng my in
if
b lc u vo
rm
a ch my ch t xa hoc IP
217
tn hng i t xa
/etc/lpd.perms
File ny iu khin cc quyn lin quan n cc tin ch lpc, lpq, v lprm. C
th chng ta c th cung cp cho ngi dng quyn loi b nhng cng vic
hin thi ca h t hng i vi dng lnh sau:
ACCEPT
SERVICE=M
SAMEHOST SAMEUSER
V d v file /etc/lpd.perms:
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
Permissions are checked by the use of 'keys' and matches. For each of
the following LPR activities, the following keys have a value.
Key
SERVICE
USER
HOST
GROUP
IP
PORT
REMOTEUSER
REMOTEHOST
REMOTEGROUP
REMOTEIP
CONTROLLINE
Job
Print
'P'
JUSR
JH
JUSR
JIP
JUSR
JH
JUSR
JIP
CL
218
LPQ
LPRM
LPC
'Q'
JUSR
JH
JUSR
RIP
PORT
JUSR
RH
JUSR
RIP
CL
'M'
JUSR
JH
JUSR
JIP
PORT
CUSR
RH
CUSR
RIP
CL
'C'
JUSR
JH
JUSR
JIP
PORT
CUSR
RH
CUSR
RIP
CL
219
/etc/host.{lpd,equiv}
Nhng file ny c dng bi h thng cc qu trnh in n LRP v c ri ro v
bo mt. Khi thc hin my dch v in, chng ta cn xc nh nhng my ch
no c th truy cp vo my in trong /etc/hosts.lpd. Chng ta cng cn b sung
nhng my ch ny vo /etc/hosts.equiv.
Nhng file ny ngy nay c thay th trong LPRng bng file /etc/lpd.perms
Thc hnh
1. S dng printtool v ti mt hng i cc b c tn l lp.
2. Chnh sa thit b /dev/tty10 nh l thit b my in (nh thc hin chmod 666
/dev/tty10 cho php in n trn thit b ny). By gi bn c mt my in o
trn h thng ca bn!
3. Gi cc cng vic n hng in s dng lpr v pr.
4. Vi cng c in n trn h thng ca bn, hy nh ngha cc hng i t xa
khc nhau
- mt hng i UNIX
- mt hng i SMB
Nu bn ang s dng my ch, chc chn cc cu lnh ph hp trn s c
nh ngha trong /etc/lpd.perms
Trong mi trng hp
220
221