diff --git a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
index 332feed5a1..7f2b48cb89 100644
--- a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
@@ -1,4040 +1,4040 @@
Цагаанхүүгийн
Ганболд
Орчуулсан
Хадгалалт
Ерөнхий агуулга
Энэ бүлэг нь FreeBSD дээр дискнүүдийг ашиглах талаар тайлбарлах болно.
Эдгээрт санах ой дээр тулгуурласан дискнүүд, сүлжээнд залгагдсан дискнүүд,
стандарт SCSI/IDE хадгалалтын төхөөрөмжүүд болон USB интерфэйс
ашигладаг төхөөрөмжүүд багтах юм.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Физик диск (хуваалтууд болон зүсмэлүүд) дээрх өгөгдлийн зохион
байгуулалтыг тайлбарладаг FreeBSD-ийн ашигладаг ухагдахуун.
Өөрийн систем дээр нэмэлт хатуу дискнүүдийг хэрхэн нэмэх талаар.
USB хадгалалтын төхөөрөмжүүдийг ашиглахын тулд &os;-г хэрхэн тохируулах талаар.
Санах ойн диск зэрэг виртуал файлын системүүдийг хэрхэн тохируулах талаар.
Дискний зайн хэрэглээг хязгаарлахын тулд ноогдлыг хэрхэн ашиглах талаар.
Дискийг халдагчдаас хамгаалж нууцлахын тулд хэрхэн шифрлэх талаар.
FreeBSD дээр CD болон DVD-г хэрхэн үүсгэж шарах талаар.
Нөөцлөлтөд зориулсан хадгалалтын төрөл бүрийн тохируулгууд.
FreeBSD дээр байдаг нөөцлөлтийн програмуудыг хэрхэн ашиглах талаар.
Уян диск уруу хэрхэн нөөцлөх талаар.
Файлын системийн хормын хувилбар гэж юу болох түүнийг хэрхэн үр дүнтэйгээр ашиглах талаар.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
Шинэ FreeBSD цөмийг хэрхэн тохируулж суулгах талаар мэдэх
().
Төхөөрөмжийн нэрс
Дараах нь FreeBSD-д дэмжигдсэн физик хадгалалтын төхөөрөмжүүд болон
тэдгээртэй холбоотой төхөөрөмжийн нэрсийн жагсаалт юм.
Физик диск нэрлэх заншил
Хөтчийн төрөл
Хөтчийн төхөөрөмжийн нэр
IDE хатуу хөтчүүд
ad
IDE CDROM хөтчүүд
acd
SCSI хатуу хөтчүүд болон USB Mass хадгалалтын төхөөрөмжүүд
da
SCSI CDROM хөтчүүд
cd
Төрөлжүүлсэн стандарт бус CDROM хөтчүүд
Mitsumi CD-ROM-ийн хувьд mcd ба
Sony CD-ROM хөтчүүдийн хувьд scd
Уян хөтчүүд
fd
SCSI соронзон хальсны хөтчүүд
sa
IDE соронзон хальсны хөтчүүд
ast
Flash хөтчүүд
&diskonchip; Flash хөтчийн хувьд fla
RAID хөтчүүд
&adaptec; AdvancedRAID-н хувьд aacd,
&mylex;-ийн хувьд mlxd ба mlyd,
AMI &megaraid;-ийн хувьд amrd,
Compaq Smart RAID-ийн хувьд idad,
&tm.3ware; RAID-ийн хувьд twed.
Дэйвид
О'Брайн
Анхлан хувь нэмэр болгон оруулсан
Диск нэмэх
дискнүүд
нэмэх нь
Бид шинэ SCSI дискийг одоогоор зөвхөн нэг хөтөчтэй байгаа машин дээр
нэмэхийг хүсэж байна гэж бодъё. Эхлээд компьютераа унтраагаад хөтчийг
компьютер, хянагч болон хөтчийн үйлдвэрлэгчийн заавруудын дагуу суулгана.
Үүнийг хийх маш олон төрлийн процедуруудаас болоод энэ тухай дэлгэрэнгүй
мэдээлэл нь энэ баримтын хамрах хүрээнээс гадна юм.
root хэрэглэгчээр нэвтрэх хэрэгтэй. Та хөтчийг
суулгасны дараа шинэ диск олдсон эсэхийг /var/run/dmesg.boot-с
шалгаарай. Шинээр нэмсэн хөтөч нь da1 байх
бөгөөд бид үүнийг /1 дээр холбохыг хүснэ (хэрэв та IDE хөтөч
нэмж байгаа бол төхөөрөмжийн нэр нь ad1 болно).
хуваалтууд
зүсмэлүүд
fdisk
FreeBSD нь IBM-PC-тэй нийцтэй компьютеруудтай ажилладаг учраас
PC BIOS хуваалтуудыг бодолцох ёстой. Эдгээр нь уламжлалт BSD хуваалтуудаас
өөр юм. PC диск нь дөрөв хүртэлх тооны BSD хуваалттай байдаг. Хэрэв диск
нь жинхэнээрээ FreeBSD-д зориулагдах бол та dedicated буюу
зориулагдсан горимыг ашиглаж болно. Үгүй бол FreeBSD нь
PC BIOS хуваалтуудын аль нэгэн дээр байрлах болно. FreeBSD нь PC BIOS
хуваалтуудыг уламжлалт BSD хуваалтуудтай эндүүрэхгүйн тулд
зүсмэлүүд гэж нэрлэдэг. Та бас FreeBSD-д зориулагдсан
боловч өөр үйлдлийн систем суулгагдсан компьютер дээр ашигласан диск дээрх
зүсмэлүүдийг хэрэглэж болох юм. Энэ нь FreeBSD биш өөр үйлдлийн системийн
fdisk хэрэгсэлтэй андуурахаас хамгаалах нэг сайн
арга юм.
Зүсмэлийн хувьд бол хөтөч нь /dev/da1s1e
гэж нэмэгдэх болно. Үүнийг SCSI диск, нэгжийн дугаар 1 (хоёр дахь SCSI диск),
зүсмэл 1 (PC BIOS хуваалт 1) болон e BSD
хуваалт гэж уншина. Зориулагдсан тохиолдолд хөтөч нь ердөө л /dev/da1e
гэж нэмэгдэнэ.
Секторуудын тоог хадгалахын тулд 32 битийн бүхэл тоог ашигладгаас болоод
&man.bsdlabel.8; нь нэг дискний хувьд 2^32-1 сектор буюу ихэнх тохиолдолд
2TB болж хязгаарлагддаг. &man.fdisk.8; хэлбэршүүлэлт нь 2^32-1-с
ихгүй эхлэх сектор болон 2^32-1-с ихгүй уртыг зөвшөөрч хуваалтуудыг 2TB,
дискнүүдийг ихэнх тохиолдолд 4TB болгож хязгаарладаг. &man.sunlabel.8;
хэлбэршүүлэлт нь нэг хуваалтын хувьд 2^32-1 сектороор, нийтдээ 16TB-ийн
8 хуваалтаар хязгаарлагддаг. Илүү том дискнүүдийн хувьд &man.gpt.8;
хуваалтууд ашиглагдаж болох юм.
&man.sysinstall.8;-г ашиглах нь
sysinstall
дискнүүд нэмэх нь
su
Sysinstall-г жолоодох нь
Та sysinstall-н хялбар ашиглаж болох
цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм.
root хэрэгчээр нэвтрэх буюу эсвэл
su тушаалыг ашиглаарай.
sysinstall-г ажиллуулж
Configure цэс уруу орно.
FreeBSD Configuration Menu дотор
доош шилжиж Fdisk тохируулгыг
сонгоно.
fdisk хуваалт засварлагч
fdisk-ийн дотор байхдаа
- A гэж бичвэл дискийг бүхэлд нь FreeBSD-д
+ A-г дарвал дискийг бүхэлд нь FreeBSD-д
ашиглах болно. Асуух үед нь хэрэв та ирээдүйд суулгаж болзошгүй
үйлдлийн системүүдтэй хамтран ажиллахаар үлдэхийг хүсвэл
- YES гэж хариулаарай. W-г
+ YES гэж хариулаарай. W-г
ашиглан өөрчлөлтүүдийг диск уруу бичнэ. Одоо FDISK засварлагчаас
- q гэж бичин гараарай. Дараа нь танаас
+ Q-г дарж гараарай. Дараа нь танаас
Master Boot Record буюу Мастер Ачаалагч Бичлэгийн
талаар асуух болно. Та ажиллаж байгаа систем дээр диск нэмж байгаа болохоор
None-г сонгох хэрэгтэй.
Дискний Шошго засварлагч
BSD хуваалтууд
Дараа нь sysinstall-с гарч дахин
түүнийг эхлүүлэх хэрэгтэй. Дээрх заавруудыг дагаарай, гэхдээ
энэ удаад Label тохируулгыг сонгоорой.
Энэ нь Disk Label Editor буюу дискний шошго засварлагч
уруу орно. Энд та уламжлалт BSD хуваалтуудыг үүсгэдэг. Диск нь
a-h гэж хаяглагдсан найм хүртэлх хуваалтуудтай
байж болно. Хуваалтын шошгонуудын цөөн хэд нь тусгай хэрэглээтэй байдаг.
a хуваалт нь root хуваалтанд (/)
ашиглагддаг. Тиймээс зөвхөн таны системийн диск (өөрөөр хэлбэл таны
ачаалалт хийсэн диск) a хуваалттай байх
ёстой. b хуваалт нь swap хуваалтуудад
хэрэглэгддэг бөгөөд та swap хуваалттай олон дисктэй байж болох юм.
c хуваалт нь зориулагдсан горимд
бүх дискийг, зүсмэлийн горимд бүхэл FreeBSD зүсмэлийг эсвэл заадаг.
Бусад хуваалтууд нь ерөнхий хэрэглээнд зориулагдсан.
sysinstall-ийн шошго засварлагч нь
root биш, swap биш хуваалтуудад зориулж e
- хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа C
- гэж бичин ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь
+ хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа C-г
+ даран ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь
FS (файлын систем) эсвэл swap байх юм бол FS-г
сонгож холбох цэгийг (өөрөөр хэлбэл /mnt) бичээрэй.
Хэрэв дискийг суулгацын дараах горимд нэмж байгаа бол
sysinstall нь танд зориулж оруулгуудыг
/etc/fstab файлд үүсгэхгүй, тиймээс таны
зааж өгсөн холбох цэг нь чухал биш юм.
Та одоо шинэ шошгыг диск уруу бичиж түүн дээр файлын систем үүсгэхэд
- бэлэн боллоо. Үүнийг W гэж бичин хийнэ.
+ бэлэн боллоо. Үүнийг W-г дарж хийнэ.
sysinstall-ын шинэ хуваалтыг
холбож чадахгүй байна гэсэн алдааг өнгөрүүлэх хэрэгтэй. Шошго засварлагч
болон sysinstall-с бүр мөсөн
гараарай.
Төгсгөл
Хамгийн сүүлийн алхам нь /etc/fstab файлыг
засварлаж өөрийн шинэ дискний оруулгыг нэмэх явдал юм.
Тушаалын мөрийн хэрэгслүүдийг ашиглах нь
Зүсмэлүүдийг ашиглах нь
Энэ тохиргоо нь таны дискийг өөрийн чинь компьютер дээр суулгагдсан
байж болох бусад үйлдлийн системтэй зөв ажиллаж өөр бусад үйлдлийн системийн
fdisk хэрэгслүүдтэй эндүүрэхгүй байх боломжийг
бүрдүүлдэг. Шинэ дискийг суулгахад энэ аргыг ашиглахыг зөвлөдөг.
Хэрэв танд үнэхээр тохирох шалтгаан байгаа тохиолдолд зориулагдсан
горимыг ашиглаарай!
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 #Initialize your new disk
&prompt.root; bsdlabel -B -w da1s1 auto #Label it.
&prompt.root; bsdlabel -e da1s1 # Edit the bsdlabel just created and add any partitions.
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # Repeat this for every partition you created.
&prompt.root; mount /dev/da1s1e /1 # Mount the partition(s)
&prompt.root; vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab.
Хэрэв танд IDE диск байвал da-г
ad гэж солиорой.
Зориулагдсан
OS/2
Хэрэв та шинэ хөтчийг өөр үйлдлийн системтэй цуг хуваалцахгүй бол
зориулагдсан горимыг ашиглаж болох юм. Энэ горим нь
Microsoft үйлдлийн системийн толгойг эргүүлж болохыг санаарай; гэхдээ
тэдгээр нь ямар ч эвдрэл гэмтэл үүсгэхгүй. IBM-ийн &os2; нь харин
олсон бүх ойлгохгүй байгаа ямар ч хуваалтыг хувьдаа завших
болно.
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; bsdlabel -Bw da1 auto
&prompt.root; bsdlabel -e da1 # create the `e' partition
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1
Өөр нэг арга нь:
&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1
RAID
Програм хангамжийн RAID
Кристофер
Шамвэй
Анхлан ажилласан
Жим
Браун
Хянан тохиолдуулсан
RAIDпрограм хангамж
RAIDCCD
Нийлүүлэгдсэн Дискний Драйвер (Concatenated Disk Driver буюу CCD) тохиргоо
Бөөн хадгалалтын шийдлийг сонгохдоо бодолцох хамгийн чухал хүчин зүйлүүд нь
хурд, найдвартай байдал болон өртөг юм. Энэ гурвыг гурвууланг нь тэнцүү байлгах нь
ховор байдаг; ерөнхийдөө хурдан, найдвартай бөөн хадгалалтын төхөөрөмж нь үнэтэй
бөгөөд үнийн хувьд хямдыг сонгох нь хурд эсвэл найдвартай байдлын аль нэгийг золиослох
хэрэгтэй болдог.
Доор тайлбарласан системийг дизайн хийхдээ өртгийг хамгийн чухал хүчин зүйл гэж
сонгож авсан бөгөөд үүний дараа хурд, хурдын дараа найдвартай байдлыг
сонгосон. Энэ системийн өгөгдөл дамжуулах хурд нь эцсийн эцэст сүлжээгээр
шахагддаг. Найдвартай байдал нь маш чухал боловч доор тайлбарласан CCD
хөтөч нь CD-R-ууд дээр аль хэдийн бүтнээрээ нөөцлөгдсөн, амархнаар
солигдож болох өгөгдөлд шууд үйлчилдэг.
Өөрийн шаардлагыг тодорхойлох нь бөөн хадгалалтын шийдлийг сонгох анхны
алхам юм. Хэрэв таны шаардлага нь хурд эсвэл найдвартай байдлыг өртгөөс
илүүтэй үзэж байгаа бол таны шийдэл энэ хэсэгт тайлбарласан шийдлээс
өөр болох болно.
Тоног төхөөрөмжийг суулгах нь
IDE системийн дискнээс гадна гурван Western
Digital 30GB, 5400 RPM IDE диск нь доор тайлбарласан
CCD дискний гол цөм болж нийтдээ ойролцоогоор 90GB
шууд хадгалалт болно. Туйлын хүслээр бол IDE диск бүр өөрийн IDE
хянагч болон кабельтай байна, гэхдээ өртгийг багасгахын
тулд нэмэлт IDE хянагчууд ашиглагдаагүй болно. Харин дискнүүд нь
jumper буюу холбогчоор тохируулагдсан бөгөөд ингэснээр IDE хянагч
бүр нэг мастер болон нэг боолтой байна.
Дахин ачаалах үед системийн BIOS залгагдсан дискнүүдийг автоматаар олохоор
тохируулагдсан байдаг. Илүү чухал зүйл нь FreeBSD тэдгээрийг дахин ачаалахад
олсон явдал юм:
ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33
Хэрэв FreeBSD дискнүүдийг бүгдийг нь олохгүй байгаа бол
та тэдгээрийг зөвөөр холбосон эсэхээ шалгаарай. IDE хөтчүүдийн
ихэнх нь бас Cable Select
холбогчтой байдаг.
Энэ нь мастер/боол харилцаанд зориулагдсан холбогч
биш юм. Хөтчийн баримтаас зөв
холбогчийг таних талаар лавлаарай.
Дараа нь тэдгээрийг файлын системийн хэсэг болгон залгах талаар
бодох хэрэгтэй. Та &man.vinum.8; () болон &man.ccd.4; хоёуланг
судлах хэрэгтэй. Энэ тохиргооны хувьд &man.ccd.4;-г сонгосон.
CCD-г тохируулах нь
&man.ccd.4; хөтөч нь хэд хэдэн адил дискнүүдийг авч тэдгээрийг
нэг логик файл систем болгон нийлүүлэх боломжийг олгодог.
&man.ccd.4;-г ашиглахын тулд танд &man.ccd.4; дэмжлэг
цуг бүтээгдсэн цөм хэрэгтэй. Энэ мөрийг цөмийн тохиргооны файлдаа
нэмээд цөмөө дахин бүтээж суулгаарай:
device ccd
&man.ccd.4; дэмжлэг цөмийн дуудагдах модуль хэлбэрээр
бас дуудагдаж болно.
&man.ccd.4;-г тохируулахын тулд та эхлээд дискнүүдийг
хаяглах &man.bsdlabel.8;-г ашиглах ёстой:
bsdlabel -w ad1 auto
bsdlabel -w ad2 auto
bsdlabel -w ad3 auto
Энэ нь бүх дискний дагуух ad1c, ad2c болон ad3c-д зориулж bsdlabel үүсгэдэг.
Дараагийн алхам нь дискний шошгоны төрлийг өөрчлөх явдал юм.
Та дискнүүдийг засварлахдаа &man.bsdlabel.8;-г ашиглаж
болно:
bsdlabel -e ad1
bsdlabel -e ad2
bsdlabel -e ad3
Энэ нь диск бүр дэх тухайн дискний шошгыг EDITOR
орчны хувьсагчид заасан засварлагчаар, ихэнхдээ &man.vi.1;-ээр
онгойлгодог.
Өөрчлөлт хийгдээгүй дискний шошго иймэрхүү харагдах болно:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
&man.ccd.4;-д зориулж ашиглахаар шинэ e
хуваалтыг нэмнэ. Үүнийг ихэвчлэн c хуваалтаас хуулж
болох боловч нь 4.2BSD
байх ёстой. Дискний шошго одоо иймэрхүү харагдах
ёстой:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
Файлын системийг бүтээх нь
Та бүх дискнүүдээ хаягласны дараа &man.ccd.4;-г бүтээх
ёстой. Үүнийг хийхийн тулд дараах тохируулгуудтай адилаар
&man.ccdconfig.8;-г ашиглана:
ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e
Тохируулга бүрийн хэрэглээ болон утгыг доор харуулав:
Эхний нэмэлт өгөгдөл нь тохируулах төхөөрөмж байх бөгөөд энэ
тохиолдолд /dev/ccd0c байна.
/dev/ хэсэг байхгүй ч байж болно.
Файлын системд зориулсан interleave. interleave нь
дискний блокууд дээрх судлын хэмжээг тодорхойлдог бөгөөд нэг бүр нь
ихэвчлэн 512 байт байдаг. Тэгэхээр 32 interleave нь 16,384 байт
байна.
&man.ccdconfig.8;-д зориулсан тугнууд. Хэрэв та хөтчийг
толин тусгал үүсгэж идэвхжүүлэхийг хүсвэл тугийг энд зааж өгч
болно. Энэ тохиргоо нь &man.ccd.4;-н хувьд толин тусгал
үүсгэлтийг хангадаггүй учир энэ нь 0 (тэг) гэж тохируулагдсан.
&man.ccdconfig.8; уруу өгөгдөх сүүлийн нэмэлт өгөгдлүүд нь
массивт оруулах төхөөрөмжүүд юм. Төхөөрөмж бүрийн хувьд бүрэн
гүйцэд замын нэрийг ашиглах хэрэгтэй.
&man.ccdconfig.8;-г ажиллуулсны дараа &man.ccd.4; тохируулагдана.
Файлын систем суулгагдаж болно. Тохируулгуудын талаар &man.newfs.8;-с
лавлана уу, эсвэл ердөө л ингэж ажиллуулна:
newfs /dev/ccd0c
Бүгдийг автомат болгох нь
Ерөнхийдөө та &man.ccd.4;-г дахин ачаалах бүртээ холбохыг хүснэ.
Үүнийг хийхийн тулд та эхлээд тохируулах хэрэгтэй. Өөрийн одоогийн
тохиргоогоо дараах тушаал ашиглаж /etc/ccd.conf
уруу бичих хэрэгтэй:
ccdconfig -g > /etc/ccd.conf
Дахин ачаалах үед скрипт /etc/rc нь
хэрэв /etc/ccd.conf байвал
ccdconfig -C тушаалыг ажиллуулна.
Энэ нь &man.ccd.4;-г холбож болохоор болгож
автоматаар тохируулна.
Хэрэв та ганц хэрэглэгчийн горим уруу ачаалж байгаа бол
&man.ccd.4;-г &man.mount.8; хийхээсээ өмнө массивыг
тохируулахын тулд дараах тушаалыг ажиллуулах
шаардлагатай:
ccdconfig -C
&man.ccd.4;-г автоматаар холбохын тулд &man.ccd.4;-н оруулгыг
/etc/fstab файлд байрлуулах хэрэгтэй. Ингэсэн
тохиолдолд энэ нь ачаалах үед холбогдох болно:
/dev/ccd0c /media ufs rw 2 2
Vinum Эзлэхүүн Менежер
RAIDпрограм хангамж
RAID
Vinum
Vinum Эзлэхүүн Менежер нь виртуал диск хөтчийг хийдэг блок төхөөрөмжийн драйвер
юм. Энэ нь дискний тоног төхөөрөмжийг блок төхөөрөмжийн интерфэйсээс
тусгаарлаж уян хатан байдал, ажиллагаа болон найдвартай байдлыг дискний
хадгалалтын уламжлалт зүсмэлийн харагдалтаас илүүтэйгээр хангах тийм аргаар
өгөгдлийг дүрсэлдэг. &man.vinum.8; нь RAID-0, RAID-1 болон RAID-5
загваруудыг тус бүрт нь болон холбоотой байдлаар нь шийддэг.
&man.vinum.8;-ийн талаар дэлгэрэнгүй мэдээллийг
-с үзнэ үү.
Тоног төхөөрөмжийн RAID
RAID
тоног төхөөрөмж
FreeBSD нь бас төрөл бүрийн тоног төхөөрөмжийн RAID
хянагчуудыг дэмждэг. Эдгээр төхөөрөмжүүд нь FreeBSD-д зориулсан тусгай програм
хангамжаар массивыг удирдах шаардлагагүйгээр RAID дэд
системийг хянадаг.
Карт дээрх BIOS-г ашиглан карт нь дискний үйлдлүүдийн
ихэнхийг өөрөө хянадаг. Дараах нь Promise IDE RAID
хянагчийг ашиглах тохиргооны товч тайлбар юм. Энэ карт суулгагдаж систем эхлэх үед
мэдээллийг хүсэх мөрийг харуулна. Картны тохиргооны дэлгэц уруу орохын тулд
заавруудыг дагана. Эндээс залгагдсан бүх хөтчүүдийг нэгтгэх боломж танд байх
болно. Ингэж хийснийхээ дараа диск(нүүд) нь FreeBSD-д нэг хөтөч шиг харагдах
болно. Бусад RAID түвшингүүдийг бас
тохируулж болно.
ATA RAID1 массивуудыг дахин бүтээх нь
FreeBSD нь массив дахь гэмтсэн, ажиллагаагүй болсон дискийг шууд солих боломжийг
олгодог. Энэ нь дахин ачаалахаасаа өмнө таныг ийм асуудлыг мэдэхийг шаарддаг.
Та магадгүй доор дурдсантай адилыг /var/log/messages эсвэл
&man.dmesg.8; гаралт дээр харж болох юм:
ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
status=59 error=40
ar0: WARNING - mirror lost
&man.atacontrol.8; ашиглан дэлгэрэнгүй мэдээллийг шалгана:
&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
Та дискийг аюулгүйгээр салган авахын тулд эхлээд ata сувгийг
ажиллахгүй байгаа дисктэй цуг салгана:
&prompt.root; atacontrol detach ata3
Дискийг сольно.
ata сувгийг дахин залгана:
&prompt.root; atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
Шинэ дискийг массивт нөөц маягаар нэмнэ:
&prompt.root; atacontrol addspare ar0 ad6
Массивыг дахин бүтээнэ:
&prompt.root; atacontrol rebuild ar0
Дараах тушаалыг ашиглаж үйл явцыг шалгаж болно:
&prompt.root; dmesg | tail -10
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed
Энэ үйлдэл хийгдэж дуустал хүлээх хэрэгтэй.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
USB хадгалалтын төхөөрөмжүүд
USB
дискнүүд
Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд
Universal Serial Bus (USB): хатуу хөтчүүд, USB хуруун хөтчүүд,
CD-R шарагчид зэргийг ашигладаг. &os; нь эдгээр төхөөрөмжүүдийн
дэмжлэгийг хангадаг.
Тохиргоо
USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер &man.umass.4; нь
USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та
GENERIC цөм ашиглавал өөрийн тохиргоондоо юу
ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол
таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг
шалгаарай:
device scbus
device da
device pass
device uhci
device ohci
device usb
device umass
&man.umass.4; драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын
тулд SCSI дэд системийг хэрэглэдэг бөгөөд таны USB төхөөрөмж системд
SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил
схемээс хамаарч танд зөвхөн device
uhci эсвэл device ohci хоёрын аль нэг
хэрэгтэй болно, гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм.
Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий
мартаарай.
Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол
SCSI CD-ROM драйвер &man.cd.4;-г цөмд дараах мөрийн тусламжтай
нэмэх ёстой:
device cd
Шарагч нь SCSI хөтөч гэж харагддаг учир &man.atapicam.4;
драйверийг цөмийн тохиргоонд ашиглах ёсгүй.
USB 2.0 хянагчуудын дэмжлэг &os;-д байдаг; гэхдээ та дараах
мөрийг:
device ehci
өөрийн тохиргооны файлдаа USB 2.0 дэмжлэгт зориулж нэмэх ёстой.
Хэрэв танд USB 1.X дэмжлэг хэрэгтэй бол &man.uhci.4; болон &man.ohci.4;
драйверууд нь хэрэгтэй хэвээр болохыг санаарай.
Тохиргоог тест хийх нь
Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад
системийн мэдэгдлийн буферт (&man.dmesg.8;) хөтөч нь иймэрхүү
харагдах ёстой:
umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (da0)
болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно.
USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор
camcontrol тушаалыг ашиглаж системд холбогдсон
USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно:
&prompt.root; camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна.
хэсэг нь хэрэв шаардлагатай бол
USB хөтчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах
болно.
Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд
тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж
холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх
хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг
operator бүлгийн гишүүн болгох явдал
юм. Үүнийг &man.pw.8;-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь
үүсэх үед operator бүлэг тэдгээрийг
уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг
/etc/devfs.rules файлд
нэмснээр үүнийг хийж болно:
[localrules=1]
add path 'da*' mode 0660 group operator
Хэрэв системд SCSI дискнүүд байгаа бол үүнийг арай өөрөөр хийх
ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн da0-ээс
da2 хүртэлх холбогдсон дискнүүдийг
агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй:
add path 'da[3-9]*' mode 0660 group operator
Энэ нь байгаа дискнүүдийг operator
бүлэгт хамааруулахгүй болгоно.
Та бас өөрийн &man.devfs.rules.5; дүрмийн олонлогийг
/etc/rc.conf файлд идэвхжүүлэх
хэрэгтэй:
devfs_system_ruleset="localrules"
Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор
тохируулагдах ёстой. Хамгийн хялбар арга бол /etc/sysctl.conf-д
мөр нэмэх явдал юм:
vfs.usermount=1
Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай.
Өөрөөр энэ хувьсагчийг тохируулахын тулд &man.sysctl.8;-г ашиглаж
болох юм.
Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм.
Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй.
Үүнийг хийх нэг арга нь root-ийн хувьд
тэр хэрэглэгчийн эзэмшсэн дэд санг
/mnt/$USER
($USER-г тухайн хэрэглэгчийнхээ нэвтрэх
нэрээр солиорой) гэж үүсгэх явдал юм:
&prompt.root; mkdir /mnt/$USER
&prompt.root; chown $USER:$USER /mnt/$USER
USB хуруун хөтөч залгагдаж /dev/da0s1 төхөөрөмж
гарч иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр
хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож
болно:
&prompt.user; mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/
$USER
Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой)
та системийн мэдэгдлийн буфераас доор дурдсантай төстэй мэдэгдлийг
харах ёстой:
umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached
Нэмэлт унших материалууд
Диск нэмэх болон
Файлын системүүдийг холбох болон салгах
хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй
байж болох юм: &man.umass.4;, &man.camcontrol.8;,
болон &man.usbdevs.8;.
Майк
Мэйэр
Хувь нэмэр болгон оруулсан
Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь
CDROM-ууд
үүсгэх нь
Танилцуулга
CD-үүд нь тэдгээрийг ердийн дискнүүдээс ялгах хэд хэдэн боломжуудтай
байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь
замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар
хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг
систем хооронд зөөх нь хамаагүй хялбар байдаг.
CD-үүд нь замтай байдаг боловч энэ нь дискний физик хэсэг биш харин
үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ
CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD
уруу бичнэ.
ISO 9660
файлын системүүд
ISO 9660
ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн.
Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь
кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг
зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй
ажиллаж чадсан хэвээр байдаг.
sysutils/cdrtools
sysutils/cdrtools
портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм
&man.mkisofs.8; байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг
тохируулгуудтай бөгөөд доор тайлбарлагдсан болно.
CD шарагч
ATAPI
CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү
гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн burncd програмыг ашигладаг.
SCSI болон USB CD шарагчид нь sysutils/cdrtools
портын cdrecord-г
ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтчүүдийн хувьд
ATAPI/CAM модул ашиглан
cdrecord-г
хэрэглэх боломжтой байдаг.
Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг
хүсэж байгаа бол X-CD-Roast эсвэл
K3b-г үзээрэй. Эдгээр хэрэгслүүд нь
багц хэлбэрээр эсвэл sysutils/xcdroast болон sysutils/k3b портуудад байдаг.
X-CD-Roast болон
K3b нь ATAPI тоног төхөөрөмж дээр
ATAPI/CAM модулийг шаарддаг.
mkisofs
sysutils/cdrtools портын
хэсэг &man.mkisofs.8; програм нь &unix;-ийн файлын системийн нэрийн талбар
дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг.
Хамгийн хялбар хэрэглээ нь:
&prompt.root; mkisofs -o imagefile.iso /path/to/tree
файлын системүүд
ISO 9660
Энэ тушаал нь /path/to/tree дахь
модны хуулбар ISO 9660 файлын системийг агуулах
imagefile.iso файлыг үүсгэх болно.
Энэ процессод файлын нэрсийг ISO 9660 файлын системийн стандартын
хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд
байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно.
файлын системүүд
HFS
файлын системүүд
Joliet
Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн тохируулгууд байдаг.
Ялангуяа тохируулга &unix; системүүдэд
нийтлэг байдаг Rock Ridge өргөтгөлүүдийг идэвхжүүлдэг,
нь Microsoft системүүдэд хэрэглэгддэг Joilet өргөтгөлүүдийг идэвхжүүлдэг
бөгөөд нь &macos;-д хэрэглэгддэг HFS файлын
системүүдийг үүсгэхэд ашиглагддаг.
Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн хувьд
тохируулга бүх файлын нэрийн хязгаарлалтуудыг хаахад ашиглагдаж болно.
тохируулгатай хэрэглэгдэх үед энэ нь таны эхэлсэн
FreeBSD-ийн модтой ижил файлын системийн дүрсийг үүсгэдэг, гэхдээ энэ нь
ISO 9660 стандартыг хэд хэдэн замаар зөрчиж болох юм.
CDROM-ууд
ачаалагддаг үүсгэх
Ердийн хэрэглээний сүүлийн тохируулга нь юм.
Энэ нь ачаалагдах El Torito
CD-г үүсгэхэд хэрэглэгдэх
ачаалагдах дүрсний байрлалыг заахад ашиглагддаг. Энэ тохируулга нь
CD уруу бичигдэх модны дээд хэсгийн ачаалагдах дүрс хүрэх замыг заах
нэмэлт өгөгдлийг авдаг. Анхдагчаар &man.mkisofs.8; нь
floppy disk emulation буюу уян дискний эмуляц
гэж
нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд ачаалагдах дүрсийг яг
1200, 1440, эсвэл 2880 KB хэмжээтэй байна гэж тооцдог.
FreeBSD түгээлтийн дискнүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг зарим
ачаалагч дуудагчид нь эмуляц горимыг ашигладаггүй; энэ тохиолдолд
тохируулгыг ашиглах шаардлагатай.
Тэгэхээр хэрэв /tmp/myboot нь ачаалагдах
FreeBSD системийг /tmp/myboot/boot/cdboot
дэх ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660 файлын системийн
дүрсийг /tmp/bootable.iso-д иймэрхүү
маягаар үүсгэж болох юм:
&prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
Үүнийг хийснийхээ дараа хэрэв та цөмдөө md-г
тохируулсан бол файлын системийг ингэж холбож болно:
&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mnt
Энэ үед та /mnt болон
/tmp/myboot нь ижил болохыг шалгаж болно.
&man.mkisofs.8;-ийн ажиллагааг нарийн тааруулахын тулд та түүний
бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал
болон Joilet ба HFS дискнүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно.
Дэлгэрэнгүйг &man.mkisofs.8;-ийн гарын авлагын хуудаснаас үзнэ үү.
burncd
CDROM-ууд
шарах
Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа
burncd тушаалыг ашиглаж болно.
burncd нь үндсэн системийн хэсэг бөгөөд
/usr/sbin/burncd гэж суулгагдсан байдаг. Энэ нь
цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг:
&prompt.root; burncd -f cddevice data imagefile.iso fixate
Дээрх тушаал нь imagefile.iso-н
хуулбарыг cddevice уруу шарах болно.
Анхдагч төхөөрөмж нь /dev/acd0 юм.
Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах
тохируулгуудын талаар &man.burncd.8;-с үзнэ үү.
cdrecord
Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын
тулд cdrecord-г ашиглах шаардлагатай.
cdrecord нь үндсэн системд байдаггүй; та үүнийг
sysutils/cdrtools дахь
портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн
өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй
асуудалд (coaster)
хүргэж болох юм.
Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв
та -STABLE салбарыг дагаж байгаа бол
портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй.
cdrecord нь олон тохируулгатай байдаг боловч
үндсэн хэрэглээ нь burncd-с бүр илүү хялбар байдаг.
ISO 9660 дүрсийг шарахдаа:
&prompt.root; cdrecord dev=device imagefile.iso
cdrecord-г хэрэглэхэд гардаг нэг заль нь
тохируулгыг олох явдал юм. Зөв тохиргоог олохын
тулд cdrecord-ийн
тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь иймэрхүү үр дүнд хүргэж болох юм:
CDROM-ууд
шарах
&prompt.root; cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *
Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд тохирох утгыг
жагсаадаг. Өөрийн CD шарагчийг олохын тулд тохируулгын
утгад гурван дугаарыг таслалаар тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW төхөөрөмж
нь 1,5,0, байх бөгөөд тохирох оролт нь болно.
Энэ утгыг заах амархан аргууд байдаг; дэлгэрэнгүйг &man.cdrecord.1;-с үзнэ үү.
Мөн тэндээс аудио замуудыг бичих, хурдыг хянах болон бусад зүйлүүдийн тухай
мэдээллийг үзэж болно.
Аудио CD-үүдийг хувилах
Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр
файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон
SCSI хөтчүүдийн хувьд нэлээн өөр байдаг.
SCSI хөтчүүд
Аудиог cdda2wav ашиглан задлана.
&prompt.user; cdda2wav -v255 -D2,0 -B -Owav
cdrecord ашиглан .wav
файлуудыг бичнэ.
&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav
хэсэгт тайлбарласны дагуу
2,0 гэж зөв заагдсан эсэхийг
шалгаарай.
ATAPI хөтчүүд
ATAPI CD драйвер нь зам бүрийг
/dev/acddtnn
маягаар болгодог бөгөөд d нь хөтчийн
дугаар ба nn нь шаардлагатай бол урдаа 0 тавьж
хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх
эхний зам нь /dev/acd0t01, хоёр дахь нь
/dev/acd0t02, гурав дахь нь
/dev/acd0t03 гэх мэтчилэн байна.
Тохирох файлууд /dev санд байгаа эсэхийг
шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг
дахин үзэхээр системийг хүчлэх хэрэгтэй:
&prompt.root; dd if=/dev/acd0 of=/dev/null count=1
Зам бүрийг &man.dd.1; ашиглан задална. Файлуудыг задлахдаа
та тусгай блокийн хэмжээг бас ашиглах ёстой.
&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Задалсан файлуудаа диск уруу burncd ашиглан
шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд
burncd нь дуусахдаа дискийг бэхжүүлэх
ёстой.
&prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
Өгөгдлийн CD-үүдийг хувилах
Та өгөгдлийн CD-г &man.mkisofs.8;-р үүсгэсэн дүрс файлтай
ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг
ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь
таны CDROM төхөөрөмжийг acd0 гэж
үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой.
&prompt.root; dd if=/dev/acd0 of=file.iso bs=2048
Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны
дагуу шарж болно.
Өгөгдлийн CD-үүдийг ашиглах
Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг
холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар
&man.mount.8; нь файлын системийг ufs
төрлийнх гэж үздэг. Хэрэв та доорх шиг оролдвол:
&prompt.root; mount /dev/cd0 /mnt
Incorrect super block гэж
гомдоллохыг та харах бөгөөд холболт хийгдэхгүй байх болно. CDROM нь
UFS файлын систем биш, тэгэхээр ингэж
холбохыг оролдох нь амжилтгүй болох болно. Та &man.mount.8;-д
файлын системийн төрөл нь ISO9660 гэж
зааж өгөхөд л бүгд ажиллах болно. Та
тохируулгыг &man.mount.8;-д өгч үүнийг хийнэ. Жишээ нь хэрэв та
CDROM төхөөрөмж /dev/cd0-г
/mnt-д холбохыг хүсвэл дараах тушаалыг
ажиллуулах болно:
&prompt.root; mount -t cd9660 /dev/cd0 /mnt
Таны төхөөрөмжийн нэр (энэ жишээн дээр /dev/cd0)
таны CDROM ямар интерфэйс ашиглаж байгаагаас хамааран өөр байж болох юм.
Мөн тохируулга нь ердөө л
&man.mount.cd9660.8;-г ажиллуулдаг. Дээрх жишээг ингэж богиносгож
болно:
&prompt.root; mount_cd9660 /dev/cd0 /mnt
Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн өгөгдлийн CDROM-уудыг
ашиглаж болно. Гэхдээ зарим нэг ISO 9660 өргөтгөлүүдтэй дискнүүд хачин ажиллаж
болох юм. Жишээ нь Joilet дискнүүд нь бүх файлын нэрсийг хоёр байт Юникод
тэмдэгтээр хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй, гэхдээ
&os;-ийн CD9660 драйвер Юникод тэмдэгтүүдийг шууд хувиргаж чаддаг.
Хэрэв зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг хэлбэрээр харагдвал
та ашиглаж байгаа локал тэмдэгтийн олонлогоо
тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг
&man.mount.cd9660.8; гарын авлагын хуудаснаас лавлана уу.
Энэ тэмдэгтийн хувиргалтыг тохируулгын
тусламжтай хийхийн тулд цөм cd9660_iconv.ko
модулийг дуудсан байхыг шаардах болно. Энэ мөрийг
loader.conf файлд нэмж үүнийг:
cd9660_iconv_load="YES"
гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг &man.kldload.8;-н
тусламжтай дуудан хийж болох юм.
Хааяа таныг CDROM-г холбохыг оролдох үед Device not
configured гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ
CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus)
харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь
хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай.
Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас
заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той
бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж
өөрийн цөмийг дахин бүтээнэ үү.
options SCSI_DELAY=15000
Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд
ингэснээр шугамын дахин тогтоолтод таны CDROM хөтчөөр хариу өгүүлэхийн тулд
бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм.
Түүхий өгөгдлийн CD-үүдийг шарах
Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд
шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг.
Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг:
&prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн
цэгээс өгөгдлийг унших ёстой:
&prompt.root; tar xzvf /dev/acd1
Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй.
Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй.
Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө
хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу &man.mkisofs.8;-г
ашиглах ёстой.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
CD шарагч
ATAPI/CAM драйвер
ATAPI/CAM драйверийг ашиглах
Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD
хөтчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох
бөгөөд ингэснээр sysutils/cdrdao
эсвэл &man.cdrecord.1; зэрэг програмуудыг ашиглах боломжийг
олгодог.
Энэ драйверыг ашиглахын тулд та дараах мөрийг
/boot/loader.conf файл уруу нэмэх хэрэгтэй
болно:
atapicam_load="YES"
тэгээд өөрийн машинаа дахин ачаална.
Хэрэв та өөрийн цөмдөө &man.atapicam.4; дэмжлэгийг статикаар
эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа
нэмэх хэрэгтэй болно:
device atapicam
Мөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх
хэрэгтэй болно:
device ata
device scbus
device cd
device pass
Эдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд
өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй.
Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч
ирэх ёстой:
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Одоо хөтчид /dev/cd0 төхөрөөмжийн нэрийг
ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г /mnt-д холбохдоо
дараах тушаалыг бичих хэрэгтэй:
&prompt.root; mount -t cd9660 /dev/cd0 /mnt
root хэрэглэгчээр дараах тушаалыг ажиллуулж
та шарагчийн SCSI хаягийг авч болно:
&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
Тэгэхээр 1,0,0 нь &man.cdrecord.1;
болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм.
ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг
&man.atapicam.4; болон &man.cam.4; гарын авлагын хуудаснуудаас
лавлана уу.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
Энди
Поляков
Зарим зүйл оруулсан
Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь
DVD
шарах нь
Танилцуулга
CD-тэй харьцуулахад DVD нь оптик зөөвөрлөгч хадгалалтын технологийн
дараачийн үе юм. DVD нь ямар ч CD-ээс илүү өгөгдлийг агуулдаг бөгөөд
одоогийн видео хэвлэлтийн стандарт болжээ.
Бичигддэг DVD гэж бидний нэрлэдэг DVD-үүдийн физик 5 бичигддэг
хэлбэршүүлэлтийг тодорхойлж болно:
DVD-R: Энэ нь бичигддэг DVD-ий анхны хэлбэршүүлэлт юм.
DVD-R стандарт нь DVD хэлэлцүүлгээр
тодорхойлогдсон бөгөөд энэ нь зөвхөн нэг удаа
бичих хэлбэршүүлэлт юм.
DVD-RW: Энэ нь DVD-R стандартын дахин бичигдэх хувилбар юм.
DVD-RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.
DVD-RAM: Энэ нь DVD хэлэлцүүлгийн дэмждэг бас дахин бичигддэг
хэлбэршүүлэлт юм. DVD-RAM нь зөөгдөж болох хатуу хөтөч маягаар
харагддаг. Гэхдээ энэ зөөвөрлөгч нь ихэнх DVD-ROM хөтчүүд болон
DVD-Видео тоглуулагчуудтай нийцтэй биш байдаг; цөөн DVD бичигчид
DVD-RAM хэлбэршүүлэлтийг дэмждэг. DVD-RAM-ийн хэрэглээний талаар
илүү дэлгэрэнгүйг -с
уншина уу.
DVD+RW: Энэ нь DVD+RW
холбооноос тодорхойлсон дахин бичигдэх хэлбэршүүлэлт юм.
DVD+RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.
DVD+R: Энэ хэлбэршүүлэлт нь DVD+RW хэлбэршүүлэлтийн нэг удаа бичих
хувилбар юм.
Бичигддэг DVD-ий нэг давхарга нь 4,700,000,000 байт буюу
4.38 GB эсвэл 4485 MB (1 килобайт нь 1024 байт)
хүртэлх мэдээлэл агуулж чадна.
Физик зөөвөрлөгч болон програмыг ялгаж ойлгох ёстой. Жишээ нь
DVD-Видео нь дурын бичигддэг DVD физик зөөвөрлөгч DVD-R, DVD+R, DVD-RW гэх зэрэг
уруу бичигдэж болох тусгай байршлын зураглал юм. Зөөвөрлөгчийн төрлийг сонгохын өмнө
шарагч болон DVD-Видео тоглуулагч (дан тоглуулагч эсвэл компьютер дээрх DVD-ROM хөтөч)
нь хэрэглэхээр төлөвлөж байгаа зөөвөрлөгчтэй нийцтэй эсэхийг шалгах хэрэгтэй.
Тохиргоо
DVD бичлэг хийхэд &man.growisofs.1; програм ашиглагдана.
Энэ тушаал нь dvd+rw-tools хэрэгслүүдийн (sysutils/dvd+rw-tools) нэг хэсэг
юм. dvd+rw-tools нь DVD зөөвөрлөгчийн
бүх төрлийг дэмждэг.
Эдгээр хэрэгслүүд нь төхөөрөмжүүд уруу хандахын тулд SCSI дэд системийг
ашигладаг, тиймээс таны цөмд ATAPI/CAM
дэмжлэг нэмэгдсэн байх ёстой. Хэрэв таны шарагч USB интерфэйс ашигладаг
бол энэ нэмэлт нь хэрэггүй бөгөөд та USB төхөөрөмжүүдийн тохиргооны талаар илүү
дэлгэрэнгүйг -с унших шаардлагатай.
Та мөн ATAPI төхөөрөмжүүдийн хувьд DMA хандалтыг идэвхжүүлэх ёстой бөгөөд
дараах мөрийг /boot/loader.conf файлд
нэмж үүнийг хийнэ:
hw.ata.atapi_dma="1"
dvd+rw-tools-г ашиглахаасаа өмнө
өөрийн DVD шарагчтай холбоотой мэдээллийг dvd+rw-tools'
тоног төхөөрөмжийн нийцтэй байдал хаягаас лавлах хэрэгтэй.
Хэрэв та график хэрэглэгчийн интерфэйсийг хүсэж байвал
&man.growisofs.1; болон бусад олон шарагч хэрэгслүүдийг
хэрэглэгчид ашиглахад амар интерфэйсээр хангадаг
K3b (sysutils/k3b) програмыг
үзэх хэрэгтэй.
Өгөгдлийн DVD-үүдийг шарах нь
&man.growisofs.1; тушаал нь mkisofs-ийн нүүр хэсэг юм, энэ нь
шинэ файлын системийн байршлыг үүсгэхийн тулд &man.mkisofs.8;-г
дуудах бөгөөд DVD дээр бичих үйлдлийг гүйцэтгэнэ. Энэ нь та шарах
процессоос өмнө өгөгдлийн дүрсийг үүсгэх хэрэггүй гэсэн үг юм.
DVD+R эсвэл DVD-R уруу өгөгдлийг /path/to/data сангаас шарахдаа
дараах тушаалыг ашиглана:
&prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
Файлын системийг үүсгэхдээ тохируулгуудыг
&man.mkisofs.8;-д дамжуулдаг (энэ тохиолдолд Joilet болон Rock Ridge
өргөтгөлүүдтэй ISO 9660 файлын систем). Дэлгэрэнгүйг &man.mkisofs.8;
гарын авлагын хуудаснаас лавлана уу.
тохируулгыг ямар ч тохиолдолд
(олон сессүүд эсвэл ганц сесс) эхний сессийг бичихдээ хэрэглэдэг. DVD төхөөрөмж
/dev/cd0-г өөрийн тохиргооны дагуу өөрчлөх
хэрэгтэй. параметр дискийг хаах бөгөөд
бичилтийг нэмэх нь боломжгүй болох юм. Энэ нь DVD-ROM хөтчүүдтэй
зөөвөрлөгчийн нийцтэй байдлыг илүүтэй хангах юм.
Мөн урьдчилан урласан дүрсийг шарах бас боломжтой, жишээ нь
imagefile.iso дүрсийг шарахын
тулд бид дараах тушаалыг ажиллуулна:
&prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
Бичих хурдыг олж зөөвөрлөгч ба ашиглагдаж байгаа хөтчөөс
хамаарч автоматаар тохируулах болно. Хэрэв та бичих хурдыг өөрчлөх
хүсэлтэй байгаа бол параметрийг ашиглах
хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.growisofs.1; гарын авлагын
хуудаснаас уншина уу.
DVD
DVD-Video
DVD-Видео шарах нь
DVD-Видео нь ISO 9660 болон микро-UDF (M-UDF тодорхойлолтууд
дээр тулгуурласан тусгай файлын байршлын зураглал юм. DVD-Видео нь бас
өгөгдлийн бүтцийн тусгай шатлалыг үзүүлдэг бөгөөд энэ нь DVD-г зохиохын тулд
multimedia/dvdauthor зэрэг тусгай
програмыг та яагаад ашиглах хэрэгтэй болдгийн шалтгаан юм.
Хэрэв танд DVD-Видео файлын системийн дүрс байгаа бол ямар ч дүрсний нэгэн
адил аргаар шарах хэрэгтэй. Өмнөх хэсгийн жишээнээс үзнэ үү. Хэрэв та
DVD зохиолт хийсэн бөгөөд үр дүн нь жишээ нь /path/to/video
санд байгаа бол DVD-Видеог шарахын тулд дараах тушаалыг ашиглах хэрэгтэй:
&prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/video
тохируулга &man.mkisofs.8;-д
дамжуулагдах бөгөөд энэ нь DVD-Видео файлын системийн байршлын зураглал
үүсгэхийг тушаах болно. Үүнээс гадна
тохируулга нь &man.growisofs.1;-ийн
тохируулгыг агуулдаг.
DVD
DVD+RW
DVD+RW ашиглах нь
CD-RW-с ялгаатай нь шинэ DVD+RW нь ашиглагдахаа өмнө хэлбэршүүлэгдсэн
байх ёстой. &man.growisofs.1; нь шаардлагатай үед автоматаар үүнийг хийх
бөгөөд энэ аргыг зөвлөдөг юм. Гэхдээ та
dvd+rw-format тушаалыг ашиглан DVD+RW-г хэлбэршүүлж
болно:
&prompt.root; dvd+rw-format /dev/cd0
Та энэ үйлдлийг зөвхөн нэг удаа хийх хэрэгтэй бөгөөд зөвхөн шинэ DVD+RW
зөөвөрлөгчдийн хувьд хэлбэршүүлэх ёстойг санаарай. Дараа нь та DVD+RW-г дээрх
хэсгүүдэд дурдсаны адил шарж болно.
Хэрэв та шинэ өгөгдлийг (зарим өгөгдлийг нэмэх биш
бүр мөсөн шинэ файлын систем шарах) DVD+RW уруу шарахыг хүсэж байгаа бол
түүнийг хоосон болгох шаардлагагүй юм, иймэрхүүгээр өмнөх бичилтэн дээрээ
(шинэ сесс үүсгээд) дараад л бичих хэрэгтэй юм:
&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdata
DVD+RW хэлбэршүүлэлт нь өмнөх бичилтэд өгөгдлийг хялбараар нэмэх
боломжийг олгодог. Энэ үйлдэл нь шинэ сессийг хуучин байгаатай нь нийлүүлэх
бөгөөд энэ нь олон сесс бүхий бичилт биш юм. &man.growisofs.1; нь зөөвөрлөгч дээр
байгаа ISO 9660 файлын системийг өсгөх (сунгах)
болно.
Жишээ нь хэрэв бид өөрсдийн урьдны DVD+RW уруу өгөгдөл нэмэхийг
хүсвэл доор дурдсаныг ашиглах хэрэгтэй болно:
&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata
Эхний сессийг шарахдаа бидний хэрэглэдэг &man.mkisofs.8;-ийн
адил тохируулгууд дараагийн бичилтүүдийн үеэр хэрэглэгдэх ёстой.
Хэрэв та DVD-ROM хөтчүүдтэй зөөвөрлөгчийн хувьд илүүтэй нийцтэй байхыг
хүсвэл тохируулгыг хэрэглэхийг
хүсэж болох юм. DVD+RW тохиолдлын хувьд энэ нь таныг өгөгдөл нэмэхийг болиулж
чадахгүй юм.
Хэрэв та ямар нэг шалтгаанаар зөөвөрлөгчийг хоосон болгохыг хүсвэл
доор дурдсаныг хийх хэрэгтэй:
&prompt.root; growisofs -Z /dev/cd0=/dev/zero
DVD
DVD-RW
DVD-RW ашиглах нь
DVD-RW нь дискний хоёр хэлбэршүүлэлтийг авдаг: нэмэгдсэн дараалсан
хэлбэршүүлэлт болон хязгаарлагдмал дарж бичих хэлбэршүүлэлт юм. Анхдагчаар
DVD-RW дискнүүд нь дараалсан хэлбэршүүлэлтэд байдаг.
Шинэ DVD-RW нь хэлбэршүүлэлт хийгдэлгүйгээр шууд бичигдэж болдог,
гэхдээ шинэ биш дараалсан хэлбэршүүлэлтэд байх DVD-RW нь шинэ эхний сесс
бичигдэхээс өмнө хоосон болгогдсон байх шаардлагатай байдаг.
Дараалсан горим дахь DVD-RW-г хоослохдоо дараах тушаалыг ажиллуулна:
&prompt.root; dvd+rw-format -blank=full /dev/cd0
Бүр мөсөн хоослолт () 1x зөөвөрлөгч
дээр нэг цаг орчим болно. Хэрэв DVD-RW нь Disk-At-Once (DAO) горимоор
бичигдэх бол хурдан хоослолтыг тохируулга ашиглан
хийж болно. DVD-RW-г DAO горимд шарахын тулд дараах тушаалыг ашиглана:
&prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
тохируулгыг
шаардах ёсгүй, учир нь &man.growisofs.1; нь (хурдан хоосолсон)
зөөвөрлөгчийг илрүүлэхийг бага оролдож DAO бичилтийг захиалах
болно.
Яг үнэндээ дурын DVD-RW-ийн хувьд хязгаарлагдмал дарж бичих горимыг
ашиглах хэрэгтэй бөгөөд энэ хэлбэршүүлэлт нь анхдагч нэмэгдсэн дараалсан
хэлбэршүүлэлтээс илүү уян хатан байдаг.
Дараалсан DVD-RW дээр өгөгдлийг бичихдээ бусад DVD хэлбэршүүлэлтийн
нэгэн адил заавруудыг ашиглана:
&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/data
Хэрэв та зарим өгөгдлийг өөрийн урьдны бичлэгт нэмэхийг хүсвэл
&man.growisofs.1;-ийн тохируулгыг ашиглах
хэрэгтэй болно. Гэхдээ хэрэв та нэмэгдсэн дараалсан горимд байгаа DVD-RW
уруу өгөгдлийг нэмэх үйлдлийг хийвэл диск дээр шинэ сесс үүсгэгдэх бөгөөд
үүний үр дүн нь олон сесс бүхий диск болох юм.
DVD-RW нь хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд шинэ эхний
сессээс өмнө хоосон болгогдох шаардлагагүй, та ердөө л дискийг
тохируулгатай дарж бичих хэрэгтэй бөгөөд энэ нь
DVD+RW тохиолдолтой төстэй юм. Мөн диск дээр бичигдсэн байгаа ISO
9660 файлын системийг DVD+RW-тэй адил аргаар
тохируулгын тусламжтай өсгөж (сунгаж) бас болно. Үр дүн нь нэг сесс
бүхий DVD болох юм.
DVD-RW-г хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд оруулахдаа
дараах тушаалыг ашиглах ёстой:
&prompt.root; dvd+rw-format /dev/cd0
Дараалсан хэлбэршүүлэлт уруу буцааж өөрчлөхдөө дараах тушаалыг ашиглана:
&prompt.root; dvd+rw-format -blank=full /dev/cd0
Олон сесс
Маш цөөн DVD-ROM хөтчүүд олон сесс бүхий DVD-үүдийг дэмждэг бөгөөд
тэдгээр нь ихэнхдээ зөвхөн эхний сессийг уншдаг. DVD+R, DVD-R болон DVD-RW нь
дараалсан хэлбэршүүлэлтдээ олон сессийг хүлээн авч чаддаг бөгөөд DVD+RW болон
DVD-RW хязгаарлагдмал дарж бичих хэлбэршүүлэлтүүдийн хувьд олон сесс гэсэн ойлголт
байдаггүй.
Дараалсан хэлбэршүүлэлтэд DVD+R, DVD-R эсвэл DVD-RW дээрх эхний
(хаагдаагүй) сессийн дараа дараах тушаалыг ашиглаж дискэнд шинэ
сесс үүсгэнэ:
&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata
Энэ тушаалын мөрийг DVD+RW эсвэл DVD-RW-тэй цуг ашиглан хязгаарлагдмал дарж бичих
горим дээр шинэ сессийг хуучин байгаатай нийлүүлэн өгөгдлийг нэмэх болно. Үр дүн нь
нэг сесс бүхий диск болох юм. Энэ нь эдгээр зөөвөрлөгчүүд дээр эхний бичилтийн дараа
өгөгдөл нэмэх арга юм.
Зөөвөрлөгч дээрх зарим зай нь сесс бүрийн хооронд сессийн төгсгөл болон
эхлэлд хэрэглэгддэг. Тиймээс зөөвөрлөгчийн зайг оновчтой ашиглахын тулд
их өгөгдөлтэй сессүүдийг нэмэх ёстой юм. Сессийн тоо DVD+R-ийн хувьд 154,
DVD-R-ийн хувьд 2000 орчим, DVD+R хос давхаргын хувьд 127-оор
хязгаарлагдана.
Дэлгэрэнгүй мэдээллийг
DVD-ийн талаар илүү мэдээллийг авахын тулд
dvd+rw-mediainfo
/dev/cd0 тушаалыг хөтөч
дотор диск байхад ажиллуулж болно.
dvd+rw-tools-н тухай дэлгэрэнгүй
мэдээлэл нь &man.growisofs.1; гарын авлагын хуудас, dvd+rw-tools
вэб сайт болон cdwrite захидлын жагсаалтын
архивуудаас олдож болно.
Бичигдсэн үр дүн эсвэл асуудалтай зөөвөрлөгчийн dvd+rw-mediainfo
гаралт нь ямар ч асуудлын тайлангийн чухал хэсэг юм. Энэ гаралтгүйгээр танд туслах
бараг л боломжгүй юм.
DVD-RAM ашиглах нь
DVD
DVD-RAM
Тохиргоо
DVD-RAM бичигчид нь SCSI аль эсвэл ATAPI интерфэйстэй цуг ирдэг.
ATAPI төхөөрөмжүүдийн хувьд DMA хандалт идэвхтэй болсон байх ёстой,
дараах мөрийг /boot/loader.conf
файлд нэмж үүнийг хийнэ:
hw.ata.atapi_dma="1"
Зөөвөрлөгчийг бэлдэх нь
Өмнө нь бүлгийн танилцуулгад дурдсанаар DVD-RAM нь зөөврийн хатуу
хөтөч маягаар харагддаг. Бусад хатуу дискнүүдийн адил DVD- RAM нь ашиглагдаж
эхлэхээсээ өмнө бэлдэгдсэн
байх ёстой. Жишээн дээр дискний
бүх зай стандарт UFS2 файлын системтэй ашиглагдана:
&prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1
&prompt.root; bsdlabel -Bw acd0
&prompt.root; newfs /dev/acd0
DVD төхөөрөмж acd0-ийг өөрийн тохиргооны
дагуу өөрчлөн ашиглах ёстой.
Зөөвөрлөгчийг ашиглах нь
Дээрх үйлдлүүд DVD-RAM дээр хийгдсэний дараа үүнийг энгийн
хатуу хөтчийн нэгэн адил холбож болно:
&prompt.root; mount /dev/acd0 /mnt
Үүний дараа DVD-RAM нь уншигдах бичигдэх боломжтой болно.
Жулио
Мерино
Анхлан хийсэн
Мартин
Карлсон
Дахин бичсэн
Уян дискнүүдийг үүсгэж ашиглах нь
Өгөгдлийг уян дискнүүд уруу хадгалах нь заримдаа ашигтай байдаг. Жишээ нь
хэн нэгэнд нь шилжүүлж болдог ямар ч хадгалалтын зөөвөрлөгч байхгүй тохиолдолд
эсвэл бага хэмжээний өгөгдлийг өөр компьютер уруу зөөх хэрэгцээ гарсан үед уян
диск нь хэрэг болдог.
Энэ хэсэг нь FreeBSD дээр уян дискийг хэрхэн ашиглах талаар тайлбарлах болно.
Энд 3.5 инчийн DOS уян дискнүүдийг хэлбэршүүлж ашиглах талаар үндсэндээ
тайлбарлах бөгөөд гэхдээ энэ ойлголт нь бусад уян дискний хэлбэршүүлэлттэй
төстэй юм.
Уян дискнүүдийг хэлбэршүүлэх нь
Төхөөрөмж
Уян дискнүүдэд бусад төхөөрөмжүүдийн адил /dev
сан дахь оруулгуудаар ханддаг. Түүхий уян дискэнд хандахын тулд
/dev/fdN-г
ердөө л ашиглах хэрэгтэй.
Хэлбэршүүлэх нь
Уян дискийг ашиглахаасаа өмнө доод түвшний хэлбэршүүүлэлт
хийсэн байх хэрэгтэй. Үүнийг ихэвчлэн үйлдвэрлэгч хийдэг боловч
хэлбэршүүлэлт нь зөөвөрлөгчийн бүрэн бүтэн байдлыг шалгах нэг сайн
арга юм. Илүү том (эсвэл жижиг) дискний хэмжээг хүчлэн ашиглах
боломжтой байдаг боловч 1440kB хэмжээнд зориулагдан ихэнх уян
диск хийгдсэн байдаг.
Уян дискэнд доод түвшний хэлбэршүүлэлт хийхийн тулд та
&man.fdformat.1;-г ашиглах хэрэгтэй. Энэ хэрэгсэл нь төхөөрөмжийн
нэрийг нэмэлт өгөгдөл маягаар оруулахыг хүлээж байдаг.
Алдааны мэдэгдлийг тэмдэглэж аваарай, учир нь эдгээр нь
дискийг сайн эсвэл муу эсэхийг тодорхойлоход туслах болно.
Уян дискнүүдийг хэлбэршүүлэх нь
/dev/fdN
төхөөрөмжүүдийг ашиглан уян дискийг хэлбэршүүлэх хэрэгтэй. Шинэ 3.5 инч
диск өөрийн хөтөч уруугаа хийгээд дараах тушаалыг ажиллуул:
&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0
Дискний шошго
Дискэнд доод түвшний хэлбэршүүлэлт хийсний дараа танд диск дээр шошго
тавих хэрэгтэй болно. Энэ дискний шошго нь дараа нь устгагдах боловч
дискний хэмжээ болон геометрийг дараа нь тодорхойлоход системд
хэрэг болдог.
Шинэ дискний шошго нь бүхэл дискийг хамарч уян дискний геометрийн тухай
бүх л зөв мэдээллийг агуулах болно. Дискний шошгоны геометрийн утгууд нь
/etc/disktab файлд жагсаагдсан
байдаг.
Та одоо ингэж &man.bsdlabel.8;-г ажиллуулж болно:
&prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440
Файлын систем
Одоо уян дискэнд дээд түвшний хэлбэршүүлэлт хийхэд бэлэн боллоо. Энэ нь
дискийг FreeBSD унших болон түүнд бичих боломжийг олгох шинэ файлын системийг
диск дээр байрлуулах болно. Шинэ файлын системийг үүсгэсний дараа дискний
шошго устгагдах бөгөөд хэрэв та дискийг дахин хэлбэршүүлэхийг хүсвэл дискний
шошгыг дахин үүсгэх шаардлагатай болно.
Уян дискний файлын систем нь UFS эсвэл FAT хоёрын аль нэг нь байна.
FAT нь ерөнхийдөө уян дискнүүдийн хувьд илүү дээр сонголт байдаг.
Уян диск дээр шинэ файлын системийг байрлуулахын талд дараах тушаалыг ажиллуулна:
&prompt.root; /sbin/newfs_msdos /dev/fd0
Диск одоо ашиглахад бэлэн боллоо.
Уян дискийг ашиглах нь
Уян дискийг ашиглахын тулд &man.mount.msdosfs.8; тушаалаар холбох хэрэгтэй. Мөн
портын цуглуулгаас emulators/mtools-г
ашиглаж бас болох юм.
Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь
соронзон хальс зөөвөрлөгч
Гол соронзон хальс зөөвөрлөгчүүд нь 4мм, 8мм, QIC, мини-хайрцаг болон DLT
юм.
4мм (DDS: Digital Data Storage)
соронзон хальс зөөвөрлөгч
DDS (4mm) соронзон хальснууд
соронзон хальс зөөвөрлөгч
QIC соронзон хальснууд
4мм соронзон хальснууд нь QIC-г халж ажлын станцын нөөц зөөвөрлөгч болон сонгогдож
байна. Conner компани нь QIC хөтчүүдийн тэргүүлэх үйлдвэрлэгч Archive-г
худалдаж авч дараа нь QIC хөтчүүдийг үйлдвэрлэхээ зогсоосноор энэ чиг хандлага нь
илүү хурдассан юм. 4мм хөтчүүд нь жижиг, чимээгүй боловч 8мм хөтчүүд шиг
найдвартай ажиллагаагаараа алдартай биш юм. Хайрцагнууд нь үнэтэй биш бөгөөд
8мм-ийн хайрцагнуудаас бага (3 x 2 x 0.5 инч, 76 x 51 x 12 мм) юм.
4мм соронзон хальс нь 8мм-ийн нэгэн адил шалтгаанаар толгой нь богино настай бөгөөд
хоёулаа мушгиа сканыг ашигладаг.
Эдгээр хөтчүүд дээрх өгөгдлийн дамжуулах чадвар нь ~150 kB/s-с
эхэлж ~500 kB/s хүрнэ. Өгөгдлийн багтаамж 1.3 GB-с эхэлж
2.0 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх
бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Олон хөтөч бүхий
соронзон хальсны сан (library) автомат соронзон хальс солигчтой нэг кабинетийн хувьд 6 хөтөчтэй
байж болно. Сангийн багтаамж нь 240 GB хүрнэ.
DDS-3 стандарт нь одоогоор 12 GB (эсвэл 24 GB шахагдсан)
багтаамжтай соронзон хальсыг дэмждэг.
4мм хөтчүүд нь 8мм-ийн хөтчүүдийн нэгэн адил мушгиа хайлтыг хэрэглэдэг.
Мушгиа хайлт хийхийн бүх ашигтай тал болон сул талууд нь 4мм болон 8мм-ийн хөтчүүдийн
аль алинд нь хамаардаг.
Соронзон хальснууд нь 2000 удаагийн ашиглалт эсвэл 100 бүрэн нөөцлөлтийн дараа
хэрэглээнээс гарах ёстой.
8мм (Exabyte)
соронзон хальс зөөвөрлөгч
Exabyte (8мм) соронзон хальснууд
8мм соронзон хальснууд нь хамгийн нийтлэг SCSI соронзон хальсны хөтчүүд юм; тэдгээр нь соронзон хальснууд
солих хамгийн сайн сонголт болдог. Бараг сайт бүр Exabyte 2 GB 8мм-ийн
соронзон хальсны хөтөчтэй байдаг. 8мм-ийн хөтчүүд нь найдвартай, хэрэглэхэд амар, чимээгүй
байдаг. Хайрцагнууд нь хямд, жижиг (4.8 x 3.3 x 0.6 инч; 122 x 84 x 15 мм)
байдаг. 8мм-ийн соронзон хальсны нэг сул тал нь толгойнуудын дагуух соронзон хальсны харьцангуй хөдөлгөөний
өндөр хувиас болоод харьцангуй богино толгой ба соронзон хальсны амьдрах хугацаатай байдаг явдал юм.
Өгөгдөл дамжуулах чадвар нь ~250 kB/s-аас ~500 kB/s хүртэл байна.
Өгөгдлийн хэмжээ нь 300 MB-аас эхэлж 7 GB хүрнэ. Тоног төхөөрөмжийн шахалт
энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг.
Эдгээр хөтчүүд нь нэг буюу эсвэл нэг кабинетдаа 6 хөтөч болон 120 соронзон хальстай олон хөтөч
бүхий соронзон хальсны сан (library) хэлбэрээр байдаг. соронзон хальснууд нь автоматаар солигддог.
Сангийн багтаамж 840+ GB хүрнэ.
Exabyte Mammoth
загвар нь нэг соронзон хальс дээр 12 GB
((24 GB шахалттайгаар) дэмждэг бөгөөд ердийн соронзон хальсны хөтчөөс ойролцоогоор
хоёр дахин үнэтэй байдаг.
Өгөгдөл нь соронзон хальс уруу мушгиа скан ашиглагдан бичигддэг, толгойнууд нь зөөвөрлөгч уруу
өнцгөөр байрладаг (ойролцоогоор 6 градус). Соронзон хальс нь толгойнуудыг барьж байдаг дамрын
270 градус орчим ороодог. Соронзон хальс дамар дээгүүр гулгаж байхад дамар нь эргэж байдаг.
Үр дүнд нь өгөгдлийн өндөр нягтрал болон соронзон хальсны дагуу нэг ирмэгээс нөгөө уруу өнцөгдсөн ойрхон
багцалсан замууд үүсэх болно.
QIC
соронзон хальс зөөвөрлөгч
QIC-150
QIC-150 соронзон хальснууд болон хөтчүүд нь магадгүй хамгийн нийтлэг соронзон хальсны хөтөч, зөөвөрлөгч
юм. QIC соронзон хальсны хөтчүүд нь хамгийн хямд нухацтай
нөөцлөлтийн хөтчүүд
юм. Сул тал нь зөөвөрлөгчийн үнэ байдаг. QIC соронзон хальснууд нь 8мм болон 4мм соронзон хальснуудтай
харьцуулахад GB өгөгдлийн хадгалалтын хувьд 5 дахин үнэтэй байдаг. Гэхдээ таны
хэрэглээнд цөөн (half-dozen) соронзон хальснууд хангалттай бол QIC нь магадгүй зөв сонголт
болж болох юм. QIC нь хамгийн нийтлэг соронзон хальсны хөтөч юм.
Сайт бүр ямар нэг хэмжээний QIC хөтөчтэй байдаг. QIC нь физикийн хувьд төстэй (заримдаа адил)
соронзон хальснуудад их хэмжээний нягтралтай байдаг. QIC хөтчүүд нь чимээгүй биш юм.
Эдгээр хөтчүүд нь өгөгдлийг бичиж эхлэхээсээ өмнө дуутайгаар хайдаг бөгөөд
унших, бичих эсвэл хайхдаа мэдэгдэхүйц дуутай байдаг. QIC соронзон хальснууд нь
6 x 4 x 0.7 инч (152 x 102 x 17 мм) хэмжээтэй байдаг.
Өгөгдлийн дамжуулах чадвар ~150 kB/s-с ~500 kB/s хүртэл байна.
Өгөгдлийн багтаамж 40 MB-с 15 GB хүртэл байна. Шинэ QIC хөтчүүдийн
ихэнхэд тоног төхөөрөмжийн шахалт байдаг. QIC хөтчүүд нь бага суулгагддаг; тэдгээр нь
DAT хөтчүүдээр шахагдсан юм.
Өгөгдөл нь соронзон хальс уруу замаар бичигддэг. Замууд нь соронзон хальсны зөөвөрлөгчийн нэг төгсгөлөөс
нөгөө уруу урт тэнхлэгийн дагуу байдаг. Замуудын тоо болон замын өргөн соронзон хальсны багтаамжаас
хамаарч өөр өөр байдаг. Бүх шинэ хөтчүүдийн ихэнх нь хамгийн багадаа бодоход уншилтын
(ихэнхдээ бас бичилтийн хувьд) хуучинтайгаа нийцтэй байдаг. QIC нь өгөгдлийн аюулгүй
байдлын хувьд нэлээн нэр хүндтэй байдаг (механизм нь хөтчүүдийг мушгиа скан хийснээс
илүү хялбар бөгөөд хүчирхэг байдаг).
5,000 нөөцлөлтийн дараа соронзон хальснуудыг ашиглахаа болих шаардлагатай.
DLT
соронзон хальс зөөвөрлөгч
DLT
DLT нь энд жагсаагдсан бүх хөтчийн төрлүүдээс хамгийн хурдан өгөгдөл дамжуулах
чадвартай байдаг. 1/2" (12.5мм) соронзон хальс нь ганц дамартай хайрцагт
(4 x 4 x 1 инч; 100 x 100 x 25 мм) байдаг. Хайрцаг нь нэг талаараа
ганхах хаалгатай байдаг. Хөтчийн механизм соронзон хальсны тэргүүнийг гаргаж авахын тулд
энэ хаалгыг онгойлгодог. Соронзон хальсны тэргүүн нь зууван нүхтэй байх бөгөөд
хөтөч соронзон хальсыг дэгээдэхдээ
үүнийг ашигладаг. Авах (take-up)
дамар нь соронзон хальсны хөтчийн дотор байрладаг. Энд жагсаагдсан
бусад соронзон хальсны хайрцагнууд (9 замтай соронзон хальснууд нь жич юм) нь соронзон хальсны хайрцган дотор
байрлах хангах болон take-up дамруудтай байдаг.
Өгөгдөл дамжуулах чадвар нь ойролцоогоор 1.5 MB/s бөгөөд 4мм, 8м, QIC
соронзон хальсны хөтчүүдийн дамжуулах чадвараас 3 дахин их байдаг. Өгөгдлийн багтаамж нь
нэг хөтчийн хувьд 10 GB-аас 20 GB хүрдэг. Хөтчүүд нь олон соронзон хальс
солигчид болон олон соронзон хальс хэлбэрээр байдаг, олон хөтөч бүхий соронзон хальсны сангууд нь
нийтдээ 50 GB-с 9 TB хүртэл хадгалалт бүхий 5-аас 900 хүртэл соронзон хальснуудыг
1-ээс 20 хүртэлх хөтчүүд дээр агуулдаг.
Шахалттай бол DLT Төрөл 4 хэлбэршүүлэлт нь 70 GB багтаамжийг
дэмждэг.
Өгөгдөл нь соронзон хальсны замууд дээр аялалын чиглэлийн дагуу (QIC соронзон хальснуудын адил)
зэрэгцээгээр бичигддэг. Хоёр зам нэг удаа бичигддэг. Унших/бичих толгойны амьдрах хугацаа
харьцангуй урт байдаг; соронзон хальс хөдлөхөө болиход толгой болон соронзон хальсны хоорондын
хамаатай хөдөлгөөн байхгүй болно.
AIT
соронзон хальс зөөвөрлөгч
AIT
AIT нь Sony-гоос гаргасан шинэ хэлбэршүүлэлт бөгөөд нэг соронзон хальсны хувьд 50
GB хүртэл (шахалттайгаар) мэдээллийг агуулж чадна. Соронзон хальснууд нь санах ойн бичил
схемүүдийг агуулдаг бөгөөд эдгээр нь соронзон хальсны агуулгын индексийг хадгалдаг. Бусад
соронзон хальснуудын хувьд хэд хэдэн минут шаардагддаг бол харин энэ индексийг соронзон хальсны хөтөч
соронзон хальс дээрх файлуудын байрлалыг тодорхойлохын тулд маш хурдан уншдаг.
SAMS:Alexandria зэрэг програм нь
соронзон хальсны санах ойн бичил схемтэй шууд холбогдон агуулгыг дэлгэцэд гаргаж, ямар файлууд аль
соронзон хальс уруу нөөцлөгдсөнийг тодорхойлж, зөв соронзон хальсыг олон ачаалж соронзон хальснаас өгөгдлийг
сэргээн дөч болон түүнээс дээш AIT соронзон хальсны сангуудыг ажиллуулж чаддаг.
Үүнтэй адил сангууд $20,000 хавьцаа үнэ хүрч тэдгээрийг сонирхогчдын зах зээлээс
бага зэрэг шахдаг байна.
Шинэ соронзон хальсыг анх удаа ашиглах нь
Анхны удаа шинэ, хов хоосон соронзон хальсыг уншихыг оролдвол амжилтгүй болно.
Консолын мэдэгдлүүд үүнтэй төстэй байна:
sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming ready
Соронзон хальс нь Identifier Block буюу Танигч Блокийг (block number 0)
агуулаагүй байна. Бүх QIC соронзон хальснууд нь QIC-525 стандартыг хэрэглэж эхэлснээс
хойш Танигч Блокийг соронзон хальсанд бичдэг. Хоёр шийдэл байдаг:
mt fsf 1 тушаал нь Танигч Блокийг соронзон хальс уруу
бичихийг соронзон хальсны хөтчид хэлнэ.
Нүүрний товчлуурыг ашиглан соронзон хальсыг гаргаж авна.
Соронзон хальсыг дахин хийгээд түүн уруу өгөгдлийг
dump хийнэ.
dump тушаал нь DUMP: End of tape
detected гэж мэдэгдэх бөгөөд консол HARDWARE
FAILURE info:280 asc:80,96 гэж харуулна.
mt rewind тушаал ашиглан соронзон хальсыг буцаана.
Дараа дараачийн соронзон хальсны үйлдлүүд амжилттай болно.
Уян диск уруу нөөцлөх
Өөрийн өгөгдлийг нөөцлөхийн тулд би уян дискнүүдийг ашиглаж болох уу?
нөөц уян дискнүүд
уян дискнүүд
Уян дискнүүд нь нөөц хийхэд тийм ч тохиромжтой зөөвөрлөгч биш юм, учир нь:
Энэ зөөвөрлөгч нь найдваргүй, ялангуяа урт хугацааны туршид найдваргүй
байдаг.
Нөөцлөх болон буцааж сэргээх нь их удаан байдаг.
Тэдгээр нь маш хязгаарлагдмал багтаамжтай (бүхэл бүтэн хатуу дискийг хэдэн арван
уян дискэнд нөөцлөх нь их олон өдөр шаардана).
Гэхдээ хэрэв танд өөрийн өгөгдлийг нөөцлөх өөр ямар ч арга байхгүй бол
уян дискнүүдэд нөөцлөх нь нөөц хийхгүй байснаас хамаагүй дээр юм.
Хэрэв та уян дискнүүд ашиглах шаардлагатай болсон бол сайн чанарынхыг
ашигласан эсэхээ шалгах хэрэгтэй. Оффис дээр чинь хоёр жил хэвтсэн уян дискнүүд
муу сонголт болох юм. Нэр хүндтэй үйлдвэрлэгчээс гаргасан шинэ дискнүүдийг
ашиглах нь зүйтэй юм.
Тэгэхээр би өөрийн өгөгдлийг уян диск уруу хэрхэн нөөцлөх вэ?
Уян диск уруу нөөцлөх хамгийн шилдэг арга нь &man.tar.1; тушаалыг
(олон эзлэхүүн) тохируулгатайгаар ашиглах
явдал юм. Энэ нь олон уян дискнүүдэд нөөцлөх боломжийг олгодог.
Тухайн сан болон дэд сан доторх бүх файлуудыг нөөцлөхийн тулд үүнийг
ашиглах хэрэгтэй (root хэрэглэгчээр):
&prompt.root; tar Mcvf /dev/fd0 *
Эхний уян диск дүүрсний дараа &man.tar.1; нь дараагийн эзлэхүүнийг
оруулахыг хүсэх болно (учир нь &man.tar.1; нь зөөвөрлөгчөөс хамааралгүй бөгөөд
эзлэхүүнүүдэд ханддаг; энд уян дискийг хэлж байна).
Prepare volume #2 for /dev/fd0 and hit return:
Энэ нь заагдсан файлууд архивлагдах хүртэл (эзлэхүүний дугаар нэмэгдэн)
давтагдах болно.
Би өөрийнхөө нөөцүүдийг шахаж болох уу?
tar
gzip
шахалт
Харамсалтай нь &man.tar.1; нь олон эзлэхүүн бүхий архивуудын хувьд
тохируулгыг ашиглахыг зөвшөөрдөггүй. Мэдээж та
бүх файлуудыг &man.gzip.1; хийж тэдгээрийг уян диск уруу &man.tar.1;
хийж дараа нь файлуудыг дахин &man.gunzip.1; хийж болно!
Би өөрийн нөөцүүдийг хэрхэн сэргээх вэ?
Бүхэл архивыг сэргээхдээ дараах тушаалыг ашиглана:
&prompt.root; tar Mxvf /dev/fd0
Зөвхөн заагдсан файлуудыг сэргээх хоёр арга байдаг бөгөөд та
тэдгээрийг ашиглаж болно. Эхлээд та эхний дискнээс эхлээд дараах тушаалыг
ашиглана:
&prompt.root; tar Mxvf /dev/fd0 filename
&man.tar.1; хэрэгсэл нь шаардлагатай файлыг олох хүртлээ дараа дараагийн уян дискнүүдийг
хийхийг танаас хүсэх болно.
Өөрөөр, хэрэв та файл нь яг аль уян диск дээр байгааг мэдэж байвал
ердөө л тэр уян дискийг оруулж дээрхтэй адил тушаалыг ашиглах хэрэгтэй.
Хэрэв уян диск дээрх эхний файл нь өмнөх диск дээрхийн үргэлжлэл бол
таныг асуугаагүй байсан ч гэсэн &man.tar.1; үүнийг сэргээж чадахгүй
гэж танд анхааруулах болно!
Лоуэл
Жилбэрт
Анхлан хийсэн
Нөөцлөх стратегууд
Нөөцлөх төлөвлөгөөг боловсруулах эхний шаардлага нь дараах бүх асуудлуудыг
хамарсан эсэхийг шалгах явдал юм:
Дискний гэмтэл
Санамсаргүй файл устгалт
Санамсаргүй файлын эвдрэл
Газар дээрх нөөцүүд байвал тэдгээрийг оруулаад машины
бүрэн сүйрэл (өөрөө хэлбэл гал).
Эдгээр асуудал бүрийг шал өөр техникээр шийдэснээр зарим системүүдийг
илүүтэй ажиллуулах төгс боломж байж болох юм. Маш бага үнэ цэнэтэй
өгөгдөл бүхий чанга хувийн системүүдийг тооцохгүй юм бол нэг техник нь
бүх асуудлуудыг хамрах нь бараг боломжгүй юм.
Хэрэгслийн хайрцаг дахь зарим нэг техникүүдийг дурдвал:
Бүх системийн архивууд нь сайтаас гадна байнгын зөөвөрлөгчид
нөөцлөгдөнө. Энэ нь дээр дурдсан бүх асуудлуудаас хамгаалах боловч
сэргээх нь тохиромжгүй удаан байдаг. Та нөөцүүдийн хуулбаруудыг
газар дээр нь ба/эсвэл шууд авч болохоор хадгалж болох боловч
файлуудыг сэргээх нь ялангуяа зөвшөөрөгдөөгүй хэрэглэгчдэд
бас л тохиромжгүй хэвээр байдаг.
Файлын системийн хормын хувилбарууд. Энэ нь яг үнэндээ зөвхөн
санамсаргүйгээр файлыг устгасан тохиолдолд тустай, гэхдээ
энэ нь тийм тохиолдолд маш тус болохуйц
байдаг бөгөөд хурдан, ажиллахад хялбар байдаг.
Бүх файлын систем ба/эсвэл дискнүүдийн хуулбарууд (бүхэл машины үе үе давтагдах
&man.rsync.1;). Энэ нь ерөнхийдөө онцгой шаардлага бүхий сүлжээнүүдэд хамгийн
ашигтай байдаг. Дискний эвдрэл, гэмтлийн эсрэг ерөнхий хамгаалалтын хувьд
энэ нь ихэвчлэн RAID-с чанарын хувьд муу байдаг. Санамсаргүйгээр
устгасан файлуудыг сэргээхэд энэ нь UFS хормын хувилбартай
дүйцэхээр боловч та алийг дээдэлдгээс хамаарах юм.
RAID. Диск эвдрэх, гэмтэх үед зогсох хугацааг
багасгаж зайлсхийдэг. Маш бага шаардлагатай хэдий ч дискний эвдрэлүүдтэй илүүтэй
зууралдах (учир нь та олон дисктэй) хэрэгтэй болдог.
Файлуудын байрлалыг (хурууны хээ) шалгах. Үүнд &man.mtree.8; хэрэгсэл их
ашигтай байдаг. Энэ нь нөөцлөх техник биш боловч танд өөрийн нөөцүүддээ хандахаар
болох үед та хэрэг болох болно. Энэ нь сайтаас гаднах шууд
бус нөөцүүдийн хувьд ялангуяа чухал бөгөөд үе үе шалгагдаж байх ёстой.
Үүнээс илүү олон техникийг бодож олох нь амархан бөгөөд тэдгээрийн
ихэнх нь дээр дурдсан техникүүдийн өөр хувилбарууд юм. Тусгайлсан шаардлагууд нь
ихэвчлэн тусгайлсан техникт хүргэдэг (жишээ нь шууд ажиллаж байгаа мэдээллийн
баазыг нөөцлөх нь зөвхөн мэдээллийн санд зориулагдсан аргыг дундын шат
болгон ихэвчлэн ашиглахыг шаарддаг). Ямар аюулуудаас та хамгаалахыг хүсэж байгаа болон
тэдгээр тус бүртэй хэрхэн ажиллахаа мэдэх нь чухал юм.
Нөөцлөлтийн үндсүүд
Гурван гол нөөцлөх програм бол &man.dump.8;, &man.tar.1; болон
&man.cpio.1; юм.
Dump ба Restore
нөөцлөх програм хангамж
dump / restore
dump
restore
Уламжлалт &unix; нөөцлөх програмууд нь dump ба
restore юм. Тэдгээр нь файлын системүүдээр үүсгэгдсэн
файлууд, холбоосууд болон сангуудын хийсвэр ойлголтуудын доор хөтчүүд дээр дискний
блокуудын цуглуулга хэлбэрээр ажилладаг. dump нь
төхөөрөмж дээрх бүхэл файлын системийг нөөцөлдөг. Файлын системийн зөвхөн
хэсгийг эсвэл нэгээс илүү файлын систем дагуу байрлах сангийн модыг энэ нь нөөцөлж
чаддаггүй. dump нь файлууд болон сангуудыг соронзон хальс уруу
бичдэггүй, харин файлууд болон сангуудаас тогтох түүхий өгөгдлийн блокуудыг
бичдэг.
Хэрэв та өөрийн root сандаа dump-г
хэрэглэвэл та /home,
/usr эсвэл бусад олон сангуудыг нөөцлөхгүй бөгөөд
үүний учир бол эдгээр нь ихэвчлэн бусад файлын системүүдийн холбох цэгүүд буюу
эсвэл тэдгээр файлын системүүд уруу заасан симболын холбоосууд байдаг.
dump нь өөрийн хөгжлийн эхний өдрүүд болох
AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) үлдсэн кодтой
байдаг. Анхдагч параметрүүд нь өнөөдөр байгаа өндөр нягтралтай (62,182 ftpi хүртэл)
зөөвөрлөгчид биш 9 зам (6250 bpi) бүхий соронзон хальсанд тохирдог. Одоогийн соронзон хальсны
хөтчүүдийн багтаамжийг хэрэглэхийн тулд эдгээр анхдагчуудыг тушаалын мөрөөс дарж
өөрчлөх ёстой.
.rhosts
Мөн сүлжээгээр өөр компьютерт холбогдсон соронзон хальсны хөтөч уруу өгөгдлийг
rdump болон rrestore
тушаал ашиглан нөөцлөх боломжтой байдаг. Энэ хоёр програм нь алсын соронзон хальсны
хөтчид хандахдаа &man.rcmd.3; болон &man.ruserok.3;-д тулгуурладаг.
Тиймээс нөөцлөлтийг хийж байгаа хэрэглэгч алсын компьютерийн
.rhosts файл дотор жагсаагдсан байх ёстой.
rdump болон rrestore
тушаалуудад өгөх нэмэлт өгөгдлүүд нь алсын компьютер дээр ашиглаж болохоор
байх ёстой. komodo гэж нэрлэгдсэн Sun уруу холбогдсон
Exabyte соронзон хальсны хөтөч уруу FreeBSD компьютераас rdump
хийхдээ дараах тушаалыг ашиглана:
&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
Болгоомжлоорой: .rhosts танин нэвтрэлтийг
зөвшөөрөх нь аюулгүй байдлын асуудлууд үүсгэдэг. Өөрийн нөхцөл байдлыг
анхааралтай үнэлэх хэрэгтэй.
Мөн dump болон restore
тушаалыг илүү аюулгүй загвараар ssh дээгүүр ашиглах
бас боломжтой байдаг.
ssh-ээр dump-г ашиглах нь
&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
Эсвэл dump-ийн дотор байдаг нэг арга болох RSH орчны хувьсагчийг
тохируулан ашиглаж болно:
ssh-ээр RSH тохируулан dump-г
ашиглах нь
&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr
tar
нөөцлөх програм хангамж
tar
&man.tar.1; нь бас AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим)
эхтэй. tar нь файлын системтэй хамт ажилладаг;
энэ нь файлууд болон сангуудыг соронзон хальс уруу бичдэг. tar
нь &man.cpio.1;-д байдаг бүрэн хэмжээний тохируулгуудыг дэмждэггүй боловч
энэ нь cpio-ийн хэрэглэдэг ховор тушаалын дамжуулах
хоолойг шаарддаггүй.
tar
FreeBSD 5.3 болон түүнээс хойшх хувилбарт GNU tar
болон анхдагч bsdtar тушаалууд байдаг. GNU хувилбарыг
gtar гэж ажиллуулж болдог. Энэ нь rdump-тай
адил дүрмийг ашиглаж алсын төхөөрөмжүүдийг дэмждэг.
komodo гэж нэрлэгдсэн Sun уруу холбогдсон
Exabyte соронзон хальсны хөтөч уруу tar
хийхдээ дараах тушаалыг ашиглана:
&prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1
Алсын соронзон хальсны хөтөч уруу өгөгдлийг илгээхдээ rsh болон
дамжуулах хоолой ашиглан bsdtar тушаалаар үүнийг бас
хийж болно.
&prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b
Хэрэв та сүлжээгээр нөөцлөхийн аюулгүй байдалд санаа зовж байгаа бол
rsh-ийн оронд ssh тушаалыг
ашиглах хэрэгтэй.
cpio
нөөцлөх програм хангамж
cpio
&man.cpio.1; нь соронзон зөөвөрлөгчид зориулагдсан &unix;-ийн
анхны файл солилцох соронзон хальсны програм юм. cpio нь
(бусад олон тохируулгуудын дотроос) байт солилцохыг хийх, хэд хэдэн төрлийн
архивын хэлбэршүүлэлтүүдийг бичих болон өгөгдлийг өөр програм уруу хоолойгоор
гаргах зэрэг тохируулгуудтай байдаг. Сүүлийн боломж нь cpio-г
суулгацын зөөвөрлөгчийн хувьд сайн сонголт болгодог. cpio нь
сангийн модоор хэрхэн явахаа мэддэггүй бөгөөд файлуудын жагсаалтыг
stdin-ээс хангаж өгөх ёстой.
cpio
cpio нь сүлжээгээр нөөцлөхийг дэмждэггүй.
Та дамжуулах хоолой болон rsh-ийг ашиглаж өгөгдлийг
алсын соронзон хальсны хөтөч уруу илгээж болно.
&prompt.root; for f in directory_list; do
find $f >> backup.list
done
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
directory_list нь таны нөөцлөхийг хүссэн
сангуудын жагсаалт бол
user@host нь
нөөцлөлтийг хийж байгаа хэрэглэгч/хостын нэрийн хослол бөгөөд
backup_device нь нөөцлөлт хийгдэх төхөөрөмж
(өөрөөр хэлбэл /dev/nsa0) юм.
pax
нөөцлөх програм хангамж
pax
pax
POSIX
IEEE
&man.pax.1; нь tar болон cpio
тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам tar болон
cpio тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц
нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд
&posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. pax нь
өөрийн шинэ хэлбэршүүлэлтээс гадна cpio болон tar
тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог.
Энэ тушаалын олонлог нь tar тушаалынхтай биш харин
cpio тушаалынхтай илүү төстэй байдаг.
Amanda
нөөцлөх програм хангамж
Amanda
Amanda
Amanda (Advanced Maryland
Network Disk Archiver) нь нэг програм биш клиент/сервер програм юм.
Amanda сервер нь ганц соронзон хальсны хөтөч уруу
Amanda клиенттэй, Amanda
сервер уруу сүлжээгээр холбогдсон дурын тооны компьютерийг нөөцлөх болно.
Хэд хэдэн том дискнүүд бүхий сайтууд дээр байдаг нийтлэг асуудлууд нь өгөгдлийг
соронзон хальс уруу нөөцлөхөд шаардагдах хугацаа нь уг үйлдлийн хувьд зориулагдсан
хугацаанаас илүү гарах явдал юм. Amanda нь
энэ асуудлыг шийддэг. Amanda нь
хэд хэдэн файлын системүүдийг нэг зэрэг нөөцлөхдөө holding disk буюу хүлээгдэх диск
ийг
ашигладаг. Amanda нь
архивын олонлогууд
буюу Amanda-ийн
тохиргооны файлд жагсаагдсан бүх файлын системүүдийн бүрэн нөөцлөлтүүдийг үүсгэхэд хэсэг хугацаанд
хэрэглэгдсэн бүлэг соронзон хальснуудыг үүсгэдэг. Архивын олонлогууд
нь бас
файлын системүүдийн шөнө болгоны нэмэгдсэн (эсвэл ялгаатай) нөөцлөлтүүдийг агуулдаг.
Эвдэрсэн файлын системийг сэргээх нь хамгийн сүүлийн бүрэн нөөцлөлт болон нэмэгдсэн
нөөцлөлтүүдийг шаарддаг.
Тохиргооны файл нь нөөцлөлтүүд болон Amanda-ийн
үүсгэдэг сүлжээний урсгалыг нарийн хянах боломжийг хангадаг. Amanda
нь өгөгдлийг соронзон хальс уруу бичихийн тулд дээр дурдсан нөөцлөлтийн програмуудыг
ашиглана. Amanda нь порт эсвэл багц хэлбэрээр
байдаг бөгөөд анхдагчаар суулгагдаагүй байдаг.
Юу ч хийхгүй байх
Юу ч хийхгүй байх
нь компьютерийн програм биш боловч энэ нь
хамгийн их ашиглагддаг нөөцлөлтийн стратеги юм. Ямар ч эхний зардал байхгүй.
Мөрдөх нөөцлөлтийн төлөвлөгөө байхгүй. Зүгээр л үгүй гэх хэрэгтэй. Хэрэв таны
өгөгдөлд ямар нэг асуудал тохиолдвол шүд зуугаад л тэвчих хэрэгтэй!
Хэрэв таны цаг болон өгөгдөл нь тийм ч чухал биш эсвэл юу ч биш бол
Do nothing буюу юу ч хийхгүй байх
нь таны компьютерийн
хувьд хамгийн тохиромжтой нөөцлөлтийн програм болох юм. Гэхдээ &unix;
нь ашигтай хэрэгсэл юм, та зургаан сарын дотор үнэтэй файлуудын цуглуулгатай болж
үүнийг мэдрэх болно.
Юу ч хийхгүй байх
нь /usr/obj
болон таны компьютераар яг үүсгэгдэж болох бусад сангийн моднуудын хувьд зөв
нөөцлөх арга болдог. Үүний жишээ нь энэ гарын авлагын HTML эсвэл &postscript;-с
тогтох хувилбарын файлууд байж болох юм. Эдгээр баримтын хэлбэршүүлэлтүүд нь
SGML оролтын файлуудаас үүсгэгддэг. HTML эсвэл &postscript; файлуудын
нөөцлөлтийг үүсгэх нь шаардлагагүй юм. SGML файлууд нь байнга нөөцлөгддөг.
Аль нөөцлөлтийн програм хамгийн шилдэг нь вэ?
LISA
&man.dump.8; Үе. Элизабет Д. Звики
энд дурдагдсан бүх нөөцлөлтийн програмуудыг зовоосон тест хийсэн. Өөрийн бүх өгөгдөл
болон &unix; файлын системүүдийн онцлогуудыг хадгалах цэвэр сонголт бол
dump болсон байна. Элизабет маш их төрөл бүрийн ховор
нөхцөлүүдийг (зарим нь тийм ч ховор биш) агуулсан файлын системүүдийг үүсгэж
тэдгээр файлын системүүдийг нөөцлөн дараа нь сэргээж програм бүрийг тест хийсэн
байна. Онцгой зүйлүүдэд цоорхойтой файлууд, хоосон блоктой болон цоорхойтой
файлууд, сонин тэмдэгт бүхий нэрээс тогтсон файлууд, бичигдэх боломжгүй уншигдах
боломжгүй файлууд, төхөөрөмжүүд, нөөцлөлтийн үед хэмжээгээ өөрчлөх файлууд,
нөөцлөлтийн үед үүсгэгдэж/устгагдсан файлууд зэргийг дурдаж болох юм.
Тэрээр үр дүнгээ 1991 оны 10 сард LISA дээр үзүүлсэн байна.
Нөөцлөлт
болон Архивын програмуудыг зовоох тест холбоосыг үзнэ үү.
Яаралтай сэргээх процедур
Гамшгийн өмнө
Учирч болзошгүй гамшигт бэлтгэхийн тулд таны хийх ёстой дөрвөн
үе шат байдаг.
bsdlabel
Эхлээд өөрийн диск бүрийн bsdlabel
(өөрөөр хэлбэл bsdlabel da0 | lpr), өөрийн
файлын системийн хүснэгт (/etc/fstab) болон
бүх ачаалалтын мэдэгдлүүдийг тус бүр хоёр хувь хэвлэх хэрэгтэй.
fix-it уян дискнүүд
Дараа нь ачаалах болон уян дискнүүд
(boot.flp болон fixit.flp)
таны бүх төхөөрөмжүүдийг агуулсан эсэхийг тодорхойлно. Хамгийн хялбараар
шалгах арга нь уян дискний хөтөчдөө ачаалах уян дискийг хийж дахин ачаалж ачаалалтын
мэдэгдлүүдийг шалгах явдал юм. Хэрэв таны бүх төхөөрөмжүүд байгаад ажиллаж
байвал гуравдугаар алхам уруу алгасаарай.
Эсрэг тохиолдолд та өөрийн бүх дискийг холбож таны соронзон хальсны хөтчид хандаж чадах
цөм бүхий тусгайлсан хоёр ачаалагдах уян диск бэлдэх хэрэгтэй. Эдгээр уян дискнүүд нь
fdisk, bsdlabel,
newfs, mount болон
таны ашигладаг програмуудыг агуулсан байх ёстой. Эдгээр програмууд нь
статикаар холбогдсон байх ёстой. Хэрэв та dump-г
ашигласан бол уян диск нь restore-г агуулсан байх
ёстой.
Гуравдугаарт нөөц соронзон хальснуудыг байнга үүсгэж байх хэрэгтэй. Таны сүүлийн нөөцлөлтөөс
хойш хийгдсэн өөрчлөлтүүд буцааж авагдах боломжгүйгээр алга болж болох юм. Нөөц
соронзон хальснууд уруу хийж болзошгүй бичилтийг хамгаалах хэрэгтэй.
Дөрөвдүгээрт уян дискнүүд (boot.flp болон
fixit.flp аль эсвэл хоёрдугаар үе дээр таны хийсэн
тусгайлсан хоёр ачаалагдах уян дискнүүд.) болон нөөц соронзон хальснуудыг тест хийнэ.
Процедурынхаа талаар тэмдэглэгээ хийх хэрэгтэй. Эдгээр тэмдэглэгээнүүдээ
ачаалагдах уян дискнүүд, хэвлэсэн зүйл болон нөөц соронзон хальснуудтайгаа цуг хадгалах
хэрэгтэй. Сэргээж байх үед таны анхаарал их сарнисан байж болох бөгөөд тэдгээр
тэмдэглэгээнүүд чинь таныг өөрийн нөөц соронзон хальснуудаа устгахаас сэргийлэх болно
(Яаж? tar xvf /dev/sa0 тушаалын оронд та
санамсаргүйгээр tar cvf /dev/sa0 гэж бичээд өөрийн
нөөц соронзон хальсыг дарж бичиж болох юм).
Аюулгүй байдлын нэмэгдэл арга хэмжээ болгож тухайг бүрт нь ачаалагдах уян
дискнүүд болон нөөц соронзон хальс хоёрыг бэлдэж байх хэрэгтэй. Тус бүрийг нь тусад нь алсад
өөр газар хадгалах хэрэгтэй. Тэр өөр газар нь яг тэр оффисийн байрны подвал байх
ЁСГҮЙ. Дэлхийн Худалдааны Төвийн хэд хэдэн фирм үүнийг хэцүү замаар мэдэрсэн
юм. Тэр өөр газар нь таны компьютерууд болон дискний хөтчүүдээс тусгаарлагдсан
физикийн хувьд нэлээд зайтай газар байх ёстой.
Ачаалагдах уян диск үүсгэх скрипт
/mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# create minimum file system table
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <
Гамшгийн дараа
Түлхүүр асуулт бол: таны тоног төхөөрөмж амьд гарч чадсан уу? Байнгын
нөөцлөлт хийж байсан болохоор програм хангамжийн талаар та санаа зовох хэрэггүй
юм.
Хэрэв тоног төхөөрөмж эвдэрсэн бол компьютерийг ашиглахаасаа өмнө
эвдэрсэн хэсгүүдийг солих шаардлагатай.
Хэрэв таны тоног төхөөрөмж зүгээр байгаа бол уян дискнүүдээ шалгаарай.
Хэрэв та тусгайлан өөрчилсөн ачаалах уян диск ашиглаж байгаа бол ганц хэрэглэгчийн
горим уруу ачаалах хэрэгтэй (boot: хүлээх мөрөн дээр
-s гэж бичнэ). Дараагийн хэсгийг алгасаарай.
Хэрэв та boot.flp болон
fixit.flp уян дискнүүдийг ашиглаж байгаа бол
цааш нь уншаарай. boot.flp уян дискээ эхний уян дискний
хөтөчдөө хийгээд компьютераа ачаалах хэрэгтэй. Эхний суулгах цэс дэлгэц дээр гарах
болно. Fixit--Repair mode with CDROM or floppy.
тохируулгыг сонгоно. fixit.flp-г асуухад нь хийнэ.
Танд хэрэгтэй restore болон бусад програмууд
/mnt2/rescue санд байрлана
(5.2 хувилбараас хуучин &os;-ийн хувьд
/mnt2/stand).
Файлын систем бүрийг тус тусад нь сэргээнэ.
mount
root хуваалт
bsdlabel
newfs
Өөрийн эхний дискний root хуваалтыг mount (өөрөөр хэлбэл
mount /dev/da0a /mnt) хийхийг оролдоорой. Хэрэв bsdlabel
эвдэрсэн бол bsdlabel тушаалыг ашиглан дискийг дахин
хувааж таны хэвлэж хадгалсан шошготой адил тааруулж хаяглах хэрэгтэй.
newfs тушаал ашиглан файлын системүүдийг дахин үүсгэнэ.
Уян дискний root хуваалтыг унших-бичихээр дахин холбох хэрэгтэй (mount -u -o rw
/mnt). Энэ файлын системийн хувьд өгөгдлийг сэргээхийн тулд
өөрийн нөөцлөх програм болон соронзон хальснуудыг ашиглана (өөрөөр хэлбэл restore vrf
/dev/sa0). Файлын системийг салгана (өөрөөр хэлбэл umount
/mnt). Эвдэрсэн файлын систем бүрийн хувьд давтана.
Таны систем ажилласны дараа өөрийн өгөгдлийг шинэ соронзон хальс уруу нөөцлөх хэрэгтэй.
Сүйрэл эсвэл өгөгдлийн алдагдалд хүргэсэн тэр явдал дахин болж болох юм. Одоо зарцуулсан
нэг цаг таныг зовлонд учрахаас хожим аварч болох юм.
* I Did Not Prepare for the Disaster, What Now?
]]>
Марк
Фонвил
Дахин зохион байгуулж өргөжүүлсэн
Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд
виртуал дискнүүд
дискнүүд
виртуал
Өөрийн компьютер уруу физикээр хийж болдог уян диск, CD-үүд, хатуу хөтчүүд гэх зэрэг
дискнүүдээс гадна бусад хэлбэрийн дискнүүд буюу виртуал дискнүүдийг
FreeBSD ойлгодог.
NFS
Coda
дискнүүд
санах ой
Эдгээрт Network File System буюу сүлжээний файлын систем
болон Coda зэрэг сүлжээний файлын системүүд, санах ой дээр тулгуурласан файлын
системүүд болон файл дээр тулгуурласан файлын системүүд орно.
FreeBSD-ийн ямар хувилбарыг ажиллуулж байгаагаас хамаарч та
файл дээр болон санах ой дээр тулгуурласан файлын системүүдийг үүсгэж
ашиглахдаа өөр өөр хэрэгслүүдийг хэрэглэх шаардлагатай болно.
Хэрэглэгчийн хувьд мэдэгдэлгүйгээр төхөөрөмжийн цэгүүдийг хуваарилахын тулд
&man.devfs.5;-г ашиглана.
Файл дээр тулгуурласан файлын систем
дискнүүд
файл дээр тулгуурласан
&man.mdconfig.8; хэрэгсэл нь FreeBSD дээр санах ой дээр тулгуурласан
дискнүүд, &man.md.4;-г тохируулж идэвхжүүлэхэд хэрэглэгддэг.
&man.mdconfig.8;-г ашиглахын тулд та &man.md.4; модулийг ачаалах
хэрэгтэй, эсвэл өөрийн цөмийн тохиргооны файлдаа дэмжлэгийг нэмэх
хэрэгтэй болно:
device md
&man.mdconfig.8; тушаал нь гурван төрлийн санах ой дээр тулгуурласан
виртуал дискийг дэмждэг: эдгээр нь &man.malloc.9;-р хуваарилагдсан санах
ойн дискнүүд, файл эсвэл swap зай ашигласан санах ойн дискнүүд юм.
Нэг боломжтой хэрэглээ нь файлд хадгалагдсан уян эсвэл CD дүрсийг
холбох явдал юм.
Байгаа файлын системийн дүрсийг холбохдоо:
mdconfig ашиглан байгаа файлын системийн дүрсийг холбох нь
&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0 /mnt
&man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ:
mdconfig тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; bsdlabel -w md0 auto
&prompt.root; newfs md0a
/dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
160, 2720, 5280, 7840
&prompt.root; mount /dev/md0a /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0a 4710 4 4330 0% /mnt
Хэрэв та тохируулгаар нэгжийн дугаарыг
зааж өгөхгүй юм бол &man.mdconfig.8; нь хэрэглэгдээгүй төхөөрөмжийг
сонгохын тулд &man.md.4; автомат хуваарилалтыг ашиглах болно.
Хуваарилагдсан нэгжийн нэр нь stdout уруу md4
мэтээр гарах болно. &man.mdconfig.8;-ийн тухай дэлгэрэнгүй
мэдээллийг гарын авлагын хуудаснаас лавлана уу.
&man.mdconfig.8; хэрэгсэл нь их ашигтай, гэхдээ энэ нь
файл дээр тулгуурласан файлын систем үүсгэхийн тулд олон тушаалын мөрийг
асуудаг. FreeBSD нь бас &man.mdmfs.8; гэж нэрлэгддэг хэрэгсэлтэй
ирдэг, энэ програм нь &man.md.4;-г &man.mdconfig.8; тушаал
ашиглан тохируулж &man.newfs.8; ашиглан UFS файлын систем түүн
дээр тавьж &man.mount.8; ашиглан түүнийг холбодог. Жишээ нь
хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг
хүсвэл ердөө л дараах тушаалыг бичээрэй:
mdmfs тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4718 4 4338 0% /mnt
Хэрэв та тохируулгыг нэгжийн дугааргүй
ашиглавал &man.mdmfs.8; нь ашиглагдаагүй төхөөрөмжийг автоматаар
сонгохдоо &man.md.4; авто-нэгж боломжийг ашиглах болно.
&man.mdmfs.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын
хуудаснаас лавлана уу.
Санах ой дээр тулгуурласан файлын систем
дискнүүд
санах ойн файлын систем
Санах ой дээр тулгуурласан файлын системийн хувьд
swap backing буюу swap дээрх тулгуурлалтыг
ихэнхдээ ашиглах хэрэгтэй. swap дээрх тулгуурлалтыг ашиглах нь санах ойн
диск нь анхдагчаар диск уруу swap хийгдэнэ гэсэн үг биш бөгөөд харин ердөө л санах
ойн диск нь санах ойн цөөрмөөс хуваарилагдаж хэрэв хэрэгцээтэй бол диск уруу
swap хийгдэж болно гэсэн үг юм. Мөн &man.malloc.9; дээр тулгуурласан
санах ойн дискийг үүсгэх боломжтой байдаг. Гэхдээ malloc дээр тулгуурласан
санах ойн дискнүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй
болох тохиолдолд системийг сүйрэлд хүргэж болох юм.
mdconfig тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&prompt.root; mdconfig -a -t swap -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
with soft updates
super-block backups (for fsck -b #) at:
160, 2752, 5344, 7936
&prompt.root; mount /dev/md1 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4718 4 4338 0% /mnt
mdmfs тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&prompt.root; mdmfs -s 5m md2 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mnt
Системээс санах ойн дискийг салгах нь
дискнүүд
санах ойн дискийг салгах нь
Санах ой дээр тулгуурласан эсвэл файл дээр тулгуурласан файлын систем
ашиглагдахгүй байгаа бол та бүх эх үүсвэрүүдийг системд суллаж өгөх
шаардлагатай. Эхний хийх ёстой зүйл нь файлын системийг салгаад дараа нь
&man.mdconfig.8; ашиглан дискийг системээс салгаж эх үүсвэрүүдийг
суллана.
Жишээ нь /dev/md4-г салгаж түүний хэрэглэсэн
бүх эх үүсвэрүүдийг чөлөөлөхийн тулд дараах тушаалыг ажиллуулна:
&prompt.root; mdconfig -d -u 4
Тохиргоо хийгдсэн &man.md.4; төхөөрөмжүүдийн тухай мэдээллийг
mdconfig -l тушаал ашиглан жагсааж болно.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Файлын системийн хормын хувилбарууд
файлын системүүд
хормын хувилбарууд
FreeBSD нь Soft Updates
буюу зөөлөн шинэчлэлтүүдийн хамт Файлын системийн хормын хувилбарууд
боломжийг санал болгодог.
Хормын хувилбарууд нь заасан файлын системүүдийн дүрсийг үүсгэж
тэдгээртэй файлтай ханддаг шиг хандах боломжийг хэрэглэгчид зөвшөөрдөг.
Хормын хувилбарын файлууд нь үйлдэл хийгдсэн файлын систем дээр
үүсгэгдэх ёстой бөгөөд нэг файлын системийн хувьд 20-с ихгүй хормын
хувилбаруудыг хэрэглэгч үүсгэж болно. Идэвхтэй хормын хувилбарууд нь
супер блокт бичигддэг бөгөөд ингэснээр тэдгээр нь системийн дахин ачаалалтуудын
үед салгах болон дахин холбох явцад тэсвэртэй байдаг. Хормын хувилбар нь
хэрэггүй болсон үед энэ нь стандарт &man.rm.1; тушаалаар устгагдаж
болно. Хормын хувилбарууд нь ямар ч дарааллаар устгагдаж болох
бөгөөд гэхдээ ашиглагдсан бүх зайг дахин олж авахгүй байж болох юм.
Учир нь өөр нэг хормын хувилбар чөлөөлөгдсөн блокуудын заримыг
шаардаж болзошгүй юм.
Өөрчлөгдөхгүй файл тохируулга нь
хормын хувилбарыг эхлээд үүсгэсний дараа &man.mksnap.ffs.8; тушаалаар
заагддаг. &man.unlink.1; тушаал нь хормын хувилбарын файлуудын хувьд
орхидог бөгөөд учир нь энэ нь тэдгээрийг устгахыг зөвшөөрдөг байна.
Хормын хувилбарууд нь &man.mount.8; тушаалаар үүсгэгддэг.
/var-ийн хормын хувилбарыг
/var/snapshot/snap файлд байрлуулахын тулд
дараах тушаалыг ашиглана:
&prompt.root; mount -u -o snapshot /var/snapshot/snap /var
Өөрөөр та хормын хувилбар үүсгэхийн тулд &man.mksnap.ffs.8;-г
ашиглаж болно:
&prompt.root; mksnap_ffs /var /var/snapshot/snap
Файлын систем (өөрөөр хэлбэл /var) дээр хормын хувилбарын
файлуудыг &man.find.1; тушаал ашиглан олж болно:
&prompt.root; find /var -flags snapshot
Хормын хувилбар үүсгэгдсэний дараа энэ нь хэд хэдэн хэрэглээтэй
байдаг:
Зарим администраторууд хормын хувилбарын файлыг нөөцийн зорилгоор
ашигладаг, учир нь хормын хувилбар нь CD-үүд эсвэл соронзон хальс уруу
дамжуулагдаж болдог.
Файлын системийн бүрэн бүтэн байдлыг шалгадаг &man.fsck.8; нь
хормын хувилбар дээр ажиллаж болдог. Файлын систем нь холбогдсон
үедээ цэвэр байсан гэж үзвэл та үргэлж цэвэр (өөрчлөгдөөгүй)
үр дүнг авах болно. Үүнийг гол нь арын &man.fsck.8;
процесс хийдэг.
&man.dump.8; хэрэгслийг хормын хувилбар дээр ажиллуулдаг.
Хормын хувилбарын файлын систем болон цагтай нэг янз хуулбар
хийгддэг. &man.dump.8; нь бас хормын хувилбарыг авч
нөөц дүрсийг үүсгэж чаддаг бөгөөд дараа нь хормын хувилбарыг
нэг тушаалаар тугийг ашиглан устгаж
чаддаг.
Хормын хувилбарыг файлын системийн хөлдөөгдсөн дүрс маягаар
&man.mount.8; хийдэг. /var/snapshot/snap
хормын хувилбарыг &man.mount.8; хийхийн тулд доор дурдсаныг
ажиллуулна:
&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mnt
Та одоо /mnt-д холбогдсон өөрийн хөлдөөгдсөн
/var файлын системийн шатлалаар аялж болно.
Хормын хувилбар үүсгэх үе дэх төлвийн адил төлөвт бүгд эхлээд байна.
Цорын ганц өөр зүйл нь өмнөх хормын хувилбарууд нь тэг урттай файлууд
маягаар гарч ирэх болно. Хормын хувилбарын хэрэглээг хязгаарлах
үед үүнийг дараах тушаалыг ажиллуулан салгаж болно:
&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4
буюу зөөлөн шинэчлэлтүүд болон
файлын системийн хормын хувилбаруудын талаар дэлгэрэнгүй мэдээллийг
техникийн баримтуудыг оролцуулаад та Маршал Кирк МкКюзикийн вэб хуудас
уруу зочлон орж үзэж болно.
Файлын системийн ноогдлууд
бүртгэл хийх
дискний зай
дискний ноогдлууд
Quota буюу ноогдол нь хэрэглэгч эсвэл бүлгийн гишүүдийн хувьд дискний зай ба/эсвэл
файлуудын тоог файлын систем тус бүрийн хувьд хуваарилж хязгаарлах боломжийг
бүрдүүлэх үйлдлийн системийн нэг нэмэлт боломж юм. Энэ нь дурын нэг хэрэглэгч
эсвэл бүлэг хэрэглэгчдийн хуваарилж болох эх үүсвэрүүдийг хязгаарлах шаардлагатай
цаг хуваалцах систем дээр ихэвчлэн хэрэглэгддэг. Энэ нь нэг хэрэглэгч эсвэл
бүлэг хэрэглэгчид бүх байгаа дискний зайг хэрэглэхээс хамгаалдаг юм.
Дискний ноогдлуудыг идэвхтэй болгохын тулд өөрийн системийг тохируулах нь
Дискний ноогдлыг ашиглаж эхлэхээсээ өмнө ноогдлууд нь цөмд тохируулагдсан
эсэхийг шалгах шаардлагатай. Дараах мөрийг өөрийн цөмийн тохиргооны файлд
нэмж үүнийг хийнэ:
options QUOTA
Анхны GENERIC цөм нь үүнийг анхнаасаа идэвхжүүлээгүй
байдаг болохоор та дискний ноогдлуудыг ашиглахын тулд тусгайлсан цөмийг тохируулж бүтээн
суулгах хэрэгтэй болох юм. Цөмийн тохиргооны талаар дэлгэрэнгүй мэдээллийг
-с лавлана уу.
Дараа нь та дискний ноогдлуудыг /etc/rc.conf файлд
идэвхжүүлэх хэрэгтэй. Дараах мөрийг нэмж үүнийг хийнэ:
enable_quotas="YES"
дискний ноогдлууд
шалгах нь
Өөрийн ноогдлын эхлүүлэлтэд сайн хяналт тавихад хэрэгтэй нэмэлт тохиргооны
хувьсагчууд байдаг. Ердийн үед ачаалалтын үеэр файлын систем бүрийн ноогдлын
бүрэн бүтэн байдал &man.quotacheck.8; програмаар шалгагддаг.
&man.quotacheck.8; боломж нь ноогдлын мэдээллийн бааз дахь өгөгдөл
файлын систем дээрх өгөгдлийг зөв тусгаж байгаа эсэхийг шалгаж байдаг.
Энэ нь хугацаа их шаардсан процесс бөгөөд таны систем ачаалах хугацаанд мэдэгдэхүйц
нөлөөлдөг. Хэрэв та энэ алхмыг алгасахыг хүсвэл энэ зорилгоор хувьсагчийг
/etc/rc.conf файлд тохируулах хэрэгтэй:
check_quotas="NO"
Төгсгөлд нь та файлын систем бүрийн хувьд дискний ноогдлуудыг идэвхжүүлэхийн
тулд /etc/fstab файлыг засварлах хэрэгтэй.
Энд та хэрэглэгч эсвэл бүлгийн ноогдлууд эсвэп хоёуланг нь өөрийн бүх файлын системийн
хувьд идэвхжүүлэх боломжтой юм.
Файлын систем дээр хэрэглэгч бүрийн хувьд ноогдлуудыг идэвхжүүлэхийн тулд
өөрийн ноогдлууд идэвхжүүлэхийг хүсэж байгаа файлын системийн хувьд
/etc/fstab файлын харгалзах оруулгын options буюу
тохируулгыг заах талбарт тохируулгыг нэмж
өгөх хэрэгтэй. Жишээ нь:
/dev/da1s2g /home ufs rw,userquota 1 2
Үүнтэй төстэйгээр бүлгийн ноогдлуудыг идэвхжүүлэхийн тулд
тохируулгын оронд
тохируулгыг ашиглах хэрэгтэй. Хэрэглэгч болон бүлгийн ноогдлуудыг хоёуланг нь
идэвхжүүлэхийн тулд оруулгыг ингэж өөрчилнө:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
Анхдагчаар ноогдлын файлууд файлын системийн root санд
хэрэглэгчийн ноогдлын хувьд quota.user, бүлгийн
ноогдлын хувьд quota.group нэрээр хадгалагддаг.
Дэлгэрэнгүй мэдээллийг &man.fstab.5;-с үзнэ үү. &man.fstab.5;
гарын авлагын хуудас ноогдлын файлуудын хувьд өөр байрлалыг зааж өгч болохыг
хэлдэг боловч ноогдлын төрөл бүрийн хэрэгслүүд үүнтэй зөв ажиллаж чаддаггүй
болохоор ингэхийг зөвлөдөггүй юм.
Энэ үед хүрээд та өөрийн системийг шинэ цөмтэй дахин ачаалах хэрэгтэй.
/etc/rc нь таны /etc/fstab
файлд идэвхжүүлсэн бүх ноогдлуудын хувьд эхний ноогдлын файлуудыг үүсгэдэг
тохирох тушаалуудыг автоматаар ажиллуулах бөгөөд ингэснээр ямар ч тэг урттай ноогдлын
файлуудыг гараар үүсгэх шаардлагагүй юм.
Ердийн үйлдлүүдийн үед &man.quotacheck.8;, &man.quotaon.8;, эсвэл
&man.quotaoff.8; тушаалуудыг та заавал ажиллуулах ёсгүй юм. Гэхдээ
тэдгээрийн хийдэг үйлдлүүдтэй танилцахын тулд тэдгээрийн гарын авлагын хуудаснуудыг
уншихыг хүсэж болох юм.
Ноогдлын хязгаарлалтуудыг тохируулах нь
дискний ноогдлууд
хязгаарлалтууд
Та ноогдлыг идэвхжүүлж өөрийн системийг тохируулсны дараа тэдгээр нь
яг жинхэнэдээ идэвхтэй болсон эсэхийг шалгаарай. Үүнийг хийх хялбар арга нь
дараах тушаалыг ажиллуулах явдал юм:
&prompt.root; quota -v
Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд дискний хэрэглээ
болон тухайн үеийн ноогдлын хязгаарлалтуудын ерөнхий нэг мөр үр дүнг харах
ёстой.
Та одоо &man.edquota.8; тушаал ашиглан ноогдлын хязгаарлалтуудыг
зааж өгч эхлэхэд бэлэн боллоо.
Хэрэглэгч эсвэл бүлгийн хуваарилж болох дискний зай болон тэд хичнээн файл
үүсгэж болох хэмжээний хязгаарлалтуудыг хүчлэн зааж өгч болох хэд хэдэн сонголт танд
байдаг. Та хуваарилалтыг дискний зай (блок ноогдлууд) эсвэл файлын тоо (inode ноогдлууд)
эсвэл хоёулангийн хослолоор хязгаарлан өгч болно. Эдгээр хязгаарлалт бүр дараа нь
хоёр зэрэглэлт хуваагддаг: энэ нь хатуу ба зөөлөн хязгаарлалтууд юм.
хатуу хязгаарлалт
Хатуу хязгаарлалтаас илүү гарч болохгүй. Хэрэглэгч өөрийн хатуу хязгаарлалтад
хүрэхэд асуудалтай байгаа файлын систем дээр хэрэглэгч ямар ч хуваарилалт хийж
чадахгүй болно. Жишээ нь хэрэв хэрэглэгч файлын систем дээр 500 кбайт хатуу
хязгаарлалттай бөгөөд 490 кбайтыг одоогоор ашиглаж байгаа бол хэрэглэгч
зөвхөн 10 кбайтыг нэмж хуваарилж чадна. 11 кбайт нэмж хуваарилахыг оролдох нь
амжилтгүй болох болно.
зөөлөн хязгаарлалт
Нөгөө талаас зөөлөн хязгаарлалтууд нь тодорхой хугацааны туршид илүү гарч
болно. Энэ хугацааг энэрэнгүй хугацаа гэдэг бөгөөд анхдагчаар нэг долоо хоног
байдаг. Хэрэв хэрэглэгч өөрийн зөөлөн хязгаарлалтаас илүү гарсан хэвээр
энэрэнгүй хугацааг өнгөрөх юм бол зөөлөн хязгаарлалт нь хатуу хязгаарлалт болж
дахин хуваарилалтыг зөвшөөрдөггүй. Хэрэглэгч зөөлөн хязгаарлалтаас доош
орвол энэрэнгүй хугацаа дахин тавигдах болно.
Дараах нь &man.edquota.8; тушаалыг ажиллуулах үед таны харж болох
гаралтын жишээ юм. &man.edquota.8; тушаалыг ажиллуулахад
EDITOR орчны хувьсагчид заагдсан засварлагч уруу
эсвэл EDITOR хувьсагч заагдаагүй бол
vi засварлагч уруу таныг оруулах бөгөөд энэ нь
ноогдлын хязгаарлалтуудыг засварлах боломжийг танд олгоно.
&prompt.root; edquota -u test
Quotas for user test:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)
Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд хоёр мөрийг ердийн үед
харах болно. Нэг мөр нь блокийн хязгаарлалтад, нөгөө мөр нь inode хязгаарлалтад
зориулагддаг. Ноогдлын хязгаарлалтуудыг өөрчлөхийн тулд та ердөө л утгыг шинэчлэхийг хүсэж
байгаа утгаараа солих хэрэгтэй. Жишээ нь энэ хэрэглэгчийн блок хязгаарлалтыг
зөөлөн хязгаарлалт 50, хатуу хязгаарлалт 75 байсныг зөөлөн хязгаарлалт 500 болон
хатуу хязгаарлалт 600 болгон өсгөхийн тулд дараах:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
мөрийг доорх шиг болгож өөрчлөх хэрэгтэй:
/usr: kbytes in use: 65, limits (soft = 500, hard = 600)
Таныг засварлагчаас гарсны дараа шинэ ноогдлын хязгаарлалтууд
байрандаа орох болно.
Заримдаа ноогдлын хязгаарлалтуудыг зарим UID-ийн хүрээний хувьд
зааж өгөх шаардлага гардаг. Үүнийг &man.edquota.8; тушаалд
тохируулгыг ашиглан хийдэг. Эхлээд хэрэглэгчид
хүссэн ноогдлын хязгаарлалтаа зааж өгөөд дараа нь
edquota -p protouser startuid-enduid
тушаалыг ажиллуулна. Жишээ нь хэрэв хэрэглэгч test
хүссэн ноогдлын хязгаарлалттай байгаа бол энэ ноогдлын хязгаарлалтыг
10,000-с 19,999 хүртэлх UID-уудад хувилж хамааруулахын тулд дараах тушаалыг
ажиллуулна:
&prompt.root; edquota -p test 10000-19999
Дэлгэрэнгүй мэдээллийг &man.edquota.8; гарын авлагын хуудаснаас үзнэ үү.
Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгах нь
дискний ноогдлууд
шалгах нь
Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгахын тулд
та &man.quota.1; эсвэл &man.repquota.8; тушаалын нэгийг
ашиглаж болно. &man.quota.1; тушаалыг хэрэглэгч эсвэл бүлгийн
ноогдлууд болон дискний зайг шалгахад хэрэглэж болно. Хэрэглэгч нь
зөвхөн өөрийн ноогдол болон өөрийн гишүүн бүлгийн ноогдлыг шалгаж
чадна. Зөвхөн супер хэрэглэгч бүх хэрэглэгч болон бүлгийн ноогдлуудыг
харж болно. &man.repquota.8; тушаалыг ноогдлууд идэвхжүүлэгдсэн
файлын системүүдийн хувьд бүх ноогдлууд болон дискний хэрэглээний
ерөнхий дүнг авахад хэрэглэж болно.
Дараах нь хоёр файлын систем дээр ноогдлын хязгаарлалттай хэрэглэгчийн
хувьд quota -v тушаалын жишээ гаралт
юм.
Disk quotas for user test (uid 1002):
Filesystem usage quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
энэрэнгүй хугацаа
Дээрх жишээний /usr файлын систем дээр
хэрэглэгч 50 кбайтын зөөлөн хязгаарлалтыг 15 кбайтаар илүүдүүлсэн
байгаа бөгөөд 5 хоногийн энэрэнгүй хугацаа үлдсэн байна. Од
* тэмдэгт нь хэрэглэгч өөрийн ноогдлын хязгаарлалтаас
илүү гарсныг харуулж байна.
Ердийн үед хэрэглэгч ямар ч дискний зай ашиглаагүй байгаа тийм файлын системүүд,
файлын системийн хувьд ноогдлын хязгаарлалт байсан ч гэсэн &man.quota.1; тушаалын
гаралтад харагддаггүй байна. тохируулга нь тэдгээр
файлын системүүдийг харуулах бөгөөд дээрх жишээн дээр
/usr/var файлын системийг харуулж
байна.
NFS дээгүүрх ноогдлууд
NFS
Ноогдлууд нь NFS сервер дээр ноогдлын дэд системээр хянагддаг.
&man.rpc.rquotad.8; демон нь NFS клиентүүд дээр өөрсдийн ноогдлын
статистикуудыг хэрэглэгчдэд үзэх боломжийг олгож ноогдлын мэдээллийг тэдгээр
машинууд дээр &man.quota.1; тушаалд бэлэн болгож өгдөг.
rpc.rquotad-г
/etc/inetd.conf файлд ингэж идэвхжүүлнэ:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Одоо inetd-г дахин ачаал:
&prompt.root; /etc/rc.d/inetd restart
Лаки
Грийн
Хувь нэмэр болгон оруулсан
shamrock@cypherpunks.to
Дискний хуваалтуудыг шифрлэх нь
дискнүүд
шифрлэх нь
FreeBSD нь өгөгдөлд зөвшөөрөгдөөгүй хандах хандалтын эсрэг
маш сайн шууд хамгаалалтуудыг санал болгодог. Файлын зөвшөөрлүүд болон
Mandatory Access Control (MAC) буюу Албадмал Хандалт Хяналт
(-г үзнэ үү) нь компьютер ассан, үйлдлийн систем
идэвхтэй байх үед зөвшөөрөлгүй гуравдагч нөхдүүдийг өгөгдөлд хандахаас
хамгаалахад тусалдаг. Гэхдээ хэрэв халдагч компьютерт физик хандалт олж аван
компьютерийн хатуу хөтчийг өөр систем уруу зөөн эмзэг өгөгдлийг хуулж шинжилгээ хийж чадах
бол үйлдлийн системийн мөрдүүлдэг зөвшөөрлүүд нь хамааралгүй болох юм.
Халдагч хэрхэн хатуу диск эсвэл унтраасан компьютерийг эзэмшсэнээс үл хамаарч
&os; дээрх GEOM Based Disk Encryption (gbde)
буюу GEOM дээр тулгуурласан дискний шифрлэлт болон geli
криптограф дэд системүүд нь компьютерийн файлын системүүд дээрх өгөгдлийг
бүр чухал эх үүсвэрүүд бүхий, зорилгодоо хүрэхээр ихээхэн чармайсан халдагчдаас
хамгаалж чадах юм. Зөвхөн тухайн файл бүрийг шифрлэдэг ярвигтай шифрлэлтийн
аргуудаас ялгаатай нь gbde болон geli
нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискний
хавтгайд цэвэр текст хэзээ ч бичигддэггүй.
gbde-ээр диск шифрлэх
root болно
gbde-г тохируулахад супер хэрэглэгчийн
эрхүүдийг шаарддаг.
&prompt.user; su -
Password:
Цөмийн тохиргооны файлдаа &man.gbde.4; дэмжлэгийг нэмнэ
Дараах мөрийг цөмийн тохиргооны файлдаа нэмнэ:
options GEOM_BDE
Цөмөө -д тайлбарласны дагуу дахин бүтээнэ.
Шинэ цөм уруугаа дахин ачаална.
Цөмийг дахин бүтээхээс өөр нэг арга нь kldload
ашиглаж &man.gbde.4;-г ачаалах явдал юм:
&prompt.root; kldload geom_bde
Шифрлэгдсэн хатуу хөтчүүдийг бэлдэх нь
Дараах жишээ нь таныг өөрийн систем уруу шинэ хатуу хөтөч нэмж
ганц шифрлэгдсэн хуваалтыг агуулна гэж тооцдог. Энэ хуваалт нь
/private гэж холбогдох болно.
gbde нь
/home болон /var/mail-г
бас шифрлэхэд ашиглагддаг боловч энэ нь энэ танилцуулгын хүрээнээс хальж
илүү төвөгтэй заавруудыг шаарддаг.
Шинэ хатуу хөтчийг нэмнэ
Шинэ хөтчийг систем уруу -д тайлбарласны дагуу нэмнэ. Энэ жишээн
дээр шинэ хатуу хөтчийн хуваалт /dev/ad4s1c
гэж нэмэгдсэн байгаа. /dev/ad0s1*
төхөөрөмжүүд нь жишээ систем дээр байгаа стандарт FreeBSD хуваалтуудыг
харуулж байна.
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4
gbde цоож файлуудыг агуулах санг үүсгэнэ
&prompt.root; mkdir /etc/gbde
gbde цоож файл нь шифрлэгдсэн хуваалтуудад
хандахад gbde-д шаардагдах мэдээллийг
агуулдаг. Цоож файлд хандах боломжгүй бол gbde
нь шифрлэгдсэн хуваалтын агуулсан өгөгдлийг хөндлөнгийн их хүч шаардсан оролцоогүйгээр
буцааж тайлж чадахгүй юм. Үүнийг програм хангамж дэмждэггүй.
Шифрлэгдсэн хуваалт бүр тусдаа цоож файл ашигладаг.
gbde хуваалтыг эхлүүлнэ
gbde хуваалт ашиглагдаж эхлэхээсээ өмнө
эхэлж тохируулагдсан байх шаардлагатай. Энэ эхний тохируулга нь зөвхөн нэг
удаа хийгдэх ёстой:
&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock
&man.gbde.8; нь загварт төрөл бүрийн тохиргооны сонголтуудыг зааж
өгөх боломжийг танд өгч таны засварлагчийг онгойлгох болно. UFS1
эсвэл UFS2-той ашиглахын тулд sector_size-г 2048 гэж заана:
$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]
&man.gbde.8; нь өгөгдлийг аюулгүй болгоход хэрэглэгдэх ёстой нэвтрэх
үгийг хоёр удаа бичихийг танаас хүснэ. Нэвтрэх үг нь хоёуланд нь адил
байх ёстой. gbde-ийн таны өгөгдлийг
хамгаалах чадвар таны сонгосон нэвтрэх үгийн чанараас бүхэлдээ
хамаарна.
Амархан тогтоож болох аюулгүй нэвтрэх үгийг хэрхэн сонгох талаар
зөвлөгөөнүүдийг Diceware
Passphrase вэб хуудаснаас үзнэ үү.
gbde init тушаал нь таны
gbde хуваалтад зориулж цоож файлыг
үүсгэх бөгөөд энэ жишээн дээр /etc/gbde/ad4s1c.lock
гэж хадгалагдсан байна. gbde цоож файлууд
нь /etc/rc.d/gbde эхлүүлэх скриптээр
зөв танигдахын тулд .lock
гэж төгсөх ёстой.
gbde цоож файлууд нь шифрлэгдсэн
хуваалтуудын агуулгатай цуг нөөцлөгдөх ёстой.
Зөвхөн цоож файлыг устгах нь шийдсэн халдагч
gbde хуваалтыг буцааж тайлахаас
хамгаалж чаддаггүй бөгөөд цоож файлгүйгээр хууль ёсны эзэмшигч
нь шифрлэгдсэн хуваалт дээрх өгөгдөлд &man.gbde.8; болон түүнийг зохиогчийн
ерөөсөө дэмждэггүй, их хүч шаардсан ажиллагаагүйгээр хандаж чадахгүй болох
юм.
Шифрлэгдсэн хуваалтыг цөмд залгана
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Шифрлэгдсэн хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх
үгийг оруулахыг танаас асуух болно. Шинэ шифрлэгдсэн төхөөрөмж
/dev дотор
/dev/device_name.bde гэж гарч
ирнэ:
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde
Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэнэ
Шифрлэгдсэн төхөөрөмж цөмд залгагдсаны дараа та энэ төхөөрөмж дээр
файлын систем үүсгэж болно. Шифрлэгдсэн төхөөрөмж дээр файлын
систем үүсгэхийн тулд &man.newfs.8;-г ашиглана. Хуучин UFS1
файлын системийг эхлүүлснээс шинэ UFS2 файлын системийг эхлүүлэх нь
хамаагүй хурдан учраас &man.newfs.8;-г
тохируулгатай хэрэглэхийг зөвлөдөг.
&prompt.root; newfs -U -O2 /dev/ad4s1c.bde
&man.newfs.8; тушаал нь төхөөрөмжийн нэрэндээ
*.bde гэж
өргөтгөлөөр танигдах залгагдсан gbde
хуваалт дээр хийгдэх ёстой.
Шифрлэгдсэн хуваалтыг холбоно
Шифрлэгдсэн файлын системд зориулж холбох цэгийг үүсгэнэ.
&prompt.root; mkdir /private
Шифрлэгдсэн файлын системийг холбоно.
&prompt.root; mount /dev/ad4s1c.bde /private
Шифрлэгдсэн файлын систем байгаа эсэхийг шалгана
Шифрлэгдсэн файлын систем одоо &man.df.1;-д харагдаж
ашиглахад бэлэн болох ёстой.
&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /private
Байгаа шифрлэгдсэн файлын системүүдийг холбох нь
Ачаалалт бүрийн дараа ямар ч шифрлэгдсэн файлын системүүдийг
ашиглаж эхлэхээсээ өмнө цөмд дахин залгаж, алдааг нь шалгаж холбож болно.
Шаардлагатай тушаалуудыг root хэрэглэгч
ажиллуулах ёстой гэж үздэг.
gbde хуваалтыг цөмд залгана
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Шифрлэгдсэн gbde хуваалтыг
эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг
танаас асуух болно.
Файлын систем дээр алдааг шалгана
Шифрлэгдсэн файлын системүүд нь автоматаар холбогдохын тулд
/etc/fstab файлд одоохондоо
жагсаагдах боломжгүй учир файлын системүүд дээр алдаа байгаа эсэхийг
шалгаж тэдгээрийг холбохоос өмнө &man.fsck.8;-г гараар ажиллуулах ёстой.
&prompt.root; fsck -p -t ffs /dev/ad4s1c.bde
Шифрлэгдсэн файлын системийг холбоно
&prompt.root; mount /dev/ad4s1c.bde /private
Шифрлэгдсэн файлын систем одоо ашиглахад бэлэн боллоо.
Шифрлэгдсэн хуваалтуудыг автоматаар холбох нь
Шифрлэгдсэн хуваалтыг автоматаар залган шалгаж холбох скриптийг үүсгэж
болох боловч аюулгүй байдлын шалтгаанаас болоод скрипт нь
&man.gbde.8; нууц үгийг агуулсан байх ёсгүй. Харин эдгээр
скриптүүдийг гараар ажиллуулж нууц үгийг консол эсвэл &man.ssh.1;-ээр
оруулахыг зөвлөдөг.
Өөр нэг арга нь rc.d скрипт байдаг. Энэ
скриптийн нэмэлт өгөгдлүүдийг &man.rc.conf.5;-оор дамжуулж болно,
жишээ нь:
gbde_autoattach_all="YES"
gbde_devices="ad4s1c"
gbde_lockdir="/etc/gbde"
Энэ нь gbde нэвтрэх үгийг ачаалах
үед оруулахыг шаарддаг. Зөв нэвтрэх үгийг бичсэний дараа
gbde шифрлэгдсэн хуваалт автоматаар
холбогдох болно. Энэ нь gbde-г
зөөврийн компьютер дээр хэрэглэж байгаа үед их ашигтай байдаг.
gbde-ийн ажиллуулдаг криптограф хамгаалалтууд
&man.gbde.8; нь 128-bit AES-ийг CBC горимд ашиглан сектор ачааг
шифрлэдэг. Диск дээрх сектор бүр өөр өөр AES түлхүүрээр шифрлэгддэг.
Секторын түлхүүрүүд хэрэглэгчийн оруулсан нэвтрэх үгээс хэрхэн гаргагддаг зэрэг
gbde-ийн криптограф дизайны талаар
дэлгэрэнгүйг &man.gbde.4;-ээс үзнэ үү.
Нийцтэй байдлын асуудлууд
&man.sysinstall.8; нь gbde-шифрлэгдсэн
төхөөрөмжүүдтэй нийцгүй байдаг. Бүх
*.bde төхөөрөмжүүдийг
&man.sysinstall.8; эхлүүлэхээс өмнө цөмөөс салгасан байх ёстой бөгөөд
ингэхгүй бол энэ нь төхөөрөмжүүдийг шалгаж эхлэхдээ сүйрэх болно. Бидний жишээн
дээр ашиглагдсан шифрлэгдсэн төхөөрөмжийг салгахдаа дараах тушаалыг
ашиглана:
&prompt.root; gbde detach /dev/ad4s1c
Мөн &man.vinum.4; нь &man.geom.4; дэд системийг
ашигладаггүйг анхаараарай, та gbde-г
vinum эзлэхүүнүүдтэй ашиглаж
болохгүй.
Даниэл
Гэрзо
Хувь нэмэр болгон оруулсан
geli-ээр диск шифрлэх нь
Шинэ криптограф GEOM ангилал &os; 6.0-с эхлэн
geli гэж орж иржээ. Үүнийг одоогоор
&a.pjd; хөгжүүлж байгаа болно. geli нь
gbde-ээс өөр бөгөөд энэ нь өөр боломжуудыг
санал болгож криптограф үйлдэлдээ өөр схемийг ашигладаг.
&man.geli.8;-ийн хамгийн чухал боломжууд бол:
&man.crypto.9; тогтолцоог ашигладаг —
криптограф тоног төхөөрөмж бэлэн болоход geli
түүнийг автоматаар ашигладаг.
Олон криптограф алгоритмуудыг дэмждэг (одоогоор AES, Blowfish,
болон 3DES).
root хуваалтыг шифрлэх боломжийг олгодог. Шифрлэгдсэн root
хуваалтад хандахад хэрэглэгддэг нэвтрэх үгийг систем ачаалахад
асуудаг.
Бие биеэндээ хамааралгүй хоёр түлхүүрүүдийг ашиглахыг
зөвшөөрдөг (өөрөөр хэлбэл key
болон
company key
).
geli нь хурдан байдаг. Энгийн сектороос сектор уруу
шифрлэлтийг хийдэг.
Мастер түлхүүрүүдийг нөөцлөх ба сэргээхийг зөвшөөрдөг. Хэрэглэгч
өөрийн түлхүүрүүдийг устгах хэрэгтэй болоход нөөцөөс түлхүүрүүдийг
сэргээж өгөгдөлд дахин хандах боломжтой болох юм.
Дискийг санамсаргүй, нэг удаагийн түлхүүрээр залгахыг
зөвшөөрдөг — энэ нь swap хуваалтууд болон түр зуурын
файлын системүүдэд ашигтай байдаг.
geli-ийн илүү боломжуудыг &man.geli.8;-ийн
гарын авлагын хуудаснаас олж болно.
Дараагийн алхмууд нь geli-ийн дэмжлэгийг &os; цөмд
хэрхэн идэвхжүүлэхийг тайлбарлах бөгөөд шинэ geli
шифрлэлт үзүүлэгчийг хэрхэн үүсгэх болон ашиглах талаар өгүүлэх болно.
geli-г ашиглахын тулд та &os; 6.0-RELEASE болон
түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас
супер хэрэглэгчийн эрхүүд хэрэгтэй болно.
Цөмд geli дэмжлэгийг
нэмэх нь
Дараах мөрийг цөмийн тохиргооны файлд нэмнэ:
options GEOM_ELI
device crypto
Цөмөө -д тайлбарласны дагуу дахин бүтээнэ.
Мөн geli модулийг ачаалах үед дуудаж болно.
Дараах мөрийг /boot/loader.conf файлд
нэмнэ:
geom_eli_load="YES"
&man.geli.8; нь одоо цөмд дэмжигдсэн байх ёстой.
Мастер түлхүүр үүсгэх нь
Дараах жишээ нь түлхүүр файлыг хэрхэн үүсгэх талаар тайлбарлах бөгөөд
энэ нь /private доор
холбогдсон шифрлэгдсэн үзүүлэгчийн Мастер түлхүүрийн хэсэг болон
ашиглагдах болно. Түлхүүр файл нь Мастер түлхүүрийг шифрлэхэд
хэрэглэгдэх зарим санамсаргүй өгөгдлийг өгөх болно. Мастер түлхүүр нь
нэвтрэх үгээр бас хамгаалагдах болно. Үзүүлэгчийн секторын хэмжээ
4kB том байх болно. Мөн энэ хэлэлцүүлэг нь geli
үзүүлэгчийг хэрхэн залгаж түүн дээр файлын систем үүсгэх, хэрхэн түүнийг
холбож ажиллах болон төгсгөлд нь хэрхэн салгах талаар тайлбарлах
болно.
Илүү сайн ажиллагааг хангахын тулд секторын том хэмжээг (4kB ч юм уу)
ашиглахыг зөвлөдөг.
Мастер түлхүүр нь нэвтрэх үгээр хамгаалагдах бөгөөд түлхүүр файлд зориулагдсан
өгөгдлийн эх нь /dev/random байх болно.
Бидний үзүүлэгч гэж нэрлэдэг /dev/da2.eli-ийн
секторын хэмжээ 4kB байх болно.
&prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1
&prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase:
Reenter new passphrase:
Нэвтрэх үг болон түлхүүр файлыг хоёуланг нь заавал ашиглах шаардлагагүй;
Мастер түлхүүрийг нууцлах аль ч аргыг тусад нь ашиглаж болно.
Хэрэв түлхүүр файл -
гэж өгөгдсөн бол стандарт
оролтыг ашиглана. Энэ жишээ нь нэгээс олон түлхүүр файлыг
хэрхэн ашиглаж болох талаар харуулж байна.
&prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
Үзүүлэгчийг үүсгэсэн түлхүүрийн тусламжтай залгах нь
&prompt.root; geli attach -k /root/da2.key /dev/da2
Enter passphrase:
Шинэ цэвэр текст төхөөрөмж
/dev/da2.eli
гэж нэрлэгдэх болно.
&prompt.root; ls /dev/da2*
/dev/da2 /dev/da2.eli
Шинэ файлын системийг үүсгэх нь
&prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m
&prompt.root; newfs /dev/da2.eli
&prompt.root; mount /dev/da2.eli /private
Шифрлэгдсэн файлын систем &man.df.1;-д харагдаж
ашиглахад бэлэн болох ёстой:
&prompt.root; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /private
Үзүүлэгчийг холбосныг салгаж залгасныг болиулах
Шифрлэгдсэн хуваалт дээрх ажил хийгдэж дуусаад
/private хуваалт
хэрэггүй болох үед geli шифрлэгдсэн
хуваалтыг холбосноо салган цөмд залгаснаа бас салгах нь зүйтэй
юм.
&prompt.root; umount /private
&prompt.root; geli detach da2.eli
&man.geli.8;-ийг хэрэглэх тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас
олж болно.
geli rc.d скриптийг ашиглах нь
geli нь geli-ийн
хэрэглээг хялбаршуулахад ашиглаж болох rc.d
скрипттэй цуг ирдэг. geli-г &man.rc.conf.5;-оор
тохируулах жишээг дараахаас харж болно:
geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"
Энэ нь /dev/da2-г
Мастер түлхүүр файл нь /root/da2.key-д байрлах
geli үзүүлэгч гэж тохируулах бөгөөд
үзүүлэгчийг залгаж байхдаа geli нь
нэвтрэх үгийг ашиглахгүй (хэрэв сонголт
geli init хийгдэх үед өгөгдсөн тохиолдолд энэ нь
ашиглагдах боломжтой). Систем нь geli
үзүүлэгчийг цөмөөс систем унтрахаас өмнө салгах болно.
rc.d-г тохируулах талаар дэлгэрэнгүй мэдээлэл
энэхүү гарын авлагын rc.d
хэсэгт байгаа болно.
Крисчан
Брюффэр
Бичсэн
Swap зайг шифрлэх
swap
шифрлэх
&os; дээрх swap-ийн шифрлэлт нь тохируулахад амархан байдаг бөгөөд
&os; 5.3-RELEASE-с эхлээд ийм боломжтой болсон юм. &os;-ийн аль
хувилбарыг ашиглаж байгаагаас хамаараад өөр өөр тохируулгууд байдаг бөгөөд
тохиргоо нь нэлээн өөр өөр байдаг. &os; 6.0-RELEASE-с эхлээд
&man.gbde.8; эсвэл &man.geli.8; шифрлэх системүүдийг swap-ийг
шифрлэхэд ашиглаж болно. Өмнөх хувилбаруудад зөвхөн &man.gbde.8;
байдаг. Энэ хоёр систем нь хоёулаа encswap
rc.d скриптийг
ашигладаг.
Өмнөх Дискний хуваалтуудыг шифрлэх
хэсэг нь өөр өөр шифрлэх системүүдийн тухай богино хэлэлцүүлгийг агуулдаг.
Swap яагаад шифрлэгдэх ёстой вэ?
Дискний хуваалтуудын шифрлэлтийн нэгэн адил swap зайн шифрлэлт нь эмзэг
мэдээллийг хамгаалахын тулд хийгддэг. Нууц үгстэй ажилладаг програм байлаа гэж
бодъё. Эдгээр нууц үгс нь физик санах ойд байгаа үед бүгд зүгээр байна. Гэхдээ
хэрэв үйлдлийн систем нь бусад програмуудад зориулж зайг чөлөөлөхийн тулд санах
ойн хуудаснуудыг swap хийж эхэлбэл нууц үгс нь дискний хавтгай дээр шифрлэгдэлгүй
бичигдэж болох бөгөөд энэ нь өрсөлдөгчийн хувьд олж авахад амархан болох юм.
Swap зайг шифрлэх нь энэ тохиолдолд шийдэл болж болох юм.
Бэлтгэл
Энэ хэсгийн үлдсэн хэсэгт ad0s1b нь
swap хуваалт байх болно.
Энэ хүртэл swap нь шифрлэгдээгүй байгаа билээ. Аль хэдийн нууц үгс эсвэл бусад
эмзэг өгөгдөл дискний хавтгайнууд дээр цэвэр текстээр байж болзошгүй юм. Үүнийг
засварлахын тулд swap хуваалт дээрх өгөгдлийг санамсаргүй хаягдлаар дарж бичих
хэрэгтэй:
&prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m
&man.gbde.8; ашиглан swap шифрлэлт хийх
Хэрэв &os; 6.0-RELEASE болон түүнээс шинэ хувилбар ашиглагдаж байгаа бол
.bde дагаварыг /etc/fstab-ийн
тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.bde none swap sw 0 0
&os; 6.0-RELEASE хувилбараас өмнөх системүүдэд дараах мөр нь
/etc/rc.conf файлд бас хэрэгтэй:
gbde_swap_enable="YES"
&man.geli.8; ашиглан swap шифрлэлт хийх
Өөрөөр, swap шифрлэлтэд зориулж &man.geli.8;-г ашиглах процедур нь
&man.gbde.8; ашиглахтай төстэй. .eli дагаварыг
/etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид
нэмэх шаардлагатай:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.eli none swap sw 0 0
&man.geli.8; нь AES алгоритмийг анхдагчаар
256 битийн урттай түлхүүртэй ашигладаг.
Мөн эдгээр анхдагчуудыг /etc/rc.conf файлд
geli_swap_flags тохируулгыг ашиглан
өөрчилж болно. Дараах мөр нь encswap rc.d
скриптийг detach on last close
тохируулгыг зааж 4
килобайтын секторын хэмжээтэй, 128 бит түлхүүрийн урттайгаар Blowfish
алгоритм ашиглан &man.geli.8; swap хуваалт үүсгэ гэж хэлж байна:
geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
&os; 6.2-RELEASE хувилбараас өмнөх системүүд дээр доор дурдсан мөрийг ашиглана:
geli_swap_flags="-a blowfish -l 128 -s 4096 -d"
&man.geli.8; гарын авлагын хуудсан дахь onetime тушаалын тайлбараас
боломжит тохируулгуудын жагсаалтыг лавлана уу.
Ажиллаж байгаа эсэхийг шалгах
Систем дахин ачаалагдсаны дараа шифрлэгдсэн swap-ийн зөв үйлдлийг
swapinfo тушаал ашиглан шалгаж
болно.
Хэрэв &man.gbde.8; ашиглагдаж байвал:
&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.bde 542720 0 542720 0%
Хэрэв &man.geli.8; ашиглагдаж байвал:
&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
index 06fc7194da..ebf632bcce 100644
--- a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
@@ -1,1454 +1,1454 @@
Жим
Мок
Шинэчилж дахин бүтцийг өөрчилсөн
Жэйк
Хэмби
Анхлан хувь нэмэр болгож оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
FreeBSD цөмийг тохируулах нь
Ерөнхий агуулга
цөм
өөрчлөн тохируулж цөм бүтээх нь
Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах,
аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах
зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах
болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.
Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг
хэрхэн өөрчлөх талаар.
Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.
Шинэ цөмийг хэрхэн суулгах талаар.
Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.
Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд
root эрхээр ажиллах ёстой.
Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?
Уламжлалаар бол &os; нь monolithic
цөмтэй байсан байна.
Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм
байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж
дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.
Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг
ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж
байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA
картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх
хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг
бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.
Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим
тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх
боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар
ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.
Өөрчлөн тохируулсан цөм бүтээх нь BSD хэрэглэгчийн хувьд хамгийн чухал тэсвэрлэн давж гарах
ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд
олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой
GENERIC цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь
зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:
Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн
шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.
Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь ихэнхдээ
GENERIC цөмөөс бага санах ойг ашигладаг бөгөөд
энэ нь их чухал юм, яагаад гэвэл цөм үргэлж жинхэнэ санах ойд байж байх
шаардлагатай байдаг. Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем
дээр ялангуяа ашигтай байдаг.
Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг
GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг
нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.
Том
Рөүдс
Бичсэн
Системийн тоног төхөөрөмж хайж олох нь
Цөмийн тохиргоо уруу орж үзээд алдахаасаа өмнө машиныхаа
тоног төхөөрөмжийн бүртгэлийг олж авах нь ухаалаг явдал юм.
&os; нь үндсэн үйлдлийн систем биш тохиолдолд байгаа үйлдлийн
системийн тохиргоог харан бүртгэлийн жагсаалтыг хялбархан
үүсгэж болно. Жишээ нь µsoft;-ийн
Device Manager буюу төхөөрөмжийн
менежер нь суулгагдсан төхөөрөмжүүдийн талаарх чухал
мэдээллийг ихэвчлэн агуулдаг.
Device Manager нь control panel
буюу хяналтын самбарт байрладаг.
µsoft.windows;-ийн зарим хувилбаруудад
System гэсэн дүрс байдаг бөгөөд
энэ нь Device Manager уруу хандах
боломжтой дэлгэцийг харуулдаг.
Хэрэв өөр үйлдлийн систем машин дээр байхгүй бол
администратор энэ мэдээллийг өөрөө олох хэрэгтэй болно.
Нэг арга нь &man.dmesg.8; хэрэгсэл болон &man.man.1;
тушаалуудыг ашиглах явдал юм. &os; дээр ихэнх төхөөрөмжийн
драйверууд нь дэмжигдсэн тоног төхөөрөмжүүдийн жагсаалтыг
харуулсан гарын авлагын хуудастай байдаг бөгөөд ачаалах үед
шалгаж байх явцад олдсон тоног төхөөрөмжийг харуулдаг.
Жишээ нь дараах мөрүүд нь psm
драйвер хулгана олсон гэдгийг харуулж байна:
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
Энэ драйвер нь өөрчлөн тохируулах цөмийн тохиргооны
файлд орсон байх эсвэл &man.loader.conf.5; ашиглан ачаалагдсан
байх хэрэгтэй болно.
Зарим тохиолдолд dmesg-ээс гарч
байгаа өгөгдөл нь ачаалалтын шалгалт, илрүүлэлтийн гаралтыг
биш зөвхөн системийн мэдэгдлүүдийг үзүүлдэг. Эдгээр тохиолдлуудад
/var/run/dmesg.boot файлыг
үзэн гаралтыг олж авч болно.
Тоног төхөөрөмжийг олох өөр нэг арга бол илүү дэлгэрэнгүй
гаралтыг үзүүлдэг &man.pciconf.8; хэрэгслийг ашиглах явдал юм.
Жишээ нь:
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernet
pciconf ашиглан
олж авсан энэ бяцхан мэдээлэл нь ath
драйвер утасгүй Ethernet төхөөрөмжийг олсныг харуулж байна.
man ath тушаалыг
ашиглавал &man.ath.4; гарын авлагын хуудсыг харуулах
болно.
Ашигтай мэлээлэл олж авахын тулд &man.man.1; уруу
тугийг өгөн ашиглаж болно. Дээрхээс
ингэж өгч болно:
&prompt.root; man -k Atheros
Тухайн нэг үг агуулсан гарын авлагын хуудсын жагсаалтыг
олж авахын тулд:
ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)
Тоног төхөөрөмжийн жагсаалтаар зэвсэглэснээр
цөмийг өөрчлөн тохируулж бүтээх процесс нь арай хялбар болно.
Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь
цөм
бүтээх / суулгах
Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь
/usr/src/sys сан байх бөгөөд
/sys гэсэн замаар бас хандах боломжтой.
Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд
бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог
засварлах arch/conf
сангууд болон таны цөм бүтээгдэх шатны талбар compile
сан юм. arch нь
i386, alpha,
amd64, ia64,
powerpc, sparc64, эсвэл
pc98 (Японд их ашиглагддаг PC тоног төхөөрөмжийн
өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх
код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх
боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн
логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд
санд байгаа тохируулга бүртэй хамт байгааг харж болно.
Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ.
Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын
нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.
Хэрэв таны систем дээр /usr/src/sys сан
байхгүй бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар
хийхийн тулд root эрхээр sysinstall
ажиллуулж Configure сонгоод, дараа нь
Distributions сонгоод,
src сонгоод, дараа нь
base болон
sys-г сонгож татаж авна. Хэрэв та
sysinstall -д дургүй ба
албан ёсны
&os; CDROM-д хандах боломжтой бол
тушаалын мөрөөс эхийг бас суулгаж болно:
&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
&prompt.root; cat /cdrom/src/sbase.[a-d]* | tar -xzvf -
Дараа нь arch/conf
сан уруу шилжээд GENERIC тохиргооны файлыг та өөрийн цөмдөө өгөх
нэр уруу хуул. Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
-&prompt.root; cp GENERIC MYKERNEL
+&prompt.root; cp GENERIC MYKERNEL
Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os;
машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм.
- Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе.
+ Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе.
Өөрийн цөмийн тохиргооны файлаа шууд /usr/src
доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол
/usr/src -ийг устгаад л дахиж эхлэх нь зоригтой
алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн
өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно.
Мөн GENERIC файлыг шууд засварлах хэрэггүй бөгөөд
дараагийн удаа өөрийн эх модыг шинэчлэх
үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.
Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь
i386 сан дахь
файл уруу тэмдэгт холбоос үүсгэж болно.
Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNEL
- Одоо MYKERNEL -ийг өөрийн дуртай текст засварлагч дээр
+ Одоо MYKERNEL-ийг өөрийн дуртай текст засварлагч дээр
засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь
vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий
төвөгтэй боловч номын жагсаалтад
байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь ee
гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь
таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл GENERIC
файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг
чөлөөтэй өөрчлөөрэй.
SunOS
Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол
энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн
системээс ирж байгаа бол нөгөө талаасаа GENERIC
тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд
Тохиргооны файл хэсгийн
тайлбаруудыг удаан нухацтай дагаарай.
Хэрэв та &os; төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол
шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө /usr/src/UPDATING
файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай
анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг.
/usr/src/UPDATING нь үргэлж таны &os;
хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх
байдаг.
Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.
Цөмийг бүтээх нь
/usr/src сан уруу орно:
&prompt.root; cd /usr/src
Цөмийг хөрвүүлнэ:
&prompt.root; make buildkernel KERNCONF=MYKERNEL
Шинэ цөмийг суулгана:
&prompt.root; make installkernel KERNCONF=MYKERNEL
Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай.
Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх
цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг
эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж
эхлэхээсээ өмнө /etc/make.conf файлыг засварлах
хэрэгтэй:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.
WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүтээх процессод оруулахгүй байх модулиудын жагсаалтыг
тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад
хувьсагчуудын тухайд &man.make.conf.5; гарын авлагын хуудсанд хандаж
үзнэ үү.
/boot/kernel.old
Шинэ цөм /boot/kernel санд
/boot/kernel/kernel нэрээр хуулагдах бөгөөд
хуучин цөм нь /boot/kernel.old/kernel уруу хуулагдана.
Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол
энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах
заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх
талаар тайлбарласан хэсгийг заавал уншаарай.
Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд
/boot -д хадгалагдана. Гуравдагч этгээдийн
эсвэл өөрчлөн тохируулсан модулиуд /boot/kernel-д
байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг
хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь
тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.
Жоэл
Даль
&os; 6.X -д зориулан шинэчилсэн
Тохиргооны файл
цөм
ТЭМДЭГЛЭЛҮҮД
ТЭМДЭГЛЭЛҮҮД
цөм
тохиргооны файл
Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ.
Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно.
Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна.
# тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд
хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг GENERIC -д
жагсаасан дарааллаар нь тайлбарлаж байна.
Архитектураас хамааралтай
тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар
GENERIC файл байгаа сангийн нэгэн адил санд байрлах
NOTES файлаас үзнэ үү.
Архитектураас хамааралгүй тохируулгуудын талаар
/usr/src/sys/conf/NOTES файлаас үзнэ үү.
Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ
дараах тушаалыг root эрхээр ажиллуулна:
&prompt.root; cd /usr/src/sys/i386/conf && make LINT
цөм
тохиргооны файл
Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий
GENERIC цөмийн тохиргооны файл юм. Энэ жишээ нь
таны /usr/src/sys/i386/conf/GENERIC
дахь хуулбартай их ойрхон таарах ёстой.
цөмийн тохируулгууд
machine
machine i386
Энэ нь машины архитектур юм. Энэ нь
alpha, amd64,
i386, ia64,
pc98, powerpc, эсвэл
sparc64 -ийн аль нэг байх ёстой.
цөмийн тохируулгууд
cpu
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана.
Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та
I586_CPU эсвэл I686_CPU
хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан
цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн
CPU-ийн төрлийг сайн мэдэхгүй байгаа бол /var/run/dmesg.boot
файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.
цөмийн тохируулгууд
ident
ident GENERIC
Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та
түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн
- шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх
+ шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх
хэрэгтэй. ident мөрд оруулсан утга нь таныг цөмийг ачаалах
үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл
шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг
хүсвэл).
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
&man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг
хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь
/boot/device.hints байна.
hints тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг
статикаар хөрвүүлж болно. Тэгэхэд /boot дотор
device.hints файл үүсгэх шаардлагагүй
болох юм.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
&os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг
бөгөөд цөмийг бүтээх үед тохируулгыг &man.gcc.1;
уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг.
options SCHED_4BSD # 4BSD scheduler
&os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.
options PREEMPTION # Enable kernel thread preemption
Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар
солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг
(interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.
options INET # InterNETworking
Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй.
Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC
дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй
шаардлагатай.
options INET6 # IPv6 communications protocols
Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг.
options FFS # Berkeley Fast Filesystem
Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс
ачаалах бол үлдээгээрэй.
options SOFTUPDATES # Enable FFS Soft Updates support
Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд
диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг
цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай.
Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг
&man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та soft-updates
тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд)
эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй.
options UFS_ACL # Support for access control lists
Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг.
Энэ нь өргөтгөсөн шинж чанарууд ба UFS2-ийг ашиглахад
тулгуурлаж байгаа бөгөөд энэ боломжийн талаар дээр
дэлгэрэнгүй тайлбарласан байдаг. ACL-үүд эхэндээ
идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан
бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж
болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.
options UFS_DIRHASH # Improve performance on big directories
Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний
үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах
ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд
хэрэв та &os;-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач
холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.
options MD_ROOT # MD is a potential root device
Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах
виртуал дискний дэмжлэгийг идэвхжүүлдэг.
цөмийн тохируулгууд
NFS
цөмийн тохируулгууд
NFS_ROOT
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс
хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.
цөмийн тохируулгууд
MSDOSFS
options MSDOSFS # MSDOS Filesystem
&ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг
ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно.
Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах
болно. Мөн маш сайн emulators/mtools
програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг
бүрдүүлдэг (энэ нь MSDOSFS-ийг огт шаарддаггүй).
options CD9660 # ISO 9660 Filesystem
CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч
байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г
холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно.
Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.
options PROCFS # Process filesystem (requires PSEUDOFS)
Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын
ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг
/proc дээр холболт хийгдсэн хуурамч
файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд
PROCFS -гүйгээр ажиллахаар хийгдсэн байдаг:
суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс
PROCFS-ийг ашиглах нь ихэнх тохиолдолд
шаардлагагүй байдаг.
options PSEUDOFS # Pseudo-filesystem framework
6.X цөмүүд PROCFS ашиглаж байгаа бол бас
PSEUDOFS дэмжлэгийг оруулах шаардлагатай.
options GEOM_GPT # GUID Partition Tables.
Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг
авчирна.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож
хаавал зарим програмууд сонин ажиллаж эхэлнэ.
options COMPAT_FREEBSD4 # Compatible with &os;4
Энэ тохируулга нь &os; 5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин
хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг
програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй
бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64;
зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.
options COMPAT_FREEBSD5 # Compatible with &os;5
Энэ тохируулга нь &os; 5.X системийн дуудлагын интерфэйсүүдийг ашигладаг,
&os; 5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг &os; 6.X болон
түүнээс дараа үеийн хувилбарууд дээр дэмжихэд шаардлагатай.
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв
та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын
тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг
танихгүй бол та дахин үүнийг ихэсгэж болно.
options KTRACE # ktrace(1) support
Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг.
options SYSVSHM # SYSV-style shared memory
Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн
өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд
автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг
хүсэх болно.
options SYSVMSG # SYSV-style message queues
System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг
цөмд нэмдэг.
options SYSVSEM # SYSV-style semaphores
System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч
хэдхэн зуун байтыг цөмд нэмдэг.
&man.ipcs.1; тушаалын тохируулга нь эдгээр
System V боломж бүрийг ашигласан процессуудыг жагсаадаг.
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын
цуглуулгаас зарим програмууд эдгээрийг ашигладаг (&staroffice;).
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
Энэ тохируулга нь гарын төхөөрөмжийн цэгийг /dev-д үүсгэх боломжийг
олгоход шаардлагатай байдаг.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд
энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж
байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар
идэвхтэйгээр сольж байгаа билээ. ADAPTIVE_GIANT тохируулга нь
хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread)
Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон
байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд
эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол
үүнийг орхино уу.
&os; 8.0-CURRENT болон түүнээс хожуу үеийн хувилбаруудад бүх
мутексууд нь NO_ADAPTIVE_MUTEXES тохируулгатайгаар
бүтээгдэж зохицох чадваргүй гэж тохируулагдаагүй л бол анхдагчаар адаптив буюу
зохицох чадвартай байдаг. Иймээс одоо Giant нь зохицох чадвартай
бөгөөд ADAPTIVE_GIANT тохируулга нь цөмийн тохиргооноос
хасагдсан юм.
цөмийн тохируулгууд
SMP
device apic # I/O APIC
apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг.
apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд
гэхдээ SMP цөмд зайлшгүй шаардлагатай. options SMP
мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.
apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд
энэ тохиргооны мөрийг бусад архитектурууд дээр
ашиглах ёсгүй юм.
device eisa
Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх
төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.
device pci
Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат
илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.
# Floppy drives
device fdc
Энэ нь уян диск хөтлөгчийн хянагч.
# ATA and ATAPI devices
device ata
Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын
бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг
device ata мөр таны цөмд хэрэгтэй.
device atadisk # ATA disk drives
Энэ нь device ata мөртэй цуг ATA дискний
төхөөрөмжүүдэд хэрэгтэй.
device ataraid # ATA RAID drives
Энэ нь device ata мөртэй цуг ATA RAID
хөтлөгчүүдэд хэрэгтэй.
device atapicd # ATAPI CDROM drives
Энэ нь device ata мөртэй цуг ATA CDROM
хөтлөгчүүдэд хэрэгтэй.
device atapifd # ATAPI floppy drives
Энэ нь device ata мөртэй цуг ATA уян дискний
хөтлөгчүүдэд хэрэгтэй.
device atapist # ATAPI tape drives
Энэ нь device ata мөртэй цуг ATA соронзон хальсны
хөтлөгчүүдэд хэрэгтэй.
options ATA_STATIC_ID # Static device numbering
Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр
төхөөрөмжийн дугаарууд динамикаар өгөгддөг.
# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
device ahd # AHA39320/29320 and onboard AIC79xx devices
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу.
Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.
*_REG_PRETTY_PRINT мөрүүд нь өөр өөрийнхөө тохирох
драйверуудад зориулагдсан дибаг хийх тохируулгууд юм.
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)
SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар
болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг
бүгдийг устгаж болно.
USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ
SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор
хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй
эсэхээ шалгаарай.
# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID
Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол
тайлбар болгон хааж эсвэл устгаж болно.
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
Гарын хянагч (atkbdc) AT гар ба PS/2 загварын заагч
төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер
(atkbd) болон PS/2 заагч төхөөрөмжийн драйвер
(psm) шаарддаг.
device atkbd # AT keyboard
atkbd драйвер нь atkbdc
хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн
гаруудад хандах боломж олгодог.
device psm # PS/2 mouse
Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг
ашиглана уу.
device kbdmux # keyboard multiplexer
Олон гар залгах боломжийн анхны дэмжлэг.
Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр
устгаж болно.
device vga # VGA video card driver
Видео картын драйвер.
device splash # Splash screen and screen saver support
Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.
# syscons is the default console driver, resembling an SCO console
device sc
sc нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг.
Ихэнх бүрэн дэлгэцийн програмууд консол уруу termcap зэрэг
терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл
VT220-тай нийцтэй консол драйвер болох vt-ийг
ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа
асуудалтай байвал өөрийн TERM хувьсагчаа scoansi
болгоорой.
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм.
Энэ нь sc-тэй нийцгүй зарим зөөврийн компьютер дээр сайн
ажилладаг. Та нэвтэрсний дараа өөрийн TERM хувьсагчаа
vt100 эсвэл vt220 болгоорой.
Мөн энэ драйвер нь sc төхөөрөмжүүдэд зориулсан
termcap эсвэл terminfo
оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр
дамжин холбогдох үед ашигтай байж болно — vt100
нь виртуалаар дурын тавцан дээр байх ёстой.
device agp
Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн
дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.
APM
# Power management support (see NOTES for more options)
#device apm
Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай,
гэхдээ энэ нь &os; 5.X болон түүнээс хойшх хувилбаруудад GENERIC-д
анхдагчаар хаалттай байдаг.
# Add suspend/resume support for the i8254.
device pmtimer
APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер
төхөөрөмжийн драйвер.
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus
PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа
бол энэ танд хэрэгтэй.
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
Эдгээр нь &ms-dos;/&windows; ертөнцөд
COM портууд хэмээгддэг сериал портууд юм .
Хэрэв та COM4 дээр дотуур модемтой бөгөөд
COM2 дээр сериал порттой бол &os; -ээс хандахын
тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9)
болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн
/boot/device.hints файлд нэмэх зөв утгуудын
талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай.
Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно)
0x*2e8 хэлбэртэй IO хаягуудыг ашигладаг бөгөөд
олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир
энэ нь тэдгээр карттай зөрчилдөж COM4 портыг
бараг л ашиглах боломжгүй болгодог.
Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал
ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд)
шаардлагатай учир COM3 болон
COM4-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.
# Parallel port
device ppc
Энэ нь ISA-шугамын параллел порт интерфэйс юм.
device ppbus # Parallel port bus (required)
Параллел портын шугамын дэмжлэгийг хангадаг.
device lpt # Printer
Параллел порт хэвлэгчүүдийн дэмжлэг.
Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа
шаардлагатай.
device plip # TCP/IP over parallel
Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм.
device ppi # Parallel port interface device
Ерөнхий-зориулалтын I/O (geek port
) + IEEE1284
I/O.
#device vpo # Requires scbus and da
zip drive
Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. scbus болон
da дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа
портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.
#device puc
Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг дүлий
сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг
болиулаарай.
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip
)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon
)
device vx # 3Com 3c590, 3c595 (Vortex
)
Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг
тайлбар болгон хааж эсвэл устгаарай.
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай
бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил
ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно.
device miibus мөрийг цөмийн тохиргоонд нэмснээр
ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан
ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно.
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire
)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC
)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang
, Cyclone
)
MII шугамын хянагчийн кодыг ашигладаг драйверууд.
# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device le
ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг
/usr/src/sys/i386/conf/NOTES-ээс
харна уу.
# Wireless NIC cards
device wlan # 802.11 support
802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд
шаардлагатай.
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг.
Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг
ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай.
device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.
# Pseudo devices
device loop # Network loopback
Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм.
Хэрэв та localhost (өөрөөр бас 127.0.0.1) уруу telnet эсвэл FTP хийвэл
энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь
зайлшгүй шаардлагатай.
device random # Entropy device
Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.
device ether # Ethernet support
Танд Ethernet карт байгаа тохиолдолд зөвхөн ether хэрэгтэй.
Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг.
device sl # Kernel SLIP
sl нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар
суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү
чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.
device ppp # Kernel PPP
Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн
tun-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар
залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар
хийгдсэн хувилбар ч бас байдаг.
device tun # Packet tunnel.
Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг.
Дэлгэрэнгүй мэдээллийг энэ номын PPP
хэсгээс үзнэ үү.
device pty # Pseudo-ttys (telnet etc)
Энэ нь псевдо-терминал
эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм.
Энэ нь ирж байгаа telnet болон
rlogin сессүүд, xterm,
болон Emacs зэрэг бусад програмуудад
ашиглагддаг.
device md # Memory disks
Санах ойн диск псевдо-төхөөрөмжүүд.
device gif # IPv6 and IPv4 tunneling
Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4,
IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг.
gif төхөөрөмж нь авто-клон
хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.
device faith # IPv6-to-IPv4 relaying (translation)
Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад
IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг.
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь
цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг,
бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог.
Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар
шалгаж болно.
Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг
&man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг.
Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device ural # Ralink Technology RT2500USB wireless NICs
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet
Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.
# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.
&os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг
/usr/src/sys/i386/conf/NOTES
файлаас үзнэ үү.
Том санах ойн тохируулгууд (PAE)
Физик хаягийн өргөтгөлүүд
(PAE)
том санах ой
Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн
(KVA) 4 гигабайт хязгаараас их уруу хандах
шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон
сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.
&intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн
Физик Хаягийн Өргөтгөл (PAE) боломж нь 64 гигабайт хүртэлх
санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн
одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны
тохируулгаар дэмждэг. Интелийн санах ойн
архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах
ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох
санах ойн санд нэмэгддэг.
PAE дэмжлэгийг цөмд нээхдээ
цөмийн тохиргооны файлд дараах мөрийг нэмнэ:
options PAE
&os; дэх PAE дэмжлэг зөвхөн
&intel; IA-32 процессоруудад байдаг. Мөн &os; дэх
PAE дэмжлэг нь өргөн шалгагдаагүй бөгөөд
&os;-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад
тооцогддог.
&os; дэх PAE дэмжлэг нь цөөн хэдэн хязгааруудтай:
VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.
Модул болон цөмийн бүтээх ажлын хүрээний ялгаатай байдлаас болж
KLD модулиудыг PAE
идэвхжүүлсэн цөмд ачаалж болохгүй.
&man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд
PAE-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг
үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас PAE-г
идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй
PAE цөмийн тохиргооны файл &os;-д байдаг.
Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн
хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь PAE
системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг.
Тийм нэг жишээнүүдийн нэг нь sysctl-ийн
тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг.
Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.
Магадгүй цөмийн виртуал хаягийн (KVA) зайг ихэсгэх
эсвэл KVA-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг
(дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай
байж болох юм. цөмийн тохируулга нь
KVA зайг ихэсгэхэд ашиглагдаж болно.
Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын
авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь
&os;-ийн PAE дэмжлэгийн тухай хамгийн сүүлийн
үеийн мэдээллийг агуулдаг.
Хэрэв ямар нэг юм буруутвал
Өөрчлөн тохируулсан цөмийг бүтээж байх үед 4 төрлийн асуудал гарч
болзошгүй байдаг. Тэдгээр нь:
config амжилтгүй болох:
Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал
амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу.
Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг
хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь,
хэрэв та доор дурдсаныг харвал:
config: line 17: syntax error
Түлхүүр үг зөв бичигдсэн эсэхийг GENERIC
цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.
make амжилтгүй болох:
Хэрэв make тушаал амжилтгүй болбол
энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж
чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд,
өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй
бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал
илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.
Цөм ачаалахгүй байх:
Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй
байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд
зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас
ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд
хандах боломжтой болно. Escape to a loader prompt
тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр unload kernel
гэж бичээд boot /boot/kernel.old/kernel
эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин
тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж
ухаалаг санаа байдаг.
Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж
цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол
бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн
бичлэгийг хийдэг /var/log/messages файл юм.
Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг
хэвлэдэг.
Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол
GENERIC болон өөр бусад ажилладаг
цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр
гарын дор хадгалж байгаарай. Та kernel.old
-д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад
kernel.old нь хамгийн сүүлд
суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан
бичигддэг. Ажилладаг цөмийг зөв /boot/kernel
байр уруу аль болох хурдан шилжүүлээрэй, эсвэл &man.ps.1; зэрэг
тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд
сайн цөм байгаа сангийн нэрийг өөрчлөөрэй:
- &prompt.root; mv /boot/kernel /boot/kernel.bad
+ &prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernel
Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох:
Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг
суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол
системийн төлвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8;
зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой
бүтээгдсэн ертөнцийг дахин хөрвүүлж суулгах
хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад
зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.
diff --git a/mn_MN.UTF-8/books/handbook/security/chapter.sgml b/mn_MN.UTF-8/books/handbook/security/chapter.sgml
index ea9fec3dc1..11b2a29913 100644
--- a/mn_MN.UTF-8/books/handbook/security/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/security/chapter.sgml
@@ -1,4769 +1,4769 @@
Мэтью
Диллон
Энэ бүлгийн ихэнх хэсгийг security(7) гарын авлагын хуудаснаас авсан бөгөөд
security(7) гарын авлагын хуудсыг бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Аюулгүй байдал
аюулгүй байдал
Ерөнхий агуулга
Энэ бүлэг нь системийн аюулгүй байдлын ухагдахуунуудын үндэс, зарим нэг нийтлэг
практикийн сайн аргууд болон &os; дэх зарим нэг дэвшилттэй сэдвүүдийг
танилцуулах болно. Энд дурдагдсан олон сэдвүүдийг бас системийн болон Интернэтийн
аюулгүй байдалд хэрэглэж болох юм. Интернэт нь хүн бүр таны найрсаг хөрш байхыг
хүсдэг найзархаг
газар байхаа аль хэдийн больсон.
Өөрийн системийг аюулгүй болгох нь таны өгөгдөл, оюуны өмч, цаг хугацаа зэрэг
олон зүйлсийг хакерууд зэргийн савраас хамгаалахад хойшлуулашгүй чухал юм.
&os; нь таны систем болон сүлжээний аюулгүй байдал болон бүрэн бүтэн байдлыг
хангаж байдаг хэрэгслүүд болон арга замуудын цуглуулгыг агуулдаг.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
&os;-ийн хувьд системийн аюулгүй байдлын үндсэн ухагдахуунууд.
&os;-д байдаг DES болон MD5
зэрэг төрөл бүрийн нууцлах арга замуудын талаар.
Нэг удаагийн нууц үгийн нэвтрэлтийг хэрхэн тохируулах талаар.
TCP Wrappers буюу
TCP Гүйцэтгэлийг хялбаршуулагчдыг inetd-д ашиглан
хэрхэн тохируулах талаар.
&os;-ийн 5.0-с өмнөх хувилбарууд дээр KerberosIV-г
хэрхэн тохируулах талаар.
&os; дээр Kerberos5-г хэрхэн тохируулах талаар.
IPsec-г хэрхэн тохируулж &os;/&windows; машинуудын хооронд
VPN үүсгэх талаар.
&os;-ийн SSH шийдэл болох OpenSSH-г
хэрхэн тохируулж ашиглах талаар.
Файлын системийн ACL-үүд гэж юу болох, тэдгээрийг
хэрхэн ашиглах талаар.
Portaudit хэрэгслийг хэрхэн ашиглаж
Портын цуглуулгаас суулгагдсан гуравдагч програм хангамжийн багцуудыг аудит хийх талаар.
&os;-ийн аюулгүй байдлын зөвлөмжүүдийн сонордуулгуудыг хэрхэн хэрэглэх талаар.
Процессийн Бүртгэл хөтлөх гэж юу болох талаар ойлголттой болж
түүнийг &os; дээр хэрхэн идэвхжүүлэх талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
&os; болон Интернэтийн үндсэн ухагдахуунуудыг ойлгох.
Энэ номонд нийтдээ аюулгүй байдлын нэмэлт сэдвүүд хамрагдсан болно.
Жишээ нь Mandatory Access Control буюу
Шаардлагатай Хандалтын Хяналт -д,
Интернэт галт ханануудын талаар -д
хэлэлцэгдсэн байгаа.
Танилцуулга
Аюулгүй байдал нь системийн администратораас эхэлж түүнтэй дуусдаг
үйл ажиллагаа юм. BSD &unix; олон хэрэглэгчийн системүүд нь угаасаа
зарим нэг аюулгүй байдлыг хангаж байдаг боловч тэдгээр хэрэглэгчдийг
үнэнч
байлгахыг эрмэлздэг аюулгүй байдлын нэмэлт
арга замуудыг бүтээж түүний ажиллагааг хангах ажил нь сисадмины магадгүй
ганц, хамгийн том үүргүүдийн нэг юм. Таныг аюулгүй болгосон зөвхөн тэр
хэмжээгээр машинууд нь аюулгүй байдаг бөгөөд аюулгүй байдлын санаа зовнилууд
нь хүний ая тухтай хялбар байлгах гэсэн хэрэгцээтэй үргэлж тэмцэлдэж байдаг. Ерөнхийдөө
&unix; системүүд нь асар олон тооны зэрэгцээ процессуудыг ажиллуулах
чадвартай бөгөөд эдгээр процессуудын ихэнх нь серверүүд болон ажилладаг
— энэ нь гаднын зүйлс тэдэнтэй холбогдож ярилцах боломжтой
гэсэн үг юм. Өчигдрийн миникомпьютерууд, мэйнфрэймүүдээс өнөөгийн
ширээний компьютерууд болж компьютерууд нь сүлжээнд холбогдож
сүлжээнүүд нь хоорондоо холбогдох тусам аюулгүй байдал нь улам илүү том
асуудал болсоор байна.
Системийн аюулгүй байдал нь сүйрүүлэхийг оролдсон эсвэл системийг
ашиглагдахааргүй болгох гэсэн, гэхдээ root
бүртгэлийг буулган авах (root-г эвдэх
) оролдлого
хийдэггүй, халдлагууд зэрэг төрөл бүрийн халдлагуудыг зогсоохтой бас
хамааралтай юм. Аюулгүй байдлын санаа зовнилуудыг хэд хэдэн зэрэглэлд
хувааж болно:
Үйлчилгээг зогсоох халдлагууд.
Хэрэглэгчийн бүртгэл буулган авалтууд.
Хандаж болох серверүүдээр дамжин root-г буулган авах.
Хэрэглэгчийн бүртгэлүүдээс дамжин root-г буулган авах.
Арын хаалга үүсгэлт.
DoS халдлагууд
Үйлчилгээг Зогсоох (DoS)
аюулгүй байдал
DoS халдлагууд
Үйлчилгээг Зогсоох (DoS)
Үйлчилгээг Зогсоох (DoS)
Үйлчилгээг зогсоох халдлага нь машиныг хэрэгцээтэй эх үүсвэрээс нь салгах
үйлдэл юм. Ихэвчлэн DoS халдлагууд нь сүйрүүлэхийг оролдсон эсвэл
машиныг түүн дээрх серверүүд болон сүлжээний стекийг эзэмдэн ашиглах
боломжгүй болгодог балмадаар хүчлэх арга замууд юм. Зарим DoS халдлагууд
нь сүлжээний стек дэх алдаануудыг ашиглан ганц пакетаар машиныг сүйрүүлэхийг
оролддог. Үүнийг зөвхөн алдааны засварыг цөмд хийснээр засах боломжтой.
Систем дээрх хөнөөлтэй нөхцөлд байх тэр серверийн дуудлагыг хязгаарладаг
тохируулгуудыг зөв зааж серверүүд уруу хийсэн халдлагуудыг ихэвчлэн засаж болдог.
Сүлжээний балмадаар хүчлэх халдлагуудын эсрэг арга хэмжээ авахад илүү
төвөгтэй байдаг. Жишээ нь хууран мэхэлсэн пакетийн халдлагыг зогсоох
бараг л боломжгүй, таны системийг Интернэтээс салгахад хүргэж болох юм.
Энэ нь таны машиныг зогсоож чадахгүй байж болох боловч таны Интернэтийн
холболтыг дүүргэж болно.
аюулгүй байдал
бүртгэл буулган авалтууд
Хэрэглэгчийн бүртгэлийг буулган авах халдлага нь DoS халдлагаас илүү их
тохиолддог. Одоо болтол олон сисадминууд стандарт telnetd,
rlogind, rshd,
болон ftpd серверүүдийг өөрсдийн машинууд
дээр ажиллуулсаар байна. Анхдагчаар серверүүд нь шифрлэсэн холболт дээр
ажилладаггүй. Ийм холболт дээр хэрэв та багагүй хэмжээний хэрэглэгчидтэй
бөгөөд тэдгээр хэрэглэгчдээс нэг болон хэд хэд нь алсаас (энэ нь систем уруу нэвтрэн
орох хамгийн нийтлэг тав тухтай арга юм) таны систем уруу нэвтрэн
орж байгаа бол тэдгээр хэрэглэгчийн нууц үг дундаасаа сүлжээгээр шиншлэгдэн алдагдах
боломжтой байдаг. Анхааралтай системийн админ тэр хэрэглэгчийн
алсаас хандсан бүртгэлүүд дээрээс бүр амжилттай болсон нэвтрэлтүүдэд хүртэл сэжигтэй
эхлэл хаягууд байгаа эсэхийг хайн шинжилдэг.
Халдагч хэрэглэгчийн бүртгэлд хандаж чадсаны дараа root-г
бас эвдэж чадна гэдгийг үргэлж бодож байх хэрэгтэй. Гэхдээ жинхэнэ амьдрал дээр бол
сайн аюулгүй байдлыг хангаж нууцлаг болгосон байнга ажиллагааг нь хянаж байдаг систем дээр
хэрэглэгчийн бүртгэлд хандах нь халдагч заавал ч үгүй root
эрхэд хандаж чадна гэсэн үг биш юм. Энэ ялгааг зөв салгаж ойлгох хэрэгтэй. Учир нь
root уруу хандах боломжгүй халдагч ерөнхийдөө өөрийн
мөрийг баллаж нууж чаддаггүй бөгөөд тухайн хэрэглэгчийн файлуудыг замбараагүйтүүлэх
эсвэл машиныг сүйрүүлэхээс илүүтэйг хийж чаддаггүй. Хэрэглэгчид нь сисадминууд шиг
аюулгүй байдлын арга хэмжээг тэр болгон авдаггүй болохоор хэрэглэгчийн бүртгэлийн
буулган авалт нь маш элбэг байдаг юм.
аюулгүй байдал
арын хаалганууд
Машин дээрх root бүртгэлийг эвдэх боломжит олон
аргууд байдгийг системийн администраторууд санаж байх хэрэгтэй. Халдагч нь
root-н нууц үгийг мэдэж болно. Эсвэл халдагч root
эрхээр ажилладаг серверт алдаа олж сүлжээгээр тэр сервер уруу дамжин орж
root-г эвдэж болно. Эсвэл халдагч нь suid-root
програмд алдаа байгааг мэдэж хэрэглэгчийн бүртгэлийг эвдэн орсныхоо дараа
тэр алдаагаар дамжин root-г эвдэн орж болох юм.
Хэрэв халдагч машин дээрх root-г эвдэх аргаа
олсон бол заавал арын хаалга суулгах шаардлагагүй болж болох юм.
root-н цоорхойнуудын олонхийг тухайн үед аль хэдийн
олоод хаачихсан байдаг бөгөөд энэ үед халдагчид өөрийн мөрөө цэвэрлэхэд ихээхэн
ажиллагаа шаарддаг болохоор ихэнх халдагчид арын хаалга суулгадаг.
Арын хаалга нь систем уруу хандах root хандалтыг
халдагчид амархнаар дахин олж авах боломжийг олгодог боловч энэ нь ухаалаг системийн
администраторт халдлагыг амархнаар илрүүлэх боломжийг бас олгодог юм.
Халдагчийн хамгийн эхлээд эвдэн орсон цоорхойг хааж чаддаггүй болохоор арын хаалга
суулгахыг боломжгүй болгох нь магадгүй таны аюулгүй байдалд ашиггүй байж болох юм.
Аюулгүй байдлын засварууд нь олон давхраатай сонгины хальс
хандлагаар үргэлж шийдэгдэж байх шаардлагатай бөгөөд тэдгээрийг дараах маягаар
зэрэглэж болно:
root болон staff бүртгэлүүдийг нууцлаг/аюулгүй болгох.
root–ажилладаг серверүүд
болон suid/sgid хоёртын файлуудыг аюулгүй болгох.
Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох.
Нууц үгийн файлыг аюулгүй болгох.
Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон
файлын системүүдийг аюулгүй болгох.
Системд хийгдсэн зохисгүй өөрчлөлтүүдийг түргэн илрүүлэх.
Параной буюу хэт зовнил.
Энэ бүлгийн дараагийн хэсэг нь дээр дурдсан зүйлсүүдийг илүү гүнзгийгээр
авч үзэх болно.
&os;-н аюулгүй байдлыг хангах нь
аюулгүй байдал
&os;-н аюулгүй байдлыг хангах нь
Тушаалыг Протоколтой харьцуулахад (Command vs. Protocol)
Энэ баримтын туршид бид тод текстээр
програмыг monospaced фонтоор тусгай тушаалуудыг
тэмдэглэх болно. Протоколууд ердийн фонт ашиглах болно. Тэмдэглэгээний энэ
ялгаа нь ssh зэргийн хувьд ашигтай, учир нь энэ ssh нь протоколоос гадна
бас тушаал юм.
Үүнээс хойшх хэсгүүд нь түрүүчийн бүлгийн
сүүлийн хэсэгт дурдсан таны &os; системийг аюулгүй болгох аргуудыг
авч үзнэ.
root бүртгэл болон staff бүртгэлүүдийг
аюулгүй болгох
su
Эхлээд хэрэв та root бүртгэлийг аюулгүй болгоогүй
бол staff бүртгэлүүдийг аюулгүй болгоход санаа зовсны хэрэггүй. Ихэнх системүүд
root бүртгэлд нууц үг өгсөн байдаг. Таны эхний хийх
зүйл бол нууц үг үргэлж эвдэгдэж болно гэдгийг
бодох хэрэгтэй. Энэ нь та нууц үгээ устгах хэрэгтэй гэсэн үг биш юм. Нууц үг нь
машин уруу консол хандалт хийхэд үргэлж хэрэгтэй байдаг. Энэ нь юу гэсэн үг вэ
гэхээр та нууц үгийг консолоос гадна эсвэл болж өгвөл бүр &man.su.1; тушаалтай
ашиглаж болохоор хийх ёсгүй гэсэн үг юм. Жишээ нь
telnet эсвэл rlogin-р хийгдэх
шууд root нэвтрэлтүүдийг хаах pty-уудын тохиргоог insecure
буюу аюултай гэж /etc/ttys файлд заасан эсэхийг шалгаарай.
Хэрэв бусад нэвтрэх үйлчилгээнүүд болох sshd
зэргийг ашиглаж байгаа бол шууд root нэвтрэлтүүдийг
бас хаасан эсэхийг шалгаарай. Та үүнийг /etc/ssh/sshd_config
файлыг засварлан PermitRootLogin тохируулгыг
NO болгон зааж өгөөрэй. Хандах арга бүр —
FTP зэрэг үйлчилгээнүүдээр ихэвчлэн эвдлэн ордог болохыг бодолцох хэрэгтэй.
Шууд root нэвтрэлтүүд зөвхөн системийн консолоор хийгдэхэд
зөвшөөрөгдөх ёстой.
wheel
Мэдээж систем админы хувьд та root
уруу орж чадаж байх ёстой болохоор бид хэдэн цоорхой үлдээдэг.
Гэхдээ эдгээр цоорхойнууд нь нэмэлт нууц үг шалгаж ажилладаг байхаар
бид хийдэг. root-г хандах боломжтой
байлгах нэг арга нь тохирох staff бүртгэлүүдийг wheel
бүлэгт (/etc/group файлд) нэмэх явдал юм.
wheel бүлэгт оруулсан staff-ийн гишүүдэд
root уруу su хийхийг
зөвшөөрдөг. Та staff-ийн гишүүдийг тэдгээрийн нууц үгийн оруулгад
wheel бүлэгт оруулан байрлуулж анхнаас нь
wheel хандалт өгч хэзээ ч болохгүй.
Staff бүртгэлүүдийг staff бүлэгт
оруулах ёстой бөгөөд тэгээд дараа нь /etc/group
файлын wheel бүлэгт нэмэх ёстой.
Зөвхөн root хандалт заавал шаардлагатай
тийм staff-ийн гишүүдийг wheel бүлэгт
оруулах ёстой. Kerberos зэрэг жинхэнээ шалгуулж нэвтрэх аргыг ашиглаж
байх тохиолдолд заавал wheel бүлэгт оруулалгүйгээр
root бүртгэл дэх Kerberos-ийн
.k5login файлыг ашиглаж
root уруу &man.ksu.1; хийхийг зөвшөөрөх
бас боломжтой байдаг. Энэ нь магадгүй давуу шийдэл байж болох юм.
Учир нь хэрэв халдагч таны нууц үгийн файлыг олж аван staff бүртгэлийг
эвдлэн орж чадах бол wheel арга нь
халдагчид root-г эвдэх боломжийг олгосон хэвээр
байдаг юм. wheel аргатай байх нь огт аргагүй
байхаас илүү боловч энэ нь заавал ч үгүй хамгийн аюулгүй сонголт бас биш
юм.
Бүртгэлийг бүрэн түгжихийн тулд &man.pw.8; тушаалыг ашиглах
хэрэгтэй:
&prompt.root;pw lock staff
Энэ нь &man.ssh.1;-ийг оролцуулаад хэрэглэгчийг ямар ч
арга ашиглан нэвтрэн орохыг хориглоно.
Бүртгэлүүдэд хандахыг хориглох өөр нэг арга бол
нууцлагдсан нууц үгийг ганц *
тэмдэгтээр солих явдал юм. Энэ тэмдэгт нь нууцлагдсан
нууц үгтэй хэзээ ч таарахгүй бөгөөд хэрэглэгчийн
хандалтыг хаах болно. Жишээ нь доор дурдсан staff бүртгэлийг:
foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Ийм болгон өөрчлөх хэрэгтэй:
foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Энэ нь foobar хэрэглэгчийг ердийн
аргууд ашиглан нэвтрэн орох боломжийг хаадаг. Энэ хандалт
хязгаарлах арга нь Kerberos ашиглаж
байгаа сайтууд эсвэл хэрэглэгч &man.ssh.1; ашиглан түлхүүрүүд
тохируулсан тохиолдлууд зэрэгт ажилладаггүй.
Эдгээр аюулгүй байдлын арга замууд нь бас таныг илүү хязгаарласан
серверээс арай бага хязгаарласан машин уруу нэвтрэн орж байна гэж тооцдог.
Жишээ нь хэрэв таны гол хайрцаг чинь бүх л төрлийн серверүүд ажиллуулж байвал
таны ажлын компьютер чинь ямрыг ч ажиллуулах ёсгүй. Өөрийн компьютерийг
боломжийн аюулгүй болгохын тулд та ерөөсөө сервергүй болтол аль болох цөөн
сервер ажиллуулах хэрэгтэй бөгөөд та нууц үгээр хамгаалагдсан дэлгэц хоослогч
ажиллуулах хэрэгтэй. Мэдээж ажлын компьютер уруу физик хандалт өгвөл
халдагч ямар ч төрлийн аюулгүй байдлыг та хангасан байлаа гэсэн эвдэж
чадна. Энэ нь таны бодох ёстой асуудлын нэг юм. Гэхдээ эвдлэн оролтуудын
олонхи нь алсаас сүлжээгээр дамжин таны ажлын компьютер эсвэл серверүүдэд
физик хандалт байхгүй хүмүүсээс ирдэг гэдгийг та бас л бодолцох хэрэгтэй юм.
KerberosIV
Kereberos мэтийг ашиглах нь танд staff бүртгэлийн нууц үгийг нэг газар
өөрчлөх эсвэл хаах боломжийг олгох бөгөөд staff-ийн гишүүдийн бүртгэл байж болох
бүх машинууд дээр нэн даруй бас үйлчилдэг. Хэрэв staff-ийн гишүүний бүртгэл
эвдэгдсэн бол түүний нууц үгийг бүх машинууд дээр нэн даруй өөрчлөх тэр боломжийг
дутуу үнэлэх ёсгүй юм. Тусдаа байгаа нууц үгүүдийг N машинууд дээр өөрчлөх нь
зовлонтой байдаг. Мөн та Kerberos-д нууц үг дахин өгөлтийг ноогдуулж болох
бөгөөд Kerberos тасалбарыг хэсэг хугацааны дараа дуусдагаар хийж болохоос
гадна Kerberos систем нь тодорхой хугацааны (жишээ нь сар бүр) дараа
хэрэглэгчийг шинэ нууц үг сонгохыг шаарддагаар бас тохируулж болдог.
root-ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох
ntalk
comsat
finger
sandboxes
sshd
telnetd
rshd
rlogind
Хянамгай сисадмин илүү ч үгүй дутуу ч үгүй зөвхөн өөрийн хэрэгтэй серверүүдийг
ажиллуулдаг. Гуравдагч талын серверүүд ихэвчлэн хамгийн алдаатай байх
хандлагатай гэдгийг санаж байх хэрэгтэй. Жишээ нь
imapd эсвэл
popper серверийн хуучин хувилбарыг
ажиллуулна гэдэг нь универсал root тасалбарыг
бүх дэлхийд өгч байна гэсэн үг юм. Та няхуур шалгаагүй сервер битгий ажиллуул.
Олон серверүүд заавал root эрхээр ажиллах
шаардлагагүй байдаг. Жишээ нь ntalk,
comsat, болон
finger дэмонуудыг тусгай хэрэглэгчийн
sandboxes буюу хамгаалагдсан хязгаарлагдмал орчинд
ажиллуулах боломжтой байдаг. Хамгаалагдсан хязгаарлагдмал орчин нь
асар их төвгүүдийг давж хийгээгүй л бол төгс биш бөгөөд өмнө дурдсан сонгины
хандлагаар аюулгүй байдалд хандах нь хэвээр байна: хэрэв хэн нэгэн нь
хамгаалагдсан хязгаарлагдмал орчинд ажиллаж байгаа серверт эвдэн орж
чадсан ч гэсэн тэд хамгаалагдсан хязгаарлагдмал орчныг бас эвдэн гарах хэрэг
болно. Аль болох олон давхаргыг халдагч эвдлэх ёстой болох тусам тэдгээрийн
амжилттай болох нь улам багасах болно. Урьд нь root цоорхойнууд нь
системийн үндсэн серверүүдээс авахуулаад бараг л бүх
root ажилладаг сервер дээр олдож байсан.
Хэрэв таны ажиллуулдаг машин уруу хүмүүс зөвхөн sshd
ашиглан нэвтэрдэг бөгөөд telnetd,
rshd эсвэл
rlogind хэзээ ч ашиглан нэвтэрдэггүй
бол эдгээр үйлчилгээнүүдийг хаагаарай!
Одоо &os; нь ntalkd,
comsat, болон
finger үйлчилгээнүүдийг хамгаалагдсан
хязгаарлагдмал орчинд анхдагчаар ажиллуулдаг. Хамгаалагдсан хязгаарлагдмал
орчинд ажиллуулж болох өөр нэг програм нь &man.named.8; юм.
/etc/defaults/rc.conf нь
named-г хамгаалагдсан хязгаарлагдмал
орчинд ажиллуулахад шаардлагатай нэмэлт өгөгдлүүдийг тайлбар хэлбэрээр агуулсан
байдаг. Таны шинэ систем эсвэл байгаа системээ шинэчилж байгаагаас хамааран
тэдгээр хамгаалагдсан хязгаарлагдмал орчинд ашиглагдах тусгай хэрэглэгчийн
бүртгэлүүд суулгагдаагүй байж болох юм. Хянамгай сисадмин судалгаа хийж
серверүүдийг хамгаалагдсан хязгаарлагдмал орчинд аль болох
ажиллуулдаг.
sendmail
Хамгаалагдсан хязгаарлагдмал орчинд ерөнхийдөө ажилладаггүй хэд хэдэн
серверүүд байдаг: sendmail,
popper,
imapd, ftpd,
болон бусад. Эдгээрийн зарим шиг бас өөр серверүүд байдаг боловч
тэдгээрийг суулгах нь таны хүсэж байгаагаас илүү (амархан байх гэсэн асуудал
энд сөхөгдөж байна) их ажиллагаа шаардаж магадгүй юм. Та эдгээр серверүүдийг
магадгүй root эрхээр ажиллуулж тэдгээрт учирч болох
эвдрэн оролтуудыг илрүүлэх өөр арга замуудад найдах хэрэгтэй болж болох юм.
Системийн өөр нэг том боломжтой root цоорхойнууд
бол системд суусан suid-root болон sgid хоёртын файлууд юм.
rlogin зэрэг эдгээрийн ихэнх нь
/bin, /sbin,
/usr/bin, эсвэл /usr/sbin
сангуудад байрладаг. Юу ч 100% аюулгүй байдаггүй боловч системийн анхдагч
suid болон sgid хоёртын файлууд нь боломжийн хэрээр аюулгүй гэж тооцогддог.
Гэсэн хэдий ч эдгээр хоёртын файлуудад root цоорхойнууд
үе үе олддог. xterm-г (энэ нь ихэвчлэн suid
байдаг) эмзэг болгосон root цоорхойнууд 1998 онд
Xlib-д олджээ. Харамсахаасаа өмнө аюулгүй байж
байсан нь дээр учраас хянамгай сисадмин зөвхөн staff ажиллуулах ёстойгоор
staff зөвхөн хандаж чадах тусгай бүлэгт зөвшөөрч suid хоёртын файлуудыг
хязгаарладаг бөгөөд хэн ч ашигладаггүй suid хоёртын файлуудыг ажиллуулж болохгүй
болгодог (chmod 000). Дэлгэцгүй серверт ер нь
xterm хоёртын файл хэрэгцээгүй юм.
Sgid хоёртын файлууд нь бас л аюултай юм. Хэрэв халдагч sgid-kmem
хоёртын файлыг эвдэж чадвал тэр /dev/kmem-г
уншиж чадах бөгөөд ингэснээр нууц үгтэй дурын бүртгэлийг эвдэн орж
шифрлэсэн нууц үгийн файлыг уншихад хүргэдэг. Бас kmem
бүлгийг эвдсэн халдагч secure буюу аюулгүй аргаар дамжин нэвтрэн орсон хэрэглэгчдийн
ашиглаж байгаа pty-уудаар илгээгдсэн гарын товчнуудын даралтуудыг
хянаж чаддаг. tty бүлгийг эвдсэн халдагч
бараг дурын хэрэглэгчийн tty-д бичиж чадна. Хэрэв хэрэглэгч гар дуурайх боломж бүхий
терминал програм эсвэл эмулятор ажиллуулж байгаа бол хэрэглэгчийн терминалыг
тушаал буцаан харуулахаар болгодог өгөгдлийн урсгалыг халдагч үүсгэж дараа нь
тэр тушаалыг тэр хэрэглэгчийн эрхээр ажиллуулдаг.
Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох
Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох нь ихэвчлэн хамгийн хэцүү
байдаг. Та өөрийн staff-д ширүүн хандалтын хязгаарлалтууд оногдуулж
тэдгээрийн нууц үгүүдийг од болгож
болох боловч
та ердийн хэрэглэгчийн бүртгэлүүдийг яг ингэж хязгаарлаж чадахгүй байж болох
юм. Хэрэв та хангалттай хяналттай байх юм бол таны аз болж хэрэглэгчийн
бүртгэлүүдийг зөвөөр аюулгүй болгож чадна. Хэрэв үгүй бол та тэдгээр
бүртгэлүүдийг хянахдаа ердөө л илүү сонор сэрэмжтэй байх хэрэгтэй.
ssh болон Kerberos-г хэрэглэгчийн бүртгэлүүдэд ашиглах нь
нэмэлт удирдлага болон техникийн дэмжлэг шаардлагатайгаас болоод
илүү асуудалтай байдаг боловч энэ нь шифрлэсэн нууц үгийн файлыг бодох юм
бол маш сайн шийдэл хэвээр байдаг.
Нууц үгийн файлыг аюулгүй болгох
Цорын ганц итгэлтэй арга бол аль болох олон нууц үгүүдийг од болгон
тэдгээр бүртгэлүүдэд хандахын тулд ssh эсвэл Kerberos ашигла.
Шифрлэгдсэн нууц үгийн файлыг (/etc/spwd.db)
зөвхөн root уншиж чаддаг боловч халдагч
root-бичих хандалт олж авч чадаагүй ч гэсэн тэр файлд унших эрх олж авах
боломжтой байж болох юм.
Таны аюулгүй байдлын скриптүүд нууц үгийн файлд хийгдсэн өөрчлөлтүүдийг
үргэлж шалгаж тайлагнах шаардлагатай (доорх Файлын бүрэн бүтэн байдлыг шалгах
хэсгийг үзнэ үү).
Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох
Хэрэв халдагч root-г эвдсэн бол тэр юуг ч хийж чадах
боловч зарим ашиг сонирхлууд байдаг. Жишээ нь орчин үеийн ихэнх цөмүүдэд
пакет шиншлэх төхөөрөмжийн драйвер бүтээгдсэн байдаг. &os;-д энэ нь
bpf төхөөрөмж гэж нэрлэгддэг. Халдагч
ердөө буулган авсан машин дээрээ пакет шиншлэгчийг ажиллуулахыг оролддог.
Та халдагчид энэ боломжийг өгөх хэрэггүй бөгөөд ихэнх системүүдэд
bpf төхөөрөмжийг эмхэтгэн оруулах
шаардлагагүй юм.
sysctl
Гэхдээ bpf төхөөрөмжийг хаасан ч гэсэн
та /dev/mem болон /dev/kmem
файлуудад бас санаа тавих хэрэгтэй. Энэнээс болоод халдагч түүхий (raw)
төхөөрөмжүүдэд бичиж чадсан хэвээр байна. Мөн цөмийн бас нэг боломж болох
модуль ачаалагч гэж нэрлэгддэг &man.kldload.8; байдаг. Самбаатай
халдагч KLD модуль ашиглаад өөрийн bpf
төхөөрөмж эсвэл бусад шиншлэх төхөөрөмжийг ажиллаж байгаа цөмд суулгадаг.
Эдгээр асуудлуудаас зайлсхийхийн тулд та цөмийг илүү өндөр аюулгүй байдлын
түвшинд ядаж аюулгүйн түвшин 1-д ажиллуулах хэрэгтэй. Аюулгүй түвшин
sysctl тушаалаар kern.securelevel
хувьсагчийн тусламжтай тохируулагдаж болно. Аюулгүйн түвшинг 1 болгосны дараа
түүхий төхөөрөмжүүдэд бичих хандалт хийхийг хориглох бөгөөд schg
зэрэг chflags тугууд үйлчлэх болно. Мөн та
чухал эхлүүлэх хоёртын файлууд, сангууд болон скрипт файлууд, ер нь аюулгүйн
түвшин заагдах хүртэл ажиллаж байгаа бүгдэд schg туг
байгаа эсэхийг шалгах хэрэгтэй. Энэ нь хэтэрхий болж болох бөгөөд
таныг илүү өндөр аюулгүйн түвшинд ажиллаж байгаа үед системийг шинэчлэхийг
бүр илүү төвөгтэй болгодог юм. Та буулт хийж системийн бүх файл болон санд
schg тугийг зааж өгөлгүйгээр системийг өндөр аюулгүйн
түвшинд ажиллуулж болох юм. Өөр нэг боломж нь /
болон /usr санг ердөө л зөвхөн уншихаар холбох явдал
юм. Хамгаалах зүйлдээ хэт ширүүн байх нь булаан эзлэлтийн бүх чухал илрүүлэлтийг
бас болиулж болохыг санахад илүүдэхгүй.
Файлын бүрэн бүтэн байдлыг шалгах нь: Хоёртын файлууд, Тохиргооны файлууд,
гэх мэт.
Тэр мөч ирэхэд, та зөвхөн системийн гол тохиргоо болон хяналтын файлуудаа
ая тухын хүчин зүйл урьтахаас хамаагүй өмнө хамгаалж чадна.
Жишээ нь chflags тушаал ашиглан
/ болон /usr
сангууд дахь ихэнх файлуудад schg битийг тохируулах нь
магадгүй үр ашиггүй байж болох бөгөөд учир нь ингэснээр файлуудыг хамгаалахын
хажуугаар бас илрүүлэх цонхыг хаадаг юм. Таны аюулгүй байдлын сонгины
сүүлийн давхарга нь илрүүлэлт бөгөөд энэ нь хамгийн чухал юм. Хэрэв та боломжит
халдагчдыг илрүүлж чадахгүй л бол аюулгүй байдлын бусад үлдсэн асуудлуудын талаар
бодоод ч бараг хэрэггүй юм (эсвэл бүр дэмий юм, аюулгүй байдлыг танд буруу ойлгуулахад
хүргэдэг). Сонгины ажлын хагас нь халдагчийг үйлдэл дээр нь
барихын тулд түүнийг зогсоохын оронд харин удаашруулах явдал юм.
Халдлагыг илрүүлэх хамгийн сайн арга бол өөрчлөгдсөн, алга болсон, эсвэл
гэнэтийн файлуудыг хайх явдал юм. Өөрчлөгдсөн файлуудыг хайх хамгийн сайн арга
бол тэдгээрийг өөр (ихэвчлэн төвлөрсөн) хязгаарлагдмал хандалттай системээс хайх
явдал юм. Өөрийн аюулгүй байдлын скриптийг нэмэлт аюулгүй байдал хангасан
хязгаарлагдмал хандалттай систем дээр бичих нь тэдгээрийг боломжит халдагчдад
бараг харагдуулдаггүй бөгөөд энэ нь чухал юм. Давуу талыг хамгийн ихээр авахын
тулд ерөнхийдөө хязгаарлагдмал хандалттай хайрцагт бусад машинуудад хандах
тэр ач холбогдолтой хандалтыг өгөх хэрэгтэй. Үүнийг ихэвчлэн бусад машинуудын зөвхөн
унших NFS экспортыг хязгаарлагдмал хандалттай хайрцагт өгөх эсвэл ssh түлхүүр
хослолыг тохируулж хязгаарлагдмал хандалттай хайрцгийг бусад машинууд уруу ssh
хийхийг зөвшөөрөх замаар хийдэг. Өөрийн сүлжээний урсгалыг тооцохгүй юм бол NFS нь
хамгийн харагддаггүй арга юм — энэ нь клиент хайрцаг бүр дэх файлын
системүүдийг монитор хийхийг танд зөвшөөрч бараг л илэрдэггүй. Хэрэв таны
хязгаарлагдмал хандалттай сервер нь клиент хайрцагнууд уруу hub буюу салаалагч эсвэл
чиглүүлэлтийн хэд хэдэн давхаргаар дамжин холбогдсон бол NFS арга нь хэтэрхий
аюултай (сүлжээний хувьд) байж болох бөгөөд ssh-ийг ашиглах нь түүний гаргадаг
аудит мөрийн замуудтай байсан ч гэсэн магадгүй илүү сонголт байж болох юм.
Монитор хийгдэх клиент систем уруу хандахад хамгийн багаар бодоход унших эрхийг
та хязгаарлагдмал хандалттай хайрцагт өгсний дараа яг мониторыг хийхдээ скрипт бичих
хэрэгтэй. Өгөгдсөн NFS холболтод &man.find.1; болон &man.md5.1; зэрэг
энгийн системийн хэрэгслүүд ашиглан та скриптүүд бичиж болно. Клиент хайрцгийн
файлуудад өдөрт нэг удаа физикээр md5 хийж /etc болон
/usr/local/etc сангууд дахь хяналтын файлуудыг
бүр илүү давтамжтайгаар шалгаж байх нь зүйтэй юм. Хязгаарлагдмал хандалттай
машины зөв гэж тооцсон md5 мэдээлэлтэй харьцуулахад тарахгүй файлууд олдвол
сисадминд үүнийг очиж шалгахыг хашгиран мэдээлэх ёстой. Аюулгүй байдлын сайн
скрипт нь тохирохгүй suid хоёртын файлууд болон / болон
/usr зэрэг системийн хуваалтууд дээрх шинээр үүссэн
эсвэл устгагдсан файлуудыг бас шалгадаг.
NFS биш ssh-ийг ашиглаж байх үед аюулгүй байдлыг скрипт бичих нь бүр илүү хэцүү
байдаг. Та скриптүүдийг харагдуулж ажиллуулахын тулд тэдгээрийг клиент хайрцаг уруу үндсэндээ
scp хийх хэрэгтэй бөгөөд аюулгүй байдлаа бодох юм бол
та тэдгээр скриптүүдийн ашигладаг хоёртын файлуудыг (find гэх зэрэг) бас
scp хийх хэрэгтэй юм.
Клиент хайрцаг дээрх ssh клиент аль хэдийн
эвдэгдсэн байж болох юм. Аюултай холболтоор ажиллаж байгаа бол ssh-г ашиглах нь
шаардлагатай байж болох боловч бас түүнтэй ажиллахад бүр илүү хэцүү байдаг юм.
Аюулгүй байдлын сайн скрипт нь
.rhosts, .shosts,
.ssh/authorized_keys гэх зэрэг
MD5 шалгалтын хүрээний гадуур байх хэрэглэгч болон
staff-ийн гишүүдийн хандалтын тохиргооны файлууд дахь өөрчлөлтүүдийг бас
шалгадаг.
Хэрэв та асар их хэрэглэгчийн дискний зайтай бол тэдгээр хуваалтууд
дээр байгаа файл бүр дээр ажиллахад хэт удаж болох юм. Энэ тохиолдолд suid
хоёртын файлуудыг хаах холболтын тугуудыг зааж өгөх нь зүйтэй юм.
nosuid нь таны хайж байгаа тэр тохируулга юм.
Энэ давхаргын зорилго нь эвдлэн оролтын оролдлогуудыг амжилттай эсвэл
амжилтгүй болсноос үл хамааран илрүүлэх явдал учраас ямар ч гэсэн ядаж
долоо хоногт нэг удаа та тэдгээр файлуудыг магадгүй шалгаж байх
хэрэгтэй юм.
Процессийн бүртгэл хийх нь (&man.accton.8;-г үзнэ үү) эвдлэн оролтын
дараах үнэлэх арга замууд болон тусалж болох харьцангуй бага ачаалал бүхий
үйлдлийн системийн боломж юм. Энэ нь эвдлэн орсны дараа файлыг хөндөөгүй хэвээр
гэж үзэн халдагч систем уруу хэрхэн эвдлэн орсныг мөрдөхөд ялангуяа ашигтай
байдаг.
Эцэст нь аюулгүй байдлын скриптүүд нь бүртгэлийн файлуудыг процесс хийх ёстой
бөгөөд бүртгэлүүд өөрсдөө аль болох аюулгүй байдлаар үүсгэгдэх ёстой бөгөөд
алсын syslog нь их ашигтай байж болох юм. Халдагч өөрийн мөрийг арилгахыг
оролдох бөгөөд эхний эвдлэн оролтын арга болон хугацааг мөрдөхөд сисадмины хувьд
бүртгэлийн файлууд нь маш чухал байдаг юм. Бүртгэлийн файлуудын байнгын бичлэгийг
хадгалах нэг арга нь системийн консолыг сериал порт уруу ажиллуулж консолуудыг
хянаж аюулгүй машин дээр мэдээллийг цуглуулах явдал юм.
Параной буюу хэт зовнил
Бага зэргийн хэт зовнил буруудахгүй. Дүрэм болгож тав тухтай байдлыг
алдагдуулдаггүй дурын тооны аюулгүй байдлын боломжуудыг сисадмин нэмж болох бөгөөд
зарим анхаарлыг бодолцон тав тухтай байдалд нөлөөлөх
аюулгүй байдлын боломжуудыг бас нэмж болох юм. Бүр илүү чухал нь аюулгүй
байдлын администратор үүнийг бага зэрэг хольж хэрэглэж болно — хэрэв та энэ
баримтад дурдсан заавруудыг үгчлэн ашиглавал энэ баримтыг уншсан ирээдүйн халдагчид
та өөрийн арга замуудыг заан өгч байна гэсэн үг юм.
Үйлчилгээг Зогсоох Халдлагууд
Үйлчилгээг Зогсоох (DoS)
Энэ хэсэг нь Үйлчилгээг Зогсоох халдлагуудыг хамарна. DoS халдлага нь
ихэвчлэн пакетийн халдлага байдаг. Таны сүлжээг дүүргэж байгаа орчин үеийн
хууран мэхэлсэн пакетийн халдлагуудын эсрэг нэг их юм хийж чадахгүй ч гэсэн
халдлагууд таны серверүүдийг унагахгүйн тулд та ерөнхийдөө хохирлыг
хязгаарлаж болно:
Серверийн fork хийлтийг хязгаарлах.
Springboard буюу бусад халдлагуудыг хязгаарлах (ICMP хариу халдлагууд, ping
цацалт, гэх мэт.).
Цөмийн чиглүүлэлтийн кэшийг хэт ачаалах.
Нийтлэг DoS халдлагын дүр зураг бол fork хийгдэж байгаа серверт
халдаж түүнээр асар их хүүхэд процесс үүсгүүлж эцсийн эцэст хост системийн
хувьд санах ой, файлын тодорхойлогчууд гэх мэтүүд дуусч зогсоход
хүргэдэг. inetd (&man.inetd.8;-г
үзнэ үү) нь энэ төрлийн халдлагыг хязгаарлах хэд хэдэн тохируулгатай.
Машиныг зогсоохоос хамгаалах боломжтой боловч ерөнхийдөө үйлчилгээг
халдлагад өртүүлэхгүй байх боломжгүйг энд тэмдэглэх нь зүйтэй юм.
inetd гарын авлагын хуудсыг
анхааралтай уншиж , ,
болон тохируулгуудад ялангуяа анхаарлаа
хандуулаарай. Хууран мэхэлсэн IP халдлагууд нь
inetd дахь
тохируулгыг хуурах учраас ихэвчлэн тохируулгуудын
хослолыг ашиглах шаардлагатай. Зарим дан серверүүд өөрийн
fork хийгдэхийг хязгаарлах параметрүүдтэй байдаг.
Sendmail нь
тохируулгатай байдаг бөгөөд
энэ нь Sendmail-ийг ачаалал хязгаарлах тохируулгатай ажиллуулж ачааллын
хоцрогдол үүсгэснээс хавьгүй илүүтэйгээр ажилладаг. Та
Sendmail-г ажиллуулахдаа
хүссэн ачааллыг даахаар гэхдээ компьютерийг унагахаар их хэмжээний тоогоор
Sendmail-үүдийг ажиллуулах биш түүнээс
багаар MaxDaemonChildren параметрийг
хангалттай өндрөөр тавьж өгөх хэрэгтэй. Мөн sendmail-ийг дарааллын
горимоор () ажиллуулах
болон дэмонг (sendmail -bd) дараалалтай
(sendmail -q15m) ажиллуулдгаас тусад нь ажиллуулах нь
чухал юм. Хэрэв та шууд илгээх горимыг хүсэж байгаа бол та дарааллыг
зэргээр бүр бага интервалаар ажиллуулах боломжтой
боловч MaxDaemonChildren тохируулгыг боломжийн
утгаар хоорондоо холбоотой амжилтгүйтлүүдээс sendmail-ийг хамгаалахын
тулд зааж өгсөн эсэхээ шалгаарай.
Syslogd-д шууд халдаж болох учраас аль болох
тохируулгыг эсвэл тохируулгыг ашиглахыг
танд зөвлөдөг.
Шууд халдлага хийгдэж болох TCP Wrapper-ийн
буцах identd зэрэг буцан холбогддог үйлчилгээнүүдийн хувьд та маш хянамгай байх
хэрэгтэй. Ийм учраас та TCP Wrapper-ийн
буцах identd боломжийг ерөнхийдөө ашиглах хэрэггүй юм.
Та өөрийн захын чиглүүлэгчүүд дээрээ дотоод үйлчилгээнүүд уруугаа
гаднаас хандуулахгүй болгож галт ханаар хамгаалах нь зүйтэй юм.
Үүний цаадах санаа нь гаднаас ирж болзошгүй сүлжээ дүүргэх халдлагаас өөрийн LAN-г
хамгаалах явдал бөгөөд сүлжээн дээр тулгуурласан root
эрхийг буулгахаас дотоод үйлчилгээнүүдийг хамгаалах зүйлс тийм их биш юм.
exclusive буюу хамааруулаагүй галт ханыг үргэлж тохируулах хэрэгтэй, өөрөөр хэлбэл
A, B, C, D болон M-Z портуудаас бусад
бүгдийг галт ханаар хамгаалах хэрэгтэй
. Ингэснээр та
named (хэрэв та бүсийн хувьд анхдагч бол),
ntalkd,
sendmail болон бусад Интернэтээс хандах
үйлчилгээнүүд зэрэг зарим нэг тусгай үйлчилгээнүүдийн портуудаас бусад бүх бага
дугаарын портуудыг галт ханаар хамгаалж чадах юм. Хэрэв та галт ханыг өөр
аргаар — inclusive буюу хамааруулсан эсвэл зөвшөөрсөн галт хана маягаар
тохируулахыг оролдвол хэд хэдэн үйлчилгээнүүдийг хаахаа
мартаж магадгүй юм, эсвэл та шинэ дотоод үйлчилгээ нэмээд галт ханаа шинэчлэхээ
мартаж болох юм. Та галт хана дээр зөвшөөрсөнтэй адил үйлдлийг нэвтрүүлэхийн
тулд бага дугаарын портуудыг нээлгүйгээр өндөр дугаарын портуудыг онгойлгож
болох юм. Мөн &os; нь динамик холболтод хэрэглэгддэг портуудыг
sysctl-ийн төрөл бүрийн
net.inet.ip.portrange хувьсагчуудаар
(sysctl -a | fgrep portrange)
хянах боломжийг танд олгодгийг бас тэмдэглэх нь зүйтэй юм. Энэ нь бас таны
галт ханын тохиргооны төвөгтэй байдлыг амарчилдаг юм. Жишээ нь
та ердийн 4000-аас 5000 хүртэлх портууд болон 49152-оос 65535 хүртэлх
өндөр дугаарын портуудыг ашигладаг бол 4000-аас бага бүгдийг
өөрийн галт хана дээр хаах хэрэгтэй (мэдээж Интернэтээс ханддаг хэдэн тусгай портуудаас
бусад).
Өөр нийтлэг DoS халдлагуудын нэг нь springboard халдлага юм
— сервер, дотоод сүлжээ эсвэл бусад машиныг хариу үйлдэл хийхийг нь
ихэсгэж хэт ачаалахад хүргэдэг халдлага юм. Ийм маягийн хамгийн нийтлэг
халдлага нь ICMP ping broadcast буюу цацалт
юм. Халдагч таны LAN-ий цацах хаяг уруу илгээсэн ping пакетийнхаа
эхлэл IP хаягийг халдахыг хүсэж байгаа машиныхаа IP хаягаар сольж хуурдаг.
Хэрэв таны захын чиглүүлэгчүүд цацах хаяг уруу илгээх ping пакетуудыг
зогсоохоор тохируулагдаагүй бол таны LAN хангалттай хариу үүсгэн хууран мэхэлсэн
эхлэл хаяг уруу илгээж, ялангуяа халдагч хэдэн арван цацах хаягууд уруу өөр өөр
хэдэн арван сүлжээнүүдээр дамжин энэ башир аргаа ашигласан үед, хохирогчийг
дүүргэдэг. 120 мегабайтаас илүү хэмжээний цацах халдлага одоогоор
хэмжигдээд байна. Энэ төрлийн хоёр дахь нийтлэг халдлага нь ICMP-ийн алдаа
тайлагнах системийн эсрэг халдлага юм. ICMP алдааны мэдэгдэл үүсгэдэг
пакетуудыг бүтээж халдагч серверийн орж ирж байгаа сүлжээг дүүргэж ингэснээр
серверийг өөрийн гарах сүлжээг ICMP хариунуудаар дүүргэхэд хүргэдэг.
Энэ төрлийн халдлага нь ялангуяа хэрэв сервер үүсгэж байгаа ICMP хариунуудаа
хангалттай хурднаар шавхан гаргаж чадахгүй байгаа бол серверийг санах ойгүй болгож
сүйрүүлж бас болох юм. sysctl-ийн
net.inet.icmp.icmplim хувьсагчийг ашиглан
эдгээр халдлагуудыг хязгаарлах хэрэгтэй. Springboard төрлийн халдлагуудын
сүүлийн гол ангилал нь udp цуурай үйлчилгээ зэрэг зарим дотоод
inetd үйлчилгээнүүдтэй холбоотой юм.
Халдагч UDP пакетийг хууран мэхэлж A болон B сервер нь хоёулаа таны LAN-д байгаа
тийм A серверийн цуурай порт дээрх эхлэл хаягаар болон төгсгөл хаягийг B серверийн
цуурай порт дээрх хаягаар сольдог. Уг хоёр сервер дараа нь энэ ганц пакетийг
хоорондоо шидэлцдэг. Эдгээр серверүүд болон тэдгээрийн LAN-г энэ маягаар
халдагч хэдхэн пакетуудыг хатган оруулан хэт ачаалж чаддаг.
Үүнтэй адил асуудлууд дотоод chargen портод
бас байдаг. Чадварлаг сисадмин эдгээр бүх дотоод inetd тест үйлчилгээнүүдийг
хаадаг.
Хууран мэхэлсэн пакетийн халдлагуудыг цөмийн чиглүүлэлтийн кэшийг хэт ачаалахад
хэрэглэж болдог. net.inet.ip.rtexpire,
rtminexpire, болон rtmaxcache
sysctl параметрүүдийг үзнэ үү. Дурын эхлэл
IP хаягийг ашигласан хууран мэхэлсэн пакетийн халдлага нь чиглүүлэлтийн хүснэгтэд түр зуур
кэш хийгдсэн чиглүүлэлтийг цөмөөр үүсгүүлэхэд хүргэдэг бөгөөд энэ нь
netstat -rna | fgrep W3 тушаалаар харагддаг.
Эдгээр чиглүүлэлтүүд нь ихэвчлэн 1600 секунд орчим хугацааны дотор дуусдаг.
Хэрэв цөм кэш хийгдсэн чиглүүлэлтийн хүснэгт хэтэрхий том болсныг илрүүлэх юм бол
rtexpire динамикаар багасгадаг боловч
rtminexpire-с бага болтол хэзээ ч багасгадаггүй.
Хоёр асуудал байдаг:
Бага ачаалагдсан сервер гэнэт халдлагад өртөхөд цөм хангалттай хурдан
хариу үйлдэл хийдэггүй.
rtminexpire хувьсагч нь
үргэлжилсэн халдлагыг цөм дааж чадахаар хангалттай бага байдаггүй.
Хэрэв таны серверүүд Интернэтэд T3 эсвэл илүү хурдаар холбогдсон бол
&man.sysctl.8;-оор
rtexpire болон rtminexpire
хувьсагчуудыг хоёуланг гараар дарж бичихдээ хянамгай байх хэрэгтэй.
Аль ч параметрийг (машиныг сүйрүүлэхийг та хүсээгүй л бол) хэзээ ч битгий
0 болгоорой. Эдгээр параметрүүдийг хоёуланг нь 2 секунд болгох нь
чиглүүлэлтийн хүснэгтийг халдлагаас хамгаалахад хангалттай байх ёстой.
Kerberos болон SSH-тэй холбоотой хандалтын асуудлууд
ssh
KerberosIV
Хэрэв та Kerberos болон ssh-г хоёуланг ашиглахаар бол цөөн хэдэн асуудлуудыг
дурдах хэрэгтэй. Kerberos 5 нь жинхэнийг шалгах маш сайн нэвтрэлтийн протокол
боловч түүнийг ашигласан telnet болон
rlogin-д байдаг алдаанууд нь энэ хоёр програмыг
хоёртын урсгалтай ажиллахад тохиромжгүй болгодог. Мөн
тохируулгыг ашиглахгүй л бол анхдагчаар Kerberos нь сессийг шифрлэдэггүй.
ssh нь бүгдийг шифрлэдэг.
Ssh нь анхдагчаар шифрлэсэн түлхүүрүүдээ дамжуулдгаас бусад бүх л талаараа зэгсэн
сайн ажилладаг. Энэ нь юу гэсэн үг вэ гэхээр та хэрэв системийн бусад хэсэгт хандах боломж
олгодог түлхүүрүүд бүхий аюулгүй ажлын компьютертай бөгөөд та аюултай машин уруу ssh
хийвэл таны түлхүүрүүд ашиглагдах боломжтой гэсэн үг юм. Яг түлхүүрүүд нь өөрсдөө
ил гардаггүй боловч ssh нь таны нэвтэрсэн хугацааны туршид зориулж дамжуулах порт
суулгадаг бөгөөд хэрэв халдагч аюулгүй машин дээрх root-г
эвдсэн бол тэрхүү портыг таны түлхүүрүүдийг ашиглахын тулд хэрэглэн таны түлхүүрээр
тайлагдах өөр бусад машинуудад хандах боломжийг олж авах боломжтой юм.
Бид staff нэвтрэлтүүдийн хувьд аль болох ssh-г Kerberos-той цуг ашиглахыг
зөвлөдөг. Ssh нь Kerberos-ийн дэмжлэгтэй
эмхэтгэгдэж болдог. Энэ нь ил гарсан байж болзошгүй ssh түлхүүрүүдэд
найдах таны найдварыг багасгахын хамт нууц үгүүдийг Kerberos-оор хамгаалдаг.
Ssh түлхүүрүүд нь аюулгүй машинуудын автоматчилагдсан ажлуудад (Kerberos-оор
хийхэд таарахгүй) зөвхөн хэрэглэгдэх ёстой. Мөн бид таныг ssh-ийн тохиргоондоо
key-forwarding буюу түлхүүр дамжуулалтыг болиулах эсвэл ssh-ийн
authorized_keys файлдаа зөвхөн тусгайлсан
машинуудаас нэвтрэхэд түлхүүрийг ашиглаж болохоор болгож зөвшөөрдөг
from=IP/DOMAIN тохируулгыг ашиглахыг зөвлөдөг.
Билл
Свингл
Хэсгүүдийг дахин бичиж шинэчилсэн
DES, MD5, болон Crypt
аюулгүй байдал
crypt
crypt
Blowfish
DES
MD5
&unix; систем дээрх хэрэглэгч бүрийн хувьд нууц үг бүртгэлтэй нь холбоотой
байдаг. Мэдээж эдгээр нууц үгүүд нь зөвхөн хэрэглэгч ба үйлдлийн системд
мэдэгдэж байх ёстой. Эдгээр нууц үгүүдийг нууцлаг байлгахын тулд тэдгээрийг
one-way hash буюу үл буцах хэш
гэгддэг шифрлэхэд амархан
боловч буцааж болдоггүй аргаар шифрлэдэг. Өөрөөр хэлбэл хормын өмнө
мэдээж гэж хэлсэн бидний хэлсэн үг яг жинхэнэдээ үнэн биш юм: үйлдлийн систем
өөрөө нууц үгийг жинхэнэдээ мэддэггүй.
Энэ нь зөвхөн нууц үгийн шифрлэсэн хэлбэрийг
мэддэг. plain-text буюу ердийн уншигдах текст
хэлбэрийн нууц үгийг авах цорын ганц арга нь боломжит нууц үгүүдийн орон зайгаас
балмадаар хүчлэн хайх явдал юм.
Харамсалтай нь &unix; бий болсон тэр үед нууц үгийг аюулгүй аргаар
шифрлэх цорын ганц арга нь DES, Data Encryption Standard буюу
Өгөгдөл Шифрлэх Стандарт дээр үндэслэсэн байлаа. Энэ нь АНУ-д оршин
сууж байсан хэрэглэгчдийн хувьд тийм ч асуудалтай биш байсан юм, гэхдээ
DES-ийн эх код АНУ-аас гадагшаа экспорт хийгдэж болохгүй байсан
учир &os; нь АНУ-ын хуулийг дагахын хажуугаар DES-ийг ашигласан хэвээр
байсан бусад бүх &unix; төрлүүдтэй нийцтэй байх арга замыг хайж олоход
хүрсэн юм.
Үүний шийдэл нь АНУ-ын хэрэглэгчид DES сангуудыг суулгаж ашиглах боломжтой
мөртлөө олон улсын хэрэглэгчид гадагш экспорт хийгдэж болох шифрлэх аргатай бас
байхаар шифрийн сангуудыг хуваасан явдал байлаа. Ингэж &os; нь
MD5-ийг өөрийн анхдагч шифрлэх аргаа болгон ашиглах болсон юм. MD5 нь
DES-ээс илүү аюулгүй нууцлаг гэгддэг бөгөөд DES-ийг суулгах нь үндсэндээ
нийцтэй байх шалтгаануудын улмаас зориулагдсан юм.
Өөрийн Crypt арга замыг таних нь
Одоогоор шифрийн сан DES, MD5 болон Blowfish хэш функцуудыг дэмждэг.
Анхдагчаар &os; нь MD5 ашиглан нууц үгүүдийг шифрлэдэг.
&os; аль шифрлэх аргыг тохируулж ашиглаж байгааг мэдэх хялбар байдаг.
/etc/master.passwd файл дахь шифрлэсэн
нууц үгийг шалгах нь нэг арга юм. MD5 хэшээр шифрлэгдсэн нууц үгүүд нь
DES-р шифрлэгдсэнийгээ бодох юм бол урт бөгөөд $1$
тэмдэгтээр бас эхэлдэг. $2a$
тэмдэгтээр эхэлсэн нууц үгүүд Blowfish хэш функцаар шифрлэгдсэн байдаг.
DES мөр нь ямар нэг тусгайлан таньж болох шинж тэмдэггүй байдаг боловч
тэд MD5 нууц үгүүдээс богино бөгөөд $
тэмдэгт ордоггүй 64 тэмдэгттэй цагаан толгойгоор кодчилогддог, тиймээс
долларын тэмдэгтээр эхлээгүй харьцангуй богино мөр ихэвчлэн DES нууц үг
байдаг.
Шинэ нууц үгүүдэд ашиглагдах нууц үгийн хэлбэр нь нэвтрэлтийн
passwd_format боломжийн тусламжтай
/etc/login.conf файлд хянагддаг бөгөөд
энэ хувьсагч нь des, md5
эсвэл blf утгуудыг авдаг. Нэвтрэлтийн
боломжуудын талаар дэлгэрэнгүй мэдээллийг &man.login.conf.5;
гарын авлагын хуудаснаас үзнэ үү.
Нэг удаагийн нууц үгүүд
нэг удаагийн нууц үгүүд
аюулгүй байдал
нэг удаагийн нууц үгүүд
Анхдагчаар &os; OPIE (One-time Passwords
In Everything буюу Бүхэнд зориулсан нэг удаагийн нууц үгүүд) дэмжлэгтэй
байдаг бөгөөд энэ нь MD5 хэшийг анхдагчаар ашигладаг.
Бид гурван өөр төрлийн нууц үгийг доор хэлэлцэх болно. Эхнийх нь таны ердийн
&unix; загварын эсвэл Kerberos нууц үг юм; бид үүнийг &unix; нууц үг
гэж нэрлэх болно. Хоёр дахь төрөл нь OPIE &man.opiekey.1; програмаар
үүсгэгдэж &man.opiepasswd.1; програм болон нэвтрэлт хүлээх мөр хүлээн авах
нэг удаагийн нууц үг юм; бид үүнийг нэг удаагийн нууц үг
гэх болно.
Сүүлийн төрөл нууц үг бол opiekey програмд
(заримдаа opiepasswd програмууд) өгдөг
нууцлаг нууц үг бөгөөд үүнийг ашиглан дээрх програмууд нэг удаагийн нууц үг
үүсгэдэг; бид үүнийг нууцлаг нууц үг
гэх буюу эсвэл
зүгээр л шалгагдаагүй нууц үг
гэх болно.
Нууцлаг нууц үг нь таны &unix; нууц үгтэй ямар ч холбоогүй юм; тэдгээр нь
адил байж болох боловч ингэхийг зөвлөдөггүй. OPIE нууцлаг нууц үгүүд нь
хуучин &unix; нууц үгүүд шиг 8 тэмдэгтэд хязгаарлагддаггүй
&os; дээр стандарт нэвтрэх нууц үг уртаараа 128 тэмдэгт
хүртэл байж болдог. бөгөөд таны хүссэн хэмжээний
урттай байж болдог. Зургаа эсвэл долоон үг бүхий өгүүлбэрээс тогтох нууц үгүүд
нэлээн элбэг байдаг. Ихэнх хэсгийн хувьд OPIE систем &unix;-ийн нууц үгийн
системээс бүр мөсөн ангид ажилладаг.
Нууц үгээс гадна OPIE-д чухал өгөгдлийн өөр хоёр хэсэг байдаг. Нэг нь
seed буюу үр
эсвэл key буюу түлхүүр
гэгддэг
бөгөөд 2 үсэг болон таван тооноос тогтдог. Нөгөөдөх нь давталтын тоо
буюу 1-ээс 100 хүртэлх тоо юм. OPIE нэг удаагийн нууц үгийг үр болон нууцлаг
нууц үгийг нийлүүлэн MD5 хэшийг давталтын тоогоор ашиглан үүсгэж үр дүнг нь
зургаан богино Англи үг болгодог. Эдгээр зургаан Англи үг нь таны нэг удаагийн нууц
үг юм. Нэвтрэлт шалгах систем (үндсэндээ PAM) ашигласан хамгийн сүүлийн нэг удаагийн
нууц үгийг хадгалж байдаг бөгөөд хэрэглэгчийн өгсөн нууц үгийн хэш өмнөх нууц үгтэй таарч
байвал хэрэглэгчийг нэвтрүүлдэг. Үл буцах хэш ашиглагддаг болохоор хэрэв
амжилттайгаар ашиглагдсан нууц үгийг олж авсан бол дараа дараагийн нэг удаагийн
нууц үгүүдийг үүсгэх боломжгүй байдаг; хэрэглэгч болон нэвтрэлтийн програмыг хамгийн
сүүлийн хэлбэрт адилхан байлгаж байхын тулд давталтын тоо амжилттай нэвтрэлт хийгдэх бүрийн
дараа багасаж байдаг. Давталтын тоо 1 хүрэх үед OPIE дахин хийгдэх
хэрэгтэй болно.
Систем болгоны хувьд хэдэн програмууд байдаг бөгөөд тэдгээрийг бид энд
хэлэлцэх болно. opiekey програм давталтын
тоо, үр болон нууцлаг нууц үгийг хүлээн авч нэг удаагийн нууц үг эсвэл
нэг удаагийн нууц үгүүдийн үргэлжилсэн жагсаалтыг үүсгэдэг.
opiepasswd програмыг OPIE-г эхлүүлэх болон
нууц үг, давталтын тоо эсвэл үр өөрчлөхөд ашигладаг; энэ нь
нууцлаг нэвтрэх үгс аль эсвэл давталтын тоо, үр болон нэг удаагийн нууц үгийг
авдаг. opieinfo програм тохирох итгэмжлэлүүдийн
файлуудыг (/etc/opiekeys) шалгаж
ажиллуулсан хэрэглэгчийн одоогийн давталтын тоо болон үрийг дэлгэцэд
гаргадаг.
Бид дөрвөн өөр төрлийн үйлдлийн талаар хэлэлцэх болно. Эхнийх нь аюулгүй
холболтоор opiepasswd ашиглаж нэг удаагийн нууц үгүүдийг
эхний удаа тохируулах эсвэл өөрийн нууц үг эсвэл үрийг өөрчлөх үйлдэл юм.
Хоёр дахь үйлдэл нь opiepasswd-г аюултай холболтоор,
opiekey тушаалыг аюулгүй холболтоор ашиглаж
адил үйлдлийг хийх явдал юм. Гурав дахь нь opiekey-г
аюултай холболтоор ашиглан нэвтрэн орох үйлдэл юм. Дөрөв дэх нь
opiekey-г ашиглан хэд хэдэн түлхүүрүүд үүсгэх үйлдэл
бөгөөд гадагшаа аюулгүй холболтуудгүй газрууд уруу явахдаа тэдгээр түлхүүрүүдийг бичин авч
эсвэл хэвлэн аваад өөртөө авч явж болох юм.
Аюулгүй холболт эхлүүлэх
OPIE-г эхний удаа эхлүүлэхдээ opiepasswd
тушаалыг ажиллуул:
&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
Enter new secret pass phrase: эсвэл
Enter secret password: мөрүүд дээр та
нууц үг эсвэл өгүүлбэр оруулах ёстой. Энэ нь таны нэвтрэхдээ ашиглах
нууц үг биш гэдгийг санах хэрэгтэй, үүнийг ашиглаж таны нэг удаагийн
нэвтрэх түлхүүрийг үүсгэдэг. ID
мөр таны
тухайн үеийн параметрүүд болох таны нэвтрэх нэр, давталтын тоо болон
үрийг өгдөг. Нэвтрэн орох үед систем эдгээр параметрүүдийг санаж
танд тэдгээрийг санах шаардлагагүйгээр буцаан үзүүлдэг. Сүүлийн мөр нь
тэдгээр параметрүүд болон таны нууцлаг нууц үгт харгалзах нэг удаагийн
нууц үгийг өгдөг; хэрэв та нэн даруй дахин нэвтэрвэл энэ нэг удаагийн нууц үг
нь таны ашиглах тэр нууц үг юм.
Аюултай холболт эхлүүлэх
Өөрийн нууцлаг нууц үгийг аюултай холболтоор эхэлж өгөхдөө эсвэл
өөрчлөхдөө opiekey ажиллуулж болох тийм газар уруу
аюулгүй холболттой байж байх шаардлагатай; энэ нь таны итгэж байгаа машин
дээр бүрхүүлийн тушаал хүлээх мөр хэлбэрээр байж болно. Та бас давталтын тоог
(100 боломжийн утга байж болох юм) бодож өгөх хэрэгтэй бөгөөд та өөрөө үр
бодож олох эсвэл дурын үүсгэснийг ашиглах хэрэгтэй. Аюултай холболтоор
(таны эхлүүлж байгаа машин уруу) opiepasswd
тушаалыг ашигла:
&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Анхдагч үрийг хүлээж авах бол Return дар.
Дараа нь хандах нууц үгийг оруулахын өмнө аюулгүй холболт уруугаа
орж адил параметрүүдийг өгөөрэй:
&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Одоо аюултай холболт уруугаа шилжиж үүсгэсэн нэг удаагийн нууц үгээ
тохирох програм уруу хуулаарай.
Нэг удаагийн нууц үг ганцыг үүсгэх нь
OPIE-г эхлүүлэн тохируулж нэвтэрсний дараа танд иймэрхүү тушаал
хүлээх мөр харуулагдана:
&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password:
Энэ дашрамд тэмдэглэн хэлэхэд OPIE тушаал хүлээх мөрүүд ашигтай боломжтой
байдаг: хэрэв та нууц үг хүлээх мөр дээр Return
дарвал хүлээх мөр цуурайг идэвхжүүлж таны юу бичиж байгааг танд харуулдаг.
Та хэвлэсэн зүйлээсээ харж магадгүй нууц үгийг гараараа бичиж оруулахыг
оролдож байгаа бол энэ маш ашигтай байж болох юм.
MS-DOS
Windows
MacOS
Энэ үед нэвтрэлт хүлээх мөрөнд хариулахын тулд та өөрийн нэг удаагийн нууц үгийг
үүсгэх хэрэгтэй болно. Үүнийг opiekey тушаал итгэн ажиллуулж
чадах тийм систем дээрээ хийх хэрэгтэй. (DOS, &windows; болон &macos;-д
зориулсан эдгээрийн хувилбарууд байдаг) Эдгээрт давталтын тоо болон үр тушаалын
мөрийн тохируулга хэлбэрээр хэрэгтэй байдаг. Та нэвтрэн орж байгаа машиныхаа
нэвтрэлт хүлээх мөрөөс эдгээрийг шууд хуулан тавьж болох юм.
Итгэсэн систем дээрээ:
&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Одоо та өөрийн нэг удаагийн нууц үгтэй болсон болохоор нэвтрэлтээ
үргэлжлүүлж болно.
Нэг удаагийн нууц үг олныг үүсгэх нь
Заримдаа та итгэсэн машин эсвэл аюулгүй холболт уруу хандах боломжгүй
тийм газар очих хэрэгтэй болдог. Энэ тохиолдолд opiekey
тушаал ашиглаж хэд хэдэн нэг удаагийн нууц үгүүдийг урьдчилан үүсгэж хэвлэн
биедээ авч явах боломжтой юм. Жишээ нь:
&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHI
нь дараалсан таван түлхүүрийг үүсгэхийг,
нь сүүлийн давталтын тоог хэд байх ёстойг зааж өгч
байгаа юм. Эдгээр нь ашиглах бололцоотойг урвуу
дарааллаар дэлгэцэнд харуулдгийг тэмдэглэх нь зүйтэй. Хэрэв та хэт санаа
зовниж байгаа бол та үр дүнг гараар бичиж авахыг хүсэж болох юм;
эсвэл lpr уруу хуулан авч тавьж болох юм. Мөр бүр
давталтын тоо болон нэг удаагийн нууц үгийг харуулж байгааг анхаараарай;
та нууц үгүүдийг хэрэглэх бүртээ тэдгээрийг арилгаж энэ хэвлэсэн арга тань ашигтай
хэвээр болохыг мэдэж болох юм.
&unix; нууц үгүүдийг ашиглахыг хязгаарлах нь
OPIE нь &unix; нууц үгүүдийн ашиглалтыг нэвтрэлтийн сессийн IP хаяг дээр тулгуурлан
хязгаарлаж чаддаг. Тохирох файл нь /etc/opieaccess
бөгөөд энэ файл нь анхдагчаар байдаг. Энэ файлын талаар болон
үүнийг ашигласнаар та аюулгүй байдлын ямар зүйлсүүдийг бодолцож анхаарах ёстой талаар
дэлгэрэнгүй мэдээллийг &man.opieaccess.5;-с шалгана уу.
Энд жишээ opieaccess файл байна:
permit 192.168.0.0 255.255.0.0
Энэ мөр нь &unix; нууц үгүүдийг ямар ч үед ашиглахын тулд эхлэл IP хаягийг
(хууран мэхлэхэд хүрч болох тийм эмзэг) заагдсан утга болон багтай тааруулах
боломжийг хэрэглэгчдэд олгодог.
opieaccess дахь аль ч дүрэм таарахгүй байгаа
бол анхдагчаар OPIE биш нэвтрэлтүүдийг хааж үгүйсгэдэг.
Том
Рөүдс
Бичсэн
TCP Гүйцэтгэлийг хялбаршуулагчид
TCP Гүйцэтгэлийг хялбаршуулагчид
&man.inetd.8;-г мэддэг хэн бүхэн TCP Гүйцэтгэлийг хялбаршуулагчдын
талаар заримдаа сонссон байх. Гэхдээ цөөн хүмүүс энэ боломжийн
сүлжээний орчин дахь ашигтай талыг бүрэн ойлгодог юм шиг санагддаг.
Хүн бүхэн сүлжээний холболтууд зохицуулах галт хана суулгахыг хүсдэг
юм шиг санагддаг. Галт хана олон төрлийн хэрэглээтэй боловч
холболт үүсгэгч уруу текст илгээх зэрэг зарим зүйлсийг галт хана хийж
чаддаггүй. Энд дурдсан TCP програм энэ мэтийг болон
үүнээс илүүг хийдэг. Дараагийн хэдэн хэсэгт TCP Гүйцэтгэлийг хялбаршуулагчдын
олон боломжуудыг хэлэлцэх бөгөөд боломжтой үед нь жишээ тохиргооны
мөрийг үзүүлэх болно.
TCP Гүйцэтгэлийг хялбаршуулагчид програм хангамж нь
inetd-ийн чадваруудыг сервер бүрийн
хувьд түүний доор хянагдаж болохоор дэмжин өргөтгөдөг. Энэ аргыг ашиглан
бүртгэл хөтлөх дэмжлэг нэмэх, холболтууд уруу мэдэгдэл буцаах, дэмонд
зөвхөн дотоод холболтуудыг хүлээн авахыг зөвшөөрөх гэх мэт үйлдлүүдийг
хийх боломжтой. Эдгээр боломжуудын заримыг галт хана суулган тохируулж хийж
болох боловч энэ нь зөвхөн хамгаалалтын нэмэлт давхарга болохоос гадна
галт ханын үзүүлж чаддагаас илүү хяналтыг олгодог юм.
TCP Гүйцэтгэлийг хялбаршуулагчдын ийнхүү нэмэгдсэн
ажиллагаа нь сайн галт ханыг солихоор зүйл гэж ойлгогдох ёсгүй юм.
TCP Гүйцэтгэлийг хялбаршуулагчид нь галт хана
эсвэл өөр бусад аюулгүй байдлыг нэмэгдүүлэгч програмуудын хамтаар
ашиглагдаж системийн хувьд хамгаалалтын нэмэлт давхарга болон аятайхан
үйлчлэх боломжтой юм.
Энэ нь inetd-ийн тохиргооны өргөтгөл болохоор
энэхүү баримтыг уншигч таныг inetd тохиргоо
хэсгийг уншсан гэдэгт найдаж байна.
&man.inetd.8;-ээр ажиллуулагдсан програмууд яг жинхэнээрээ
дэмонууд
биш боловч тэдгээрийг уламжлалаар дэмонууд гэдэг.
Энэ ухагдахууныг бид энэ хэсэгт бас ашиглах болно.
Эхний тохиргоо
TCP Гүйцэтгэлийг хялбаршуулагчдыг &os;-д
ашиглахад байх цорын ганц шаардлага нь inetd серверийг
rc.conf файлаас
тохируулгатай ажиллуулсан эсэхийг шалгах явдал юм; энэ нь анхдагч тохиргоо
юм. Мэдээж /etc/hosts.allow файлын
зөв тохиргоо бас байгааг хүлээж байдаг боловч эдгээр тохиолдлуудад
&man.syslogd.8; системийн бүртгэлүүдэд мэдэгдлүүд шиддэг.
Бусад TCP Гүйцэтгэлийг хялбаршуулагчдын
шийдлүүдтэй харьцуулах юм бол hosts.deny
файлыг хэрэглэхээ больсон. Тохиргооны бүх сонголтууд
/etc/hosts.allow файлд байх шаардлагатай.
Хамгийн амархан тохиргоогоороо бол дэмоны холболтын бодлогууд
зөвшөөрөгдсөн эсвэл хаагдсаны аль нэгээр /etc/hosts.allow
файл дахь тохируулгуудаас хамааран тохируулагддаг. &os; дээрх анхдагч
тохиргоо нь inetd-ээр эхэлсэн дэмон бүр уруу хийгдэх
холболтыг зөвшөөрдөг. Үүнийг өөрчлөх талаар зөвхөн үндсэн тохиргооны тухай
дурдсаны дараа хэлэлцэх болно.
Үндсэн тохиргоо ихэвчлэн дэмон : хаяг : үйлдэл
хэлбэрийг авдаг. Энд байгаа дэмон нь
inetd-ийн эхлүүлсэн дэмоны нэр юм.
Хаяг нь зөв хостын нэр, address
хаяг эсвэл дөрвөлжин хаалтан ([ ]) доторх IPv6 хаяг байж болно.
Үйлдэл талбар нь allow буюу зөвшөөрөх эсвэл deny буюу эрхийг хориглох эсвэл
хандалтыг хаахын аль нэг байна. Тохиргоо эхний тохирсон дүрэм журмын дагуу ажилладаг гэдгийг
санах хэрэгтэй, энэ нь тохирох дүрмийг тохиргооны файлаас өсөх дарааллаар
хайна гэсэн үг юм. Тохирох дүрэм олдвол тэр дүрэм ашиглагдаж хайх
процесс зогсоно.
Бусад хэд хэдэн тохируулгууд байдаг боловч тэдгээрийг энэ хэсгийн сүүлд
тайлбарлах болно. Хялбар тохиргооны мөр ганцхан тэр мэдээллийн дагуу амархнаар
хийгдэж болно. Жишээ нь
mail/qpopper дэмоноор дамжин
хийгдэж болох POP3 холболтуудыг зөвшөөрөхийн тулд
дараах мөрүүд hosts.allow файлд нэмж хийгдэх
хэрэгтэй:
# This line is required for POP3 connections:
qpopper : ALL : allow
Энэ мөрийн нэмснийхээ дараа inetd-г дахин эхлүүлэх
хэрэгтэй. Үүнийг &man.kill.1; тушаал эсвэл /etc/rc.d/inetd-г
restart параметртай ашиглан хийж болно.
Дэвшилтэт тохиргоо
TCP Гүйцэтгэлийг хялбаршуулагчид нь бас дэвшилтэт
тохируулгуудтай байдаг; тэдгээр нь холболтуудтай хэрхэн ажиллахыг илүүтэйгээр
хянах боломжийг олгодог. Зарим тохиолдолд тодорхой хостууд эсвэл дэмон
холболтууд уруу тайлбар буцаах нь зүйтэй санаа байж болох юм. Бусад
тохиолдолд магадгүй бүртгэлийн файл бичигдэх ёстой эсвэл цахим захидал
администратор уруу илгээгдэж болох юм. Бусад тохиолдлууд үйлчилгээг зөвхөн
дотоод холболтууддаа ашиглахыг шаардаж болох юм. Эдгээр нь бүгдээрээ
орлуулагддаг тэмдэгтүүд, өргөтгөх тэмдэгтүүд болон
гадаад тушаалыг ажиллуулах зэрэг тохиргооны сонголтуудын тусламжтай хийгдэх
боломжтой юм. Дараагийн хоёр хэсэгт эдгээр тохиолдлуудын талаар бичсэн
байгаа.
Гадаад тушаалууд
Холболтыг хааж түүнийг тогтоохыг оролдсон хүн уруу шалтгааныг нь
илгээх тохиолдол гарчээ гэж бодъё. Үүнийг яаж хийх вэ? Энэ үйлдлийг
тохируулга ашиглан хийх боломжтой.
Холболт тогтоохоор оролдоход тохируулга
бүрхүүлийн тушаал эсвэл скрипт ажилуулахаар дуудагддаг.
hosts.allow файлд үүний жишээ аль хэдийн
орсон байдаг:
# The rest of the daemons are protected.
ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."
Энэ жишээ нь You are not allowed to use daemon
from hostname.
буюу
Та дэмоныг hostname-с
ашиглах зөвшөөрөлгүй.
гэсэн мэдэгдлийг хандалтын файлд урьдаар
тохируулагдаагүй дэмон бүрийн хувьд буцаадаг. Энэ нь тогтоогдсон холболт дөнгөж
салсны дараа холболтыг эхлүүлэгч уруу хариултыг буцааж илгээхэд маш их ашигтай
байдаг. Буцсан мэдэгдэл бүр " тэмдэгтүүд дотор
заавал байх шаардлагатай; энэ дүрмэнд ямар нэг
жич зөвшөөрөл байхгүй.
Хэрэв халдагч эсвэл бүлэг халдагчид эдгээр дэмонуудыг холболт хийх
хүсэлтээр цутгаж чадах юм бол серверийн эсрэг үйлчилгээг зогсоох халдлага явуулах
боломжтой байж болох юм.
Өөр нэг боломж нь эдгээр тохиолдлуудад
тохируулгыг ашиглах явдал юм. тохируулгын
нэгэн адил тохируулга нь холболтуудыг сохроор
хааж гадаад бүрхүүлийн тушаалууд эсвэл скриптүүдийг ажиллуулахад ашиглагдаж
болно. тохируулгаас ялгаатай тал нь
нь холболт тогтоосон хүн уруу хариулт буцааж
илгээдэггүй. Жишээ нь дараах тохиргооны мөр байжээ гэж бодъё:
# We do not allow connections from example.com:
ALL : .example.com \
: spawn (/bin/echo %a from %h attempted to access %d >> \
/var/log/connections.log) \
: deny
Энэ нь *.example.com домэйноос
ирсэн бүх холболтын оролдлогуудаас татгалзахын зэрэгцээ хостын нэр, IP
хаяг болон тэдний хандалт хийхийг оролдсон дэмонг /var/log/connections.log
файл уруу бүртгэнэ.
Дээр тайлбарласан орлуулах тэмдэгтүүдээс гадна, өөрөөр хэлбэл
%a тэмдэгтээс гадна бусад цөөн хэдэн тэмдэгтүүд бас байдаг. Бүрэн жагсаалтыг
&man.hosts.access.5; гарын авлагын хуудаснаас үзнэ үү.
Орлуулагддаг тэмдэгтүүдийн тохиргоонууд
Энэ хүртэл ALL жишээ бүх л жишээнүүдэд
ашиглагдлаа. Ажиллагааг арай цаашлуулж өргөтгөх бусад тохируулгууд
байдаг. Жишээ нь ALL нь дэмон, домэйн эсвэл
IP хаягийн аль нэгтэй тааруулах зорилгоор
ашиглагдаж болох юм. Өөр нэг орлуулагддаг тэмдэгт нь
IP хаягаа өөрчлөн хуурсан байж болох дурын хостыг
тааруулах PARANOID тохируулга юм. Өөрөөр хэлбэл
paranoid буюу хэт зовнил нь
өөрийн хостын нэрээс өөр IP хаягтай машинаас
холболт хийгдэх бүр түүнд тохирох үйлдлийг тодорхойлоход ашиглагдаж
болох юм. Дараах жишээ энэ хэлэлцүүлэгт арай илүү ойлголт өгч магадгүй
юм:
# Block possibly spoofed requests to sendmail:
sendmail : PARANOID : deny
Энэ жишээн дээр sendmail уруу хийгдэж байгаа
өөрийнхөө хостын нэрээс өөр IP хаягтай холболтын бүх
хүсэлтүүдээс татгалзан хааж байна.
Хэрэв клиент эсвэл сервер эвдэрхий DNS
суулгацтай бол PARANOID-ийг ашиглах нь серверүүдийг
ноцтойгоор зэрэмдэг болгож болох юм. Иймд администраторын зохион байгуулалт
болон хуваарилалт хийхийг зөвлөж байна.
Орлуулагддаг тэмдэгтүүдийн талаар болон тэдэнтэй холбоотой ажиллагааны
талаар дэлгэрэнгүйг &man.hosts.access.5; гарын авлагын хуудаснаас
үзээрэй.
Тусгай тохиргооны аль ч мөрүүдийн өмнө дээрх нь ажиллана, эхний тохиргооны
мөр hosts.allow файлд тайлбар болгон хаагдах
шаардлагатай. Үүнийг энэ хэсгийн эхэнд тэмдэглэж хэлсэн байгаа.
Марк
Мюррей
Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан
Марк
Дэйпоз
Хувь нэмэр болгон оруулсан
KerberosIV
Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн
тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм.
Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон
бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж
болохоор болсон.
Дараах заавруудыг &os;-тэй цуг түгээгддэг Kerberos-ийг хэрхэн тохируулах гарын авлага
болгон хэрэглэж болох юм. Гэхдээ та бүрэн тайлбарын талаар харгалзах гарын авлагын
хуудаснуудад хандаж үзэх шаардлагатай.
KerberosIV суулгах нь
MIT
KerberosIV
суулгах нь
Kerberos нь &os;-ийн нэмэлт бүрэлдэхүүн хэсэг юм. Энэ програм хангамжийг
суулгах хамгийн амархан арга нь &os; эхэлж суулгах үед sysinstall-д
krb4 эсвэл krb5 түгээлтийг сонгон
суулгах явдал юм. Энэ нь Kerberos-ийн eBones
(KerberosIV)
эсвэл Heimdal
(Kerberos5) шийдлүүдийг суулгах болно.
Эдгээр нь АНУ/Канадаас гадна хөгжүүлэгдсэн учраас АНУ-ын криптограф
код дээрх экспортын хязгаарлагдмал хяналтын үед бусад улсуудын системийн эзэмшигчдэд
ашиглагдах боломжтой болсон юм. Иймээс эдгээр шийдлүүд нь орсон байдаг.
Үүнээс гадна Kerberos-ийн MIT шийдэл портуудын цуглуулгын
security/krb5 санд байдаг.
Эхний мэдээллийн бааз үүсгэх
Энэ нь Kerberos сервер дээр зөвхөн хийгддэг. Эхлээд хуучин Kerberos мэдээллийн
баазууд байгаа эсэхийг шалгаарай. Та /etc/kerberosIV сан
уруу орж зөвхөн дараах файлууд байгааг шалгаарай:
&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realms
Хэрэв аль нэг нэмэлт файлууд (principal.*
эсвэл master_key зэрэг) байвал
kdb_destroy тушаал ашиглаж хуучин Kerberos мэдээллийн
баазыг устгах эсвэл хэрэв Kerberos ажиллахгүй байгаа бол ердөө л нэмэлт файлуудыг
устгах хэрэгтэй.
Та одоо өөрийн Kerberos хүрээг (realm) зааж өгөхдөө krb.conf
болон krb.realms файлуудыг засварлах шаардлагатай.
Энэ тохиолдолд хүрээ нь EXAMPLE.COM болох бөгөөд
сервер нь grunt.example.com болох юм.
Бид krb.conf файлыг засварлаж эсвэл
үүсгэнэ:
&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.gov
Энэ тохиолдолд бусад хүрээнүүд тэнд байх хэрэггүй. Тэдгээр нь энд машиныг хэрхэн
олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод
та тэдгээрийг оруулахгүйг хүсэж болох юм.
Эхний мөр нь систем ажиллах хүрээг нэрлэж байна. Бусад мөрүүд нь хүрээ/хост
оруулгуудыг агуулна. Мөр дэх эхнийх нь хүрээ бөгөөд хоёр дахь нь
түлхүүр түгээх төв
болж байгаа хүрээн дэх хост юм.
Хостын нэрийн дараах admin server нь хост бас
удирдах мэдээллийн баазаар хангаж байна гэсэн үг юм. Эдгээр ухагдахуунуудын
тайлбаруудын талаар Kerberos-ийн гарын авлагын хуудаснуудаас зөвлөгөө
авна уу.
Одоо бид grunt.example.com-г
EXAMPLE.COM хүрээ уруу нэмэх ёстой бөгөөд
бас EXAMPLE.COM хүрээний
.example.com домэйн дэх бүх
хостуудыг оруулан нэмж өгөх хэрэгтэй. krb.realms
файл дараах байдлаар шинэчлэгдэх болно:
&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDU
Дахин хэлэхэд бусад хүрээнүүд тэнд байх шаардлагагүй. Тэдгээр нь энд машиныг хэрхэн
олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод
та тэдгээрийг оруулахгүйг хүсэж болох юм.
Эхний мөр нь тусгай системийг нэрлэгдсэн
хүрээ уруу оруулж байна. Бусад мөрүүд нэрлэгдсэн хүрээнд тухайн дэд домэйны
системүүдийг хэрхэн анхдагчаар болгож байгааг харуулна.
Одоо бид мэдээллийн сан үүсгэхэд бэлэн боллоо. Энэ нь зөвхөн
Kerberos сервер (эсвэл Түлхүүр Түгээх Төв) дээр ажиллах ёстой.
kdb_init тушаал ажиллуулж үүнийг хийнэ:
&prompt.root; kdb_init
Realm name [default ATHENA.MIT.EDU ]: EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter Kerberos master key:
Одоо бид локал машин дээрх серверүүд авч болгохоор болгохын тулд түлхүүрийг
хадгалах хэрэгтэй. kstash тушаал ашиглаж үүнийг
хийнэ:
&prompt.root; kstash
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Энэ нь шифрлэгдсэн мастер нууц үгийг
/etc/kerberosIV/master_key-д хадгална.
Бүгдийг ажиллахаар болгох
KerberosIV
эхний эхлүүлэлт
Kerberos-оор аюулгүй болгогдох систем бүрийн
хувьд хоёр удирдагч мэдээллийн баазад нэмэгдэх шаардлагатай. Тэдгээрийн нэрс нь
kpasswd болон rcmd байна.
Эдгээр хоёр удирдагч нь систем бүрийн хувьд хувь системийн нэртэй тохиолдлуудын
хамтаар хийгдэнэ.
Эдгээр kpasswd болон
rcmd дэмонууд нь бусад системүүдэд
Kerberos нууц үгнүүдийг өөрчилж &man.rcp.1;,
&man.rlogin.1; болон &man.rsh.1; зэрэг тушаалуудыг ажиллуулахыг
зөвшөөрдөг.
Одоо эдгээр оруулгуудыг нэмэцгээе:
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: passwd
Instance: grunt
<Not found>, Create [y] ? y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ? y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: rcmd
Instance: grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exit
Серверийн файлыг үүсгэх
Одоо бид машин бүр дээр үйлчилгээнүүдийг тодорхойлдог бүх тохиолдлуудыг
гаргаж авах хэрэгтэй. Энэ зорилгоор бид ext_srvtab
тушаалыг ашиглана. Энэ нь файл үүсгэх бөгөөд түүнийг Kerberos-ийн
клиент бүрийн /etc сан уруу
аюулгүйн үүднээс хуулах эсвэл шилжүүлэх хэрэгтэй.
Энэ файл нь сервер болон клиент бүр дээр байх хэрэгтэй бөгөөд Kerberos-ийн
ажиллагаанд шийдвэрлэх зүйл болдог.
&prompt.root; ext_srvtab grunt
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....
Одоо, энэ тушаал зөвхөн түр зуурын файл үүсгэдэг бөгөөд тэр файлын нэрийг
бүх серверүүд авч чадахаар srvtab болгон нэрлэх
шаардлагатай. &man.mv.1; тушаал ашиглаж эх систем дээрх байрлал уруу
шилжүүл:
&prompt.root; mv grunt-new-srvtab srvtab
Хэрэв файл нь клиент системд зориулагдсан бөгөөд сүлжээ нь аюулгүй биш
гэж бодогдвол client-new-srvtab
файлыг шилжүүлж болох зөөвөрлөгч уруу хуулж физик аюулгүйн үүднээс тээвэрлэж
болно. Үүнийг клиентийн /etc сан дотор
srvtab болгон нэрлэж 600 горимд байгаа эсэхийг
шалгаарай:
&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtab
Мэдээллийн санг нутагшуулах
Бид одоо зарим хэрэглэгчийг мэдээллийн баазад оруулах хэрэгтэй. Эхлээд
jane хэрэглэгчид зориулсан оруулгыг үүсгэе.
Үүнийг kdb_edit тушаал ашиглаж хийнэ:
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: jane
Instance:
<Not found>, Create [y] ? y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- enter a secure password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ?
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exit
Бүгдийг тест хийх
Эхлээд бид Kerberos дэмонууд ажиллуулах шаардлагатай. Хэрэв та
өөрийн /etc/rc.conf файлыг зөв засварласан
бол дахин ачаалахад энэ нь автоматаар хийгдэх ёстойг санаарай.
Энэ нь зөвхөн Kerberos сервер дээр шаардлагатай. kerberos-ийн
клиентүүд хэрэгтэй зүйлээ автоматаар /etc/kerberosIV
сангаас авах болно.
&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Одоо бид kinit тушаал ашиглаж
бидний дээр үүсгэсэн jane ID-д зориулсан тасалбарыг авахыг
оролдож болно:
&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:
Токенууд бидэнд үнэхээр байгаа эсэхийг klist ашиглан
үзэхийг оролдоорой:
&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM
Одоо kpasswd дэмон
Kerberos-ийн мэдээллийн баазад нэвтрэлтийн зөвшөөрөл авч чадах эсэхийг шалгахын
тулд нууц үгийг &man.passwd.1; ашиглан өөрчлөхийг оролдоорой:
&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:
New Password for jane:
Verifying password
New Password for jane:
Password changed.
su зөвшөөрлүүдийг нэмэх
Kerberos нь root зөвшөөрлүүд
хэрэгтэй хэрэглэгч бүрд өөрсдийнх нь
тусдаа &man.su.1; нууц үгийг өгөхийг
бидэнд зөвшөөрдөг. Одоо бид &man.su.1;-аар танигдан зөвшөөрөгдсөн
ID-г root уруу нэмж болно. Үүнийг
root-г удирдагчтай холбосон тохиолдолтой
байснаар хянаж болно. kdb_edit ашиглан
Kerberos-ийн мэдээллийн баазад jane.root
оруулгыг бид үүсгэж болно:
&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name: jane
Instance: root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- enter a SECURE password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?
Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exit
Одоо үүнийг ажиллаж байгааг шалгаж токенуудыг авахыг оролдоорой:
&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:
Одоо бид хэрэглэгчийг root-ийн
.klogin файлд нэмэх хэрэгтэй:
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COM
Одоо &man.su.1; хийхийг оролдоод үз:
&prompt.user; su
Password:
тэгээд ямар токенууд бидэнд байгааг хараарай:
&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM
Бусад тушаалуудыг ашиглах
Өмнөх жишээн дээр бид jane гэж нэрлэгдсэн
удирдагчийг root тохиолдолтой үүсгэсэн.
Энэ нь удирдагчтай адил нэртэй хэрэглэгч дээр үндэслэсэн бөгөөд энэ нь
Kerberos-ийн анхдагч юм; root-ийн гэр сан дахь
.klogin файлд шаардлагатай оруулгууд байвал
<username>.root
хэлбэрийн <principal>.<instance> нь
тэр <username>-г root
уруу &man.su.1; хийхийг зөвшөөрдөг:
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COM
хэрэв хэрэглэгч үүнтэй адил хэлбэрийн өөрийн гэр сангийн мөрүүдтэй бол:
&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COM
Энэ нь өөрсдийгөө
jane эсвэл jack гэж
таниулсан (kinit-ийн тусламжтай, дээр дурдсаныг үз)
EXAMPLE.COM хүрээний хэнд ч
&man.rlogin.1;, &man.rsh.1; эсвэл &man.rcp.1; ашиглан энэ систем
(grunt) дээрх jane-ий бүртгэл
эсвэл файлуудад хандахыг зөвшөөрдөг.
Жишээ нь jane одоо өөр систем уруу Kerberos
ашиглан нэвтрэн орж байна:
&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Эсвэл jack яг тэр машин дээрх jane бүртгэл
уруу нэвтрэн орж байна (jane дээрхтэй адил .klogin-ийг
тохируулсан бөгөөд Kerberos хариуцсан хүн удирдагч jack-ийг хоосон
тохиолдолтой тохируулсан):
&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Тиллмэн
Хоожсон
Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан
Марк
Мюррей
Хувь нэмэр болгон оруулсан
Kerberos5
&os;-5.1-ээс хойшх &os;-ийн хувилбар бүр зөвхөн
Kerberos5-д зориулсан дэмжлэгийг
оруулсан байдаг. Kerberos5 нь
орсон цорын ганц хувилбар болохоор түүний тохиргоо олон талаараа
KerberosIV-д байдагтай адил
байдаг. Дараах мэдээлэл &os;-5.0-с хойшх хувилбар дахь
Kerberos5-тай хамаатай.
KerberosIV багцыг ашиглахыг
хүсэж байгаа хэрэглэгчид security/krb4
портыг суулгаж болно.
Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн
тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм.
Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон
бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж
болохоор болсон.
Kerberos нь хэн бэ гэдгийг шалгах прокси систем
юм. Энэ нь бас итгэгдсэн гуравдагч нэвтрэлт таних систем гэж тайлбарлагдаж
болно. Kerberos нь зөвхөн нэг функцыг
хангадаг — сүлжээн дээр хэрэглэгчдэд өөрсдийгөө аюулгүйгээр таниулах
боломжийг хангаж өгдөг. Энэ нь шалгаж таних функцууд (хэрэглэгчдийн
хийхийг зөвшөөрдөг) эсвэл аудит функцуудын (тэдгээр хэрэглэгчид юу хийснийг)
үүргийг гүйцэтгэдэггүй. Клиент болон сервер өөрийгөө таниулж батлахаар
Kerberos-г ашигласны дараа тэд бизнесээ бодож
өөрсдийн бүх холболтуудаа шифрлэж нууцлал болон бүрэн бүтэн байдлаа хадгалан
баталгаажуулж болно.
Иймээс Kerberos-ийг нэвтрэлт танилт болон
аудит үйлчилгээнүүдийг хангадаг бусад аюулгүй байдлын аргуудтай цуг ашиглахыг
маш ихээр зөвлөдөг.
Дараах заавруудыг &os;-д зориулан түгээгдсэн Kerberos-ийг
хэрхэн тохируулах гарын авлага болгон ашиглаж болно. Гэхдээ та тохирох гарын авлагын
хуудаснуудаас бүрэн тайлбарын талаар лавлах хэрэгтэй.
Kerberos-ийн суулгацыг үзүүлэх зорилгоор
төрөл бүрийн нэрийн талбарууд дараах байдлаар зохицуулагдана:
DNS домэйн (бүс
)
нь example.org байна.
Kerberos хүрээ нь
EXAMPLE.ORG байна.
Хэрэв та дотооддоо ажиллуулах бодолтой байсан ч гэсэн Kerberos-ийг
суулгаж тохируулахдаа жинхэнэ домэйны нэрүүдийг ашиглана уу. Энэ нь
DNS-ийн асуудлуудыг тойрон гарч
бусад Kerberos хүрээнүүдтэй хийх
хоорондын үйлдлийг баталгаажуулдаг.
Түүх
Kerberos5
түүх
Kerberos-ийг MIT
анх сүлжээний аюулгүй байдлын асуудлуудын шийдэл болгож хийсэн.
Kerberos протокол нь хүчирхэг криптографыг
ашигладаг бөгөөд клиент нь аюултай сүлжээний холболтоор өөрийгөө хэн бэ гэдгийг
серверт (болон эсрэгээр) баталж чадах боломжийг олгодог.
Kerberos нь сүлжээний танин шалгах
протоколын нэрээс гадна програмыг (жишээ нь Kerberos
телнет) шийдвэрлэж байгаа програмуудыг тайлбарласан тайлбар бас болдог.
Протоколын одоогийн хувилбар нь 5 бөгөөд RFC 1510-д
тайлбарласан байдаг.
Өргөн хүрээний үйлдлийн системүүдийг хамарсан энэ протоколын хэд хэдэн чөлөөтэй
шийдлүүд байдаг. Kerberos анх хөгжүүлэгдсэн
Массачусетсийн Технологийн Институт (MIT) нь
өөрийн Kerberos багцыг хөгжүүлсээр байна.
Энэ багц нь US-д криптограф бүтээгдэхүүн болж нийтлэг
хэрэглэгддэг бөгөөд энэ нь түүхээс авч үзэхэд US-ын
экспортын дүрэм журмуудаас болсон юм. MIT
Kerberos нь порт
(security/krb5) хэлбэрээр байдаг.
Heimdal Kerberos нь өөр шийдлийн 5-р
хувилбар бөгөөд экспортын дүрэм журмуудыг тойрон гарах зорилгоор
US-ээс гадна хамааралгүйгээр хөгжүүлэгдсэн (
бөгөөд ихэвчлэн арилжааны бус &unix; төрлүүдэд орсон байдаг) юм.
Heimdal Kerberos түгээлт нь
порт (security/heimdal)
хэлбэрээр байдаг бөгөөд үүний хамгийн бага суулгац үндсэн &os; суулгацад
орсон байдаг.
Аль болох олон үзэгчдийг хамрахын тулд эдгээр зааврууд нь &os;-д орсон
Heimdal түгээлтийг ашиглаж байна гэж тооцдог.
Heimdal KDC суулгаж тохируулах
Kerberos5
Түлхүүр Түгээх Төв
Түлхүүр Түгээх Төв (KDC) нь
Kerberos-ийн хангадаг төвлөрсөн нэвтрэлт таних
үйлчилгээ юм — энэ нь Kerberos
тасалбарууд өгдөг компьютер юм. KDC нь
Kerberos хүрээний бусад бүх компьютеруудад
итгэгдсэн
гэж тооцогддог бөгөөд аюулгүй байдлын санаа зовнилыг
дээшлүүлдэг.
Kerberos серверийг ажиллуулж байхад маш цөөн тооцооллын
эх үүсвэрийг шаарддаг боловч аюулгүй байдлын шалтгаанаас болоод зөвхөн
KDC болон ажиллах тусдаа зориулагдсан машинтай байхыг
зөвлөдгийг санаарай.
KDC-г тохируулж эхлэхдээ таны
/etc/rc.conf файлд KDC
болж ажиллах зөв тохиргоо хийгдсэн эсэхийг шалгаарай (өөрийн системийн хувьд
та замуудыг өөрчлөх хэрэгтэй байж болох юм):
kerberos5_server_enable="YES"
kadmind5_server_enable="YES"
Дараа нь бид таны Kerberos тохиргооны
файл /etc/krb5.conf-г тохируулна:
[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORG
Энэ /etc/krb5.conf файл нь
таны KDC нь бүрэн баталгаажсан хостын нэр
kerberos.example.org-тэй байна
гэж үзэж байгааг санаарай. Хэрэв таны KDC өөр
хостын нэртэй бол та өөрийн бүсийн файлдаа CNAME (alias)-ийг нэмэх
хэрэгтэй.
Зөв тохируулсан BIND DNS
сервер бүхий том сүлжээнүүдэд өмнөх жишээ нь:
[libdefaults]
default_realm = EXAMPLE.ORG
болж дараах мөрүүдийг example.org
бүсийн файлд нэмж цэгцэлж болно:
_kerberos._udp IN SRV 01 00 88 kerberos.example.org.
_kerberos._tcp IN SRV 01 00 88 kerberos.example.org.
_kpasswd._udp IN SRV 01 00 464 kerberos.example.org.
_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org.
_kerberos IN TXT EXAMPLE.ORG
Kerberos үйлчилгээнүүдийг хэрэглэгчдэд
хүртээмжтэй болгохын тулд та эсвэл бүрэн тохируулсан /etc/krb5.conf
файлтай эсвэл хамгийн багаар тохируулсан /etc/krb5.conf
файл болон зөв тохируулсан DNS сервертэй байх
ёстой.
Дараа нь бид Kerberos мэдээллийн бааз
үүсгэнэ. Энэ мэдээллийн бааз нь мастер нууц үгээр шифрлэсэн бүх удирдагчдын
түлхүүрүүдийг агуулдаг. Та энэ нууц үгийг тогтоох шаардлагагүй, энэ нь
файлд (/var/heimdal/m-key) хадгалагдах болно.
Мастер түлхүүр үүсгэхийн тулд kstash тушаалыг
ажиллуулж нууц үгээ оруулаарай.
Мастер түлхүүр үүсгэгдсэний дараа та мэдээллийн баазыг
kadmin програмыг -l
тохируулгатай (локал
гэсэн утгатай) ашиглан эхлүүлж болно.
Энэ тохируулга нь kadmin-д мэдээллийн баазын
файлыг kadmind сүлжээний үйлчилгээгээр
дамжилгүйгээр шууд өөрчлөхийг заадаг. Энэ нь мэдээллийн бааз үүсэхээс
өмнө түүн уруу хандахыг оролдох асуудлыг (яг л өндөг, тахианы аль нь түрүүлж гарсан
гэж маргадаг тэр асуудлын адил) зохицуулдаг. kadmin
хүлээх мөртэй болсныхоо дараа та өөрийн хүрээнүүдийн эхний мэдээллийн санг
init тушаал ашиглан үүсгээрэй.
Эцэст нь kadmin-ы горимд байхдаа өөрийн
эхний удирдагчийг add тушаал ашиглан үүсгээрэй.
Одоохондоо удирдагчийн хувьд анхдагч тохируулгуудыг сонгоорой, та
тэдгээрийг сүүлд нь modify тушаал ашиглан
өөрчилж чадна. Та аль ч тушаал хүлээх мөрөнд ?
тушаал ашиглаж байгаа боломжит тохируулгуудыг харж болохыг
санаарай.
Мэдээллийн сан үүсгэлтийн жишээ сесс доор байна:
&prompt.root; kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
&prompt.root; kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]:
kadmin> add tillman
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxx
Одоо KDC үйлчилгээнүүдийг эхлүүлэх цаг болжээ.
Үйлчилгээнүүдийг эхлүүлэхдээ /etc/rc.d/kerberos start болон
/etc/rc.d/kadmind start тушаалуудыг
ажиллуулна. Энэ үед танд ямар ч kerberos хийгдсэн дэмон байхгүйг санаарай,
гэхдээ та KDC-ийн өөрийнх нь тушаалын мөрөөс үүсгэсэн удирдагчид
(хэрэглэгч) зориулсан тасалбарыг авч жагсаан KDC-г ажиллаж байгаа
гэдгийг та баталж чадаж байх ёстой:
&prompt.user; kinit tillman
tillman@EXAMPLE.ORG's Password:
&prompt.user; klist
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG
Та дууссаныхаа дараа тасалбарыг буцааж болно:
&prompt.user; k5destroy
Серверийг Kerberos хийн Heimdal үйлчилгээнүүдтэй
идэвхжүүлэх
Kerberos5
үйлчилгээнүүдийг идэвхжүүлэх
Эхлээд бидэнд Kerberos-ийн тохиргооны
файл /etc/krb5.conf-ийн хуулбар хэрэг болно.
Ингэхийн тулд KDC-ээс түүнийг аюулгүй аргаар
(&man.scp.1; зэрэг сүлжээний хэрэгслүүд эсвэл физикээр уян диск ашиглан)
клиент компьютер уруу ердөө л хуулах хэрэгтэй.
Дараа нь танд /etc/krb5.keytab файл
хэрэгтэй. Энэ нь Kerberos хийгдсэн
дэмонууд бүхий сервер болон ажлын станц хоёрын гол ялгаа юм —
сервер нь keytab файлтай байх шаардлагатай.
Энэ файл нь өөрийг нь зөвшөөрдөг серверийн хост түлхүүр болон өөрсдийнхөө
нэрийг (identity) шалгах KDC-г агуулдаг.
Хэрэв түлхүүр нь нийтэд мэдэгдвэл серверийн аюулгүй байдал эвдэрч болох учир
энэ нь сервер уруу аюулгүйн үүднээс дамжуулагдах ёстой. Энэ нь шууд утгаараа
FTP зэрэг цэвэр текст сувгаар дамжуулах нь маш буруу
гэсэн үг юм.
Ихэвчлэн сервер уруу keytab файлыг
kadmin тушаал ашиглан дамжуулдаг.
Энэ нь тохиромжтой байдаг бөгөөд учир нь та бас хостын удирдагчийг
(krb5.keytab файлын KDC
төгсгөл) kadmin тушаал ашиглан үүсгэх хэрэгтэй
болдог.
Та тасалбарыг аль хэдийн авсан байх ёстой бөгөөд энэ тасалбар нь
kadmind.acl файлын kadmin
интерфэйсийг ашиглаж болохоор зөвшөөрөгдсөн байх ёстойг санаарай.
Heimdal-ийн мэдээллийн хуудаснуудын (info heimdal)
Алсын удирдлага
гэсэн гарчигтай хэсгээс хандалт хянах жагсаалтуудыг
дизайн хийх талаар дэлгэрэнгүйг үзнэ үү. Хэрэв та алсын kadmin
хандалтыг идэвхжүүлэхийг хүсэхгүй байгаа бол та KDC уруу
ердөө л аюулгүйгээр холбогдож (локал консолоор, &man.ssh.1; эсвэл
Kerberos &man.telnet.1;) удирдлагыг локалаар
өөр дээрээсээ kadmin -l тушаал ашиглан хийж болно.
/etc/krb5.conf файлыг суулгасны дараа та
Kerberos серверээс kadmin
тушаалыг ашиглаж болно. add --random-key тушаал нь
серверийн хост удирдагчийг нэмэх боломжийг танд олгох бөгөөд ext
тушаал нь серверийн хост удирдагчийг өөрийн keytab уруу задлах боломжийг танд олгоно.
Жишээ нь:
&prompt.root; kadmin
kadmin> add --random-key host/myserver.example.org
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin> ext host/myserver.example.org
kadmin> exit
ext тушаал нь (extract
гэдгийг
богиноор илэрхийлнэ) задалсан түлхүүрийг анхдагчаар /etc/krb5.keytab
файлд хадгалдаг.
Хэрэв таны хувьд KDC дээр kadmind
ажиллахгүй байгаа бөгөөд (магадгүй аюулгүй байдлын шалтгаануудаас болоод)
тэгээд kadmin уруу алсаас хандах боломжгүй бол та
хост удирдагчийг (host/myserver.EXAMPLE.ORG)
шууд KDC дээр нэмж дараа нь доор дурдсантай адилаар түүнийг түр
зуурын файл уруу (KDC дээрх
/etc/krb5.keytab файлыг дарж бичихээс сэргийлж)
задалж болно:
&prompt.root; kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin> exit
Та дараа нь keytab-ийг аюулгүйгээр (жишээ нь scp эсвэл
уян диск ашиглан) сервер компьютер уруу хуулж болно. KDC
дээрх keytab-ийг дарж бичихээс сэргийлж keytab нэрийг анхдагч бишээр зааж өгсөн
эсэхээ шалгаарай.
Энэ мөчид хүрэх үед таны сервер KDC-тэй
(krb5.conf файлтай учраас) холбогдож чадах бөгөөд
(krb5.keytab файлтай учраас) өөрийгөө таниулан баталж
чадна. Одоо та зарим нэг Kerberos үйлчилгээнүүдийг
идэвхжүүлэхэд бэлэн болжээ. Энэ жишээн дээр бид telnet
үйлчилгээг /etc/inetd.conf файлд доор дурдсантай төстэй
мөрийг оруулан идэвхжүүлж дараа нь &man.inetd.8; үйлчилгээг
/etc/rc.d/inetd restart тушаалын тусламжтай
дахин ачаалах болно:
telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user
Хамгийн чухал нь -a төрөл (нэвтрэлт танихад)
хэрэглэгчид тохируулагдсан. Илүү дэлгэрэнгүйг &man.telnetd.8; гарын
авлагын хуудаснаас лавлана уу.
Клиентийг Kerberos хийн Heimdal үйлчилгээтэйгээр идэвхжүүлэх
Kerberos5
клиентүүдийг тохируулах
Клиент компьютерийг тохируулах нь маш амархан.
Kerberos тохиргоо хийгдсэний дараа танд зөвхөн
/etc/krb5.conf-д байрлах
Kerberos тохиргооны файл хэрэгтэй.
Үүнийг ердөө л аюулгүйгээр клиент компьютер уруу KDC-ээс
хуулна.
Клиентээсээ kinit, klist, болон
kdestroy тушаалуудыг үүсгэсэн удирдагчийнхаа хувьд
тасалбар олж авах, үзүүлэх, болон дараа нь устгахад ашиглахыг оролдон клиент
компьютераа тест хийгээрэй. Та Kerberos
програмуудыг ашиглан Kerberos хийгдсэн
серверүүд уруу холбогдож чадах ёстой бөгөөд хэрэв ингэж ажиллаж болохгүй байгаа
бөгөөд тасалбар олж авах нь асуудалтай байгаа бол энэ нь клиент эсвэл
KDC-тэй холбоотой биш сервертэй холбоотой
асуудал юм.
telnet зэрэг програмыг тест хийж байх үед
таны нууц үг цэвэр текстээр бишээр илгээгдэж байгааг шалгахын тулд пакет
шиншлэгч (&man.tcpdump.1; зэрэг) ашиглаад үзээрэй.
telnet-ийг бүх өгөгдлийн урсгалыг шифрлэдэг
(ssh-тэй адил) -x тохируулгатай
ашиглахыг оролдоорой.
Төрөл бүрийн гол биш Kerberos клиент
програмууд нь бас анхдагчаар суудаг. Энэ нь үндсэн Heimdal суулгацын
хамгийн бага
мөн чанар юм: telnet
нь цорын ганц Kerberos хийгдсэн үйлчилгээ
юм.
Heimdal порт нь зарим нэг дутуу програмуудыг нэмдэг:
ftp, rsh,
rcp, rlogin болон
бусад цөөн хэдэн нийтлэг биш програмуудын Kerberos
хийгдсэн хувилбаруудыг нэмдэг. MIT порт нь бас
Kerberos клиент програмуудын бүрэн цуглуулгыг
агуулдаг.
Хэрэглэгчийн тохиргооны файлууд: .k5login болон .k5users
.k5login
.k5users
Хүрээн дэх хэрэглэгчийн хувьд ихэнхдээ өөрсдийнх нь Kerberos
удирдагчийг (tillman@EXAMPLE.ORG зэрэг)
локал хэрэглэгчийн бүртгэлд (tillman зэрэг локал бүртгэл)
харгалзуулж өгсөн байдаг. telnet зэрэг клиент
програмууд ихэвчлэн хэрэглэгчийн нэр эсвэл удирдагчийг шаарддаггүй.
Гэхдээ хааяа нэг та харгалзах Kerberos
удирдагчгүй хэн нэгэнд зориулж локал хэрэглэгчийн бүртгэлд хандах хандалтыг
өгөхийг хүсэж болох юм. Жишээ нь tillman@EXAMPLE.ORG
магадгүй локал хэрэглэгчийн бүртгэл webdevelopers-д
хандах хандалт хэрэгтэй байж болох юм. Бусад удирдагчид бас энэ локал бүртгэлд хандах
хэрэгтэй байж болох юм.
.k5login болон .k5users
файлууд нь хэрэглэгчдийн гэрийн сангуудад байрладаг бөгөөд
.hosts болон .rhosts
файлуудын хүчирхэг хослолын нэгэн адилаар энэ асуудлыг шийдэн ашиглагдаж болох юм.
Жишээ нь хэрэв .k5login нь дараах агуулгатайгаар:
tillman@example.org
jdoe@example.org
локал хэрэглэгч webdevelopers-ийн гэр санд
байрлаж байвал энд жагсаагдсан хоёр удирдагч хоёулаа хуваалцсан нууц үгийн шаардлагагүйгээр
тэр бүртгэл уруу хандах хандалттай болох юм.
Эдгээр тушаалуудын гарын авлагын хуудаснуудыг уншихыг зөвлөж байна.
ksu гарын авлагын хуудас .k5users
файлын тухай тайлбарладгийг тэмдэглэх нь зүйтэй юм.
Kerberos-той холбоотой арга, зальнууд болон алдааг олж засварлах
Kerberos5
алдааг олж засварлах
Heimdal эсвэл MIT
Kerberos портууд ашиглах үед
таны PATH орчны хувьсагч
клиентийн програмуудын Kerberos
хувилбаруудыг системийн хувилбаруудаас өмнө жагсаасан байхыг
шаарддаг.
Таны хүрээний бүх компьютерууд цагийн тохиргоонуудаа адилаар
тохируулсан уу? Хэрэв үгүй бол нэвтрэлт танилт амжилтгүй болж
болох юм. нь
NTP ашиглан цагийг хамгийн сүүлийн
хэлбэрт аваачиж адил болгож тохируулах талаар тайлбарладаг.
MIT болон Heimdal нь хоорондоо сайн
ажилладаг. kadmin-аас бусад талаараа
сайн ажилладаг, учир нь энэ програмын протокол стандартчилагдаагүй.
Та хэрэв өөрийн хостын нэрийг өөрчилбөл бас өөрийн host/
удирдагчийг өөрчилж өөрийн keytab-ийг шинэчлэх хэрэгтэй. Энэ нь бас
Апачигийн www/mod_auth_kerb-д
хэрэглэгддэг www/ удирдагч зэрэг тусгай keytab
оруулгуудад хамаатай юм.
Таны хүрээний бүх хостууд DNS-д (эсвэл
хамгийн багадаа /etc/hosts-ийн хувьд) танигдаж
(урагш болон эсрэгээр танигдаж) байх ёстой. CNAME-үүд ажиллах боловч A болон PTR
бичлэгүүд зөв бөгөөд байрандаа байж байх ёстой. Алдааны мэдэгдэл нь
тийм ч ойлгогдохоор байдаггүй, жишээ нь: Kerberos5
refuses authentication because Read req
failed: Key table entry not found буюу орчуулбал
Унших Req амжилтгүй болсон болохоор Kerberos5 нь нэвтрэлт танилтаас
татгалзаж байна.
Таны KDC-ийн хувьд магадгүй клиент маягаар
харьцаж байгаа зарим үйлдлийн системүүд setuid
root болохын тулд ksu
тушаалд зөвшөөрлүүдийг тохируулдаггүй. Энэ нь ksu
ажиллахгүй гэсэн үг бөгөөд аюулгүй байдлын хувьд сайн боловч залхаамаар
байдаг. Энэ нь KDC-ийн алдаа биш юм.
MIT
Kerberos-той байхад хэрэв та
анхдагч 10 цагаас арай урт амьдрах хугацаа бүхий тасалбартай удирдагчийг
зөвшөөрөхийг хүсвэл kadmin дээр
modify_principal тушаал ашиглан
өөрчлөхийг хүссэн удирдагч болон krbtgt
удирдагчийн maxlife-ийг өөрчлөх шаардлагатай. Дараа нь
удирдагч -l тохируулгыг
kinit-тай ашиглаж илүү урт амьдрах хугацаатай
тасалбарыг авах хүсэлт илгээж болох юм.
Хэрэв та өөрийн KDC дээр
алдааг олж засварлахын тулд пакет шиншлэгч ажиллуулж дараа нь
ажлын станцаасаа kinit-ийг ажиллуулахад
kinit-ийг ажилласан даруй
таны TGT илгээгдэхийг
— таныг бүр нууц үгээ бичихээс өмнө та харах болно!
Үүний тайлбар нь Kerberos
сервер чөлөөтэйгээр TGT-ийг (Ticket Granting
Ticket буюу Тасалбар Баталгаажуулах Тасалбар) ямар ч танигдаагүй
хүсэлтэд дамжуулдаг; гэхдээ TGT бүр
хэрэглэгчийн нууц үгээс гарсан түлхүүр болон шифрлэгдсэн байдаг.
Тийм болохоор хэрэглэгч өөрсдийн нууц үгийг бичихэд
тэр нь KDC уруу илгээгддэггүй бөгөөд
харин kinit-ийн аль хэдийн олж авсан
TGT-г буцааж шифрлэхэд (decrypt)
ашиглагддаг. Хэрэв буцааж шифрлэх процесс хүчинтэй хугацаа бүхий
хүчинтэй тасалбарыг гаргаж авбал хэрэглэгч хүчинтэй
Kerberos итгэмжлэлүүдтэй
байна. Эдгээр итгэмжлэлүүд нь ирээдүйд
Kerberos сервертэй аюулгүй холболтууд
хийхэд зориулагдсан сессийн түлхүүр болон бас Kerberos
серверийн өөрийнх нь түлхүүрээр шифрлэгдсэн тасалбар-баталгаажуулах
тасалбарыг агуулдаг. Шифрлэлтийн хоёр дахь давхарга нь хэрэглэгчид
мэдэгддэггүй, гэхдээ энэ нь TGT бүрийн
жинхэнийг шалгахыг Kerberos
серверт зөвшөөрч байгаа тэр зүйл юм.
Хэрэв та урт амьдрах хугацаатай (жишээ нь долоо хоног) тасалбар ашиглахыг
хүсэж байгаа бөгөөд та тасалбар хадгалагдаж байгаа машин уруу
OpenSSH ашиглан холбогдож байгаа бол
Kerberos
тохируулга no
гэж sshd_config тохиргооны файлд байгаа эсэхийг
шалгаарай, тэгэхгүй бол таны тасалбарууд таныг гарах үед устгагдах
болно.
Хостын удирдагчид илүү урт амьдрах хугацаатай тасалбартай бас байж болно
гэдгийг санаарай. Хэрэв таны хэрэглэгчийн удирдагч долоо хоног амьдрах хугацаатай
бөгөөд гэхдээ таны холбогдож байгаа хост 9 цаг амьдрах хугацаатай бол
та кэшдээ хугацаа нь дууссан хостын удирдагчтай болж тасалбарын кэш
хүссэнээр ажиллахгүй болох болно.
Тусгайлсан муу нууц үгүүдийг ашиглуулахгүйн тулд (kadmind
тушаалын гарын авлагын хуудас үүнийг товчхон тайлбарладаг)
krb5.dict файлыг тохируулахдаа
нууц үгийн бодлого тавигдсан удирдагчдад энэ нь зөвхөн хамаатайг санах
хэрэгтэй. krb5.dict файлуудын хэлбэр
хялбар байдаг: нэг мөрт нэг үг (string) байна. /usr/share/dict/words
симболын холбоос үүсгэх нь ашигтай байж болох юм.
MIT портоос ялгаатай талууд
MIT болон Heimdal суулгацуудын гол ялгаа нь
өөр (гэхдээ орлуулж болох) тушаалууд болон өөр протоколууд ашигладаг
kadmin програмтай холбоотой юм.
Хэрэв таны KDC нь MIT бол
та Heimdal kadmin програмыг ашиглаж өөрийн
KDC-г алсаас (эсвэл эсрэг чиглэлд энэ
зорилгоор) удирдаж чадахгүй болдог учир энэ нь их хамаатай юм.
Клиент програмууд нь бас шал өөр өөр тушаалын мөрийн тохируулгууд авч
адил үүргийг гүйцэтгэж болох юм. MIT
Kerberos вэб сайт
() дээрх заавруудыг
дагахыг зөвлөж байна. Замын асуудлуудаас болгоомжлоорой:
MIT порт нь анхдагчаар /usr/local/
уруу суудаг бөгөөд хэрэв таны PATH орчны хувьсагч системийн
сангуудыг эхлээд жагсаадаг бол жирийн
системийн програмууд
MIT-ийн оронд ажиллаж болохыг санаарай.
telnetd болон klogind-ээр
нэвтрэх нэвтрэлтүүд нэг л хачин байдаг тэр шалтгааныг ойлгохыг хүсвэл &os;-ийн хангадаг
MIT security/krb5 портын
суулгасан /usr/local/share/doc/krb5/README.FreeBSD
файлыг унших хэрэгтэй. Хамгийн чухал нь
кэш файл дахь буруу зөвшөөрлүүд
ийг зөв болгох нь
дамжуулагдсан итгэмжлүүдийн эзэмшилтийг зөвөөр солих login.krb5
хоёртын файлыг нэвтрэлт танилтад ашиглахыг шаарддаг.
rc.conf файл дараах тохиргоог агуулж засварлагдсан
байх бас шаардлагатай:
kerberos5_server="/usr/local/sbin/krb5kdc"
kadmind5_server="/usr/local/sbin/kadmind"
kerberos5_server_enable="YES"
kadmind5_server_enable="YES"
MIT керберосд зориулсан програмууд
/usr/local санд хоёртын файлуудыг
суулгадаг болохоор ингэж хийгддэг.
Kerberos дахь хязгааруудыг багасгах
Kerberos5
хязгаарууд болон дутагдлууд
Kerberos нь бүгдийг эсвэл юуг ч биш гэсэн арга юм
Сүлжээнд идэвхжүүлэгдсэн үйлчилгээ бүр Kerberos-тэй
ажиллахаар засварлагдсан (эсвэл сүлжээний халдлагуудын эсрэг аюулгүй
байдлыг хангасан) байх шаардлагатай, тэгэхгүй бол хэрэглэгчдийн
итгэмжлэлүүд хулгайлагдаж дахин ашиглагдаж болох юм. Үүний нэг жишээ нь
бүх алсын бүрхүүлүүдийг (жишээ нь rsh болон
telnet) Kerberos хийн
идэвхжүүлсэн мөртлөө нууц үгүүдийг цэвэр текстээр илгээдэг POP3
захидлын серверийг тэгж хувиргахгүй байх явдал юм.
Kerberos нь ганц хэрэглэгчийн ажлын станцуудад зориулагдсан
Олон хэрэглэгчийн орчинд Kerberos нь
тийм ч аюулгүй биш юм. Энэ нь тасалбаруудыг бүх хэрэглэгчийн хувьд уншигдаж
болох /tmp санд хадгалдаг учраас тэр юм.
Хэрэв хэрэглэгч компьютераа хэд хэдэн бусад хүмүүстэй зэрэг харилцан хуваалцаж
байвал (өөрөө хэлбэл олон-хэрэглэгч) хэрэглэгчийн тасалбаруудыг өөр хэрэглэгч
хулгайлах (хуулан авах) боломжтой юм.
Үүнийг -c файлын нэрийн тушаалын мөрийн тохируулгатай
эсвэл (илүү зохимжтой) KRB5CCNAME орчны хувьсагчтайгаар
даван гарч болох юм, гэхдээ ингэх нь их ховор байдаг. Зарчмын хувьд
тасалбарыг хэрэглэгчдийн гэр санд хадгалж хялбар файлын зөвшөөрлүүдийг ашиглах нь
энэ асуудлыг багасгадаг.
KDC нь бүтэлгүйтлийн ганц цэг
Дизайнаараа бол KDC нь мастер нууц үгийн
мэдээллийн баазаас тогтох бөгөөд түүний нэгэн адил аюулгүй байх ёстой.
KDC нь үүн дээр өөр ямар ч үйлчилгээнүүд
ажиллуулсан байх ёсгүй бөгөөд физикээр аюулгүй байдлыг нь
хангасан байх шаардлагатай. Kerberos
нь ижил түлхүүрээр (мастер
түлхүүр) шифрлэгдсэн бүх
нууц үгүүдийг хадгалдаг бөгөөд тэр ижил түлхүүр нь эргээд
KDC дээр файл маягаар хадгалагддаг учраас
аюул өндөртэй байдаг.
Тэмдэглэн хэлэхэд булаан эзлэгдсэн мастер түлхүүр нь хэн нэг нь айхаар
тийм ч муу биш юм. Түлхүүр үг нь зөвхөн Kerberos
мэдээллийн баазыг шифрлэхэд болон санамсаргүй тоо үүсгэгчийн үр болон
хэрэглэгддэг. Таны KDC уруу хандахад аюулгүй л
байж байвал халдагч мастер түлхүүрээр их юм хийж чадахгүй.
Мөн нэмж хэлэхэд хэрэв KDC нь боломжгүй байвал
(магадгүй үйлчилгээ зогсоох халдлага эсвэл сүлжээний асуудлуудаас болоод)
сүлжээний үйлчилгээнүүд нь нэвтрэлт танилтыг хийж болохгүй болохоор
хэрэглэгдэх боломжгүй болох бөгөөд нэг ёсны үйлчилгээ зогсоох халдлагын рецепт
болох юм. Үүнийг олон KDC-тэй (нэг мастер болон
нэг буюу хэд хэдэн боолууд) болон хоёрдогч эсвэл нэмэлт, эцсийн нэвтрэлт таних
(PAM нь энэнд маш сайн) болгоомжтой шийдлийн
тусламжтайгаар даван гарч болох юм.
Kerberos-ийн дутагдлууд
Kerberos нь хэрэглэгчид, хостууд болон
үйлчилгээнүүдэд өөр хоорондоо бие биенээ таниулах боломжийг олгодог. Гэхдээ энэ нь
KDC-г хэрэглэгчид, хостууд эсвэл үйлчилгээнүүдэд
таниулах аргагүй юм. Энэ нь троян хийгдсэн kinit (жишээ нь)
тушаал бүх хэрэглэгчийн нэрс болон нууц үгүүдийг бүртгэн бичиж авч болно гэсэн
үг юм. security/tripwire
ч юм уу эсвэл өөр бусад файлын системийн бүрэн бүтэн байдлыг шалгах хэрэгслүүд
үүнийг арилгаж чадна.
Эх сурвалжууд болон нэмэлт мэдээллүүд
Kerberos5
гадаад эх сурвалжууд
Kerberos-ийн FAQ
Танин шалгах системийг дизайн хийх нь: Дөрвөн үзэгдэл дэх харилцан яриа (диалог)
RFC 1510,
Kerberos Сүлжээний Танин Шалгах Үйлчилгээ
(V5)
MIT
Kerberos-ийн гэр хуудас
Heimdal
Kerberos-ийн гэр хуудас
Том
Рөүдс
Бичсэн
OpenSSL
аюулгүй байдал
OpenSSL
Олон хэрэглэгчдийн хайдаг нэг боломж нь &os;-д байдаг
OpenSSL багаж юм.
OpenSSL нь ердийн холбооны давхарга
дээр шифрлэлт дамжуулах давхаргыг хангаж өгдөг; ингэснээр түүнийг сүлжээний
програмууд болон үйлчилгээнүүдтэй холбож өгөх боломжийг олгодог.
OpenSSL-ийн зарим нэг хэрэглээнд
захидлын клиентүүдийн шифрлэсэн нэвтрэлт, кредит картаар хийх төлбөрүүд гэх мэт
вэб дээр тулгуурласан шилжүүлгүүд зэрэг олныг дурдаж болно.
www/apache13-ssl болон
mail/sylpheed-claws зэрэг
олон портууд нь OpenSSL-тэй бүтээх
эмхэтгэлийн дэмжлэгийг санал болгодог.
Ихэнх тохиолдолд Портуудын Цуглуулга нь make хувьсагч
WITH_OPENSSL_BASE-ийг yes
гэж заагаагүй тохиолдолд
security/openssl портыг
бүтээхийг оролддог.
&os;-д орсон OpenSSL-ийн хувилбар нь
Secure Sockets Layer v2/v3 (SSLv2/SSLv3) буюу Аюулгүй Сокетуудын
Давхаргын v2/v3 хувилбарууд, Transport Layer Security v1 (TLSv1) буюу
Тээврийн Давхаргын Аюулгүй байдлын v1 хувилбарын сүлжээний аюулгүй байдлын
протоколуудыг дэмждэг бөгөөд ерөнхий криптограф сан болон ашиглагдаж
болох юм.
OpenSSL нь
IDEA алгоритмийг дэмждэг боловч Нэгдсэн Улсын
патентуудаас болоод анхдагчаар хаалттай байдаг. Үүнийг ашиглахын тулд
лицензийг шалгасан байх ёстой бөгөөд хэрэв хязгаарлалтуудыг хүлээн
авах боломжтой бол MAKE_IDEA хувьсагчийг
make.conf файлд заагж өгөх ёстой байдаг.
OpenSSL-ийн хамгийн түгээмэл хэрэглээний
нэг бол програм хангамжуудад зориулан ашиглах сертификатуудыг бэлдэх явдал
юм. Эдгээр сертификатууд нь компани болон хувь хүмүүсийн итгэмжлэлүүдийг
хүчинтэй бөгөөд луйврын биш гэдгийг баталгаажуулдаг. Хэрэв асуудалтай сертификат
хэд хэдэн Certificate Authorities
эсвэл CA-ууд буюу
Сертификатын Эрх мэдэлтнүүдээр шалгагдаагүй бол ихэвчлэн анхааруулга үзүүлдэг.
Сертификатын Эрх мэдэлтэн нь VeriSign зэрэг
компани байдаг бөгөөд компаниуд эсвэл хувь хүмүүсийн итгэмжлэлүүдийг хүчин төгөлдөр болгохын
тулд сертификатуудыг баталгаажуулж өгдөг. Энэ процесс нь өртөгтэй бөгөөд
сертификатууд ашиглахад заавал ч үгүй шаардлага болдоггүй; гэхдээ энэ нь
паранойд буюу хэт зовнисон хэрэглэгчдийн заримын санааг тайвшруулж болох юм.
Сертификатуудыг үүсгэх нь
OpenSSL
сертификат үүсгэлт
Сертификат үүсгэхийн тулд дараах тушаал байдаг:
&prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key
................++++++
.......................................++++++
writing new private key to 'cert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:PA
Locality Name (eg, city) []:Pittsburgh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:Systems Administrator
Common Name (eg, YOUR name) []:localhost.example.org
Email Address []:trhodes@FreeBSD.org
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:SOME PASSWORD
An optional company name []:Another Name
Common Name
хүлээх мөрийн дараах хариу домэйны
нэрийг харуулж байгааг анзаараарай. Энэ мөр нь шалгалт хийх зорилгоор
серверийн нэрийг оруулахыг шаарддаг; домэйн нэрээс бусдыг байрлуулах нь
ашиггүй сертификат үүсэхэд хүргэдэг. Бусал тохируулгууд, жишээ нь
дуусах хугацаа, өөр шифрлэх алгоритмууд гэх мэт тохируулгууд байдаг.
Бүрэн гүйцэд жагсаалтыг &man.openssl.1; гарын авлагын хуудсыг үзэн
авч болно.
Дээрх тушаалын ажилласан санд хоёр файл одоо байж байх ёстой.
Сертификатын хүсэлт req.pem нь таны оруулсан итгэмжлэлүүдийг
хүчин төгөлдөр болгож хүсэлтийг баталгаажуулан сертификатыг танд буцаах сертификатын
эрх мэдэлтэн уруу илгээгдэж болно. Үүсгэгдсэн хоёр дахь файл нь
cert.pem гэж нэрлэгдэн сертификатын хувийн түлхүүр
болох бөгөөд ямар ч байсан гэсэн хамгаалагдсан байх ёстой; хэрэв энэ нь
бусдын гарт орох юм бол таны (эсвэл таны серверийн) дүрд тоглон ашиглагдаж болох
юм.
CA-с гарын үсэг шаарддаггүй тохиолдолд
өөрөө зурсан сертификатыг үүсгэж болно. Эхлээд RSA
түрхүүр үүсгэх хэрэгтэй:
&prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024
Дараа нь CA түлхүүр үүсгэ:
&prompt.root; openssl gendsa -des3 -out myca.key myRSA.key
Сертификат үүсгэхийн тулд энэ түлхүүрийг ашигла :
&prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crt
Санд хоёр шинэ файл үүсэх ёстой: сертификатын эрх мэдэлтний гарын
үсгийн файл myca.key болон сертификат өөрөө
new.crt байна. Эдгээрийг
зөвхөн root унших эрхтэй
/etc санд байрлуулах
шаардлагатай. Үүнд 0700 зөвшөөрөл байж болох бөгөөд түүнийг
chmod хэрэгсэл ашиглан тохируулж болно.
Сертификатуудыг ашиглах нь, жишээ
Тэгэхээр эдгээр файлууд нь юу хийж чадах вэ? Сайн хэрэглээ болох нэг
жишээ нь Sendmail
MTA уруу хийгдэх холболтуудыг шифрлэх байж болно.
Энэ нь локал MTA ашиглан захидал илгээх
хэрэглэгчдийн цэвэр текст нэвтрэлтийн хэрэглээг болиулах юм.
Зарим MUA-ууд нь хэрэв хэрэглэгчид дотроо
сертификат суулгаагүй бол тэдэнд алдааг харуулдаг болохоор энэ нь
ертөнц дээрх хамгийн шилдэг хэрэглээ биш юм.
Сертификат суулгах тухай илүү мэдээллийг програм хангамжтай цуг ирсэн
баримтаас үзэх хэрэгтэй.
Дотоод .mc файл дотор дараах мөрүүдийг
байрлуулах хэрэгтэй:
dnl SSL Options
define(`confCACERT_PATH',`/etc/certs')dnl
define(`confCACERT',`/etc/certs/new.crt')dnl
define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
define(`confTLS_SRV_OPTIONS', `V')dnl
Дээрх /etc/certs/ нь
сертификат болон түлхүүр файлуудыг дотооддоо хадгалах сан юм.
Сүүлийн хэдэн шаардлагууд нь дотоод .cf файлын
дахин бүтээлт юм. Үүнийг /etc/mail сан
- дотроос make install тушаал
- бичин хийж болно. Ингэсний дараа make
- restart тушаалыг ажиллуулаарай, энэ нь
+ дотроос make install тушаал
+ бичин хийж болно. Ингэсний дараа make
+ restart тушаалыг ажиллуулаарай, энэ нь
Sendmail дэмонг эхлүүлэх ёстой.
Хэрэв бүгд зүгээр болж өнгөрвөл /var/log/maillog
файлд ямар ч алдаа бичигдэхгүй бөгөөд Sendmail
процессийн жагсаалтад харуулагдана.
Хялбар тест хийхийн тулд &man.telnet.1; хэрэгсэл ашиглан
захидлын серверт холбогдох хэрэгтэй:
&prompt.root; telnet example.com 25
Trying 192.0.34.166...
Connected to example.com.
Escape character is '^]'.
220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
quit
221 2.0.0 example.com closing connection
Connection closed by foreign host.
Хэрэв STARTTLS
мөр гарч ирвэл бүгд зөв ажиллаж
байна.
Ник
Клэйтон
nik@FreeBSD.org
Бичсэн
IPsec
IPsec дээгүүр VPN хийх
FreeBSD гарц машинуудыг ашиглан Интернэтээр тусгаарлагдсан хоёр сүлжээний
хооронд VPN үүсгэх.
Хитэн М.
Пандиа
hmp@FreeBSD.org
Бичсэн
IPsec-ийг ойлгох нь
Энэ хэсэг IPsec-ийг тохируулах процессийг тайлбарлаж
FreeBSD болон µsoft.windows; 2000/XP
машинуудаас тогтох орчинд түүнийг ашиглан тэдгээрийг өөр хоорондоо аюулгүйгээр
холбогдох нөхцөлийг бүрдүүлэх талаар зааварлах болно. IPsec-ийг тохируулахын
тулд та өөрчлөн тохируулсан цөм бүтээх ухагдахууныг мэдсэн байх шаардлагатай
(-г үзнэ үү).
IPsec нь Интернэт Протокол (IP) давхаргын
дээр суудаг протокол юм. Энэ нь хоёр буюу хэд хэдэн хостуудыг аюулгүй байдлаар
(нэрээс нь харах юм бол) холбох боломжийг олгодог. FreeBSD IPsec
сүлжээний стек
нь IPv4 болон IPv6 протоколуудыг хоёуланг
дэмждэг KAME шийдэл дээр
үндэслэсэн.
FreeBSD нь OpenBSD-ээс авсан Fast IPsec буюу
Хурдан IPsec
гэгддэг тоног төхөөрөмжөөр хурдасгасан
IPsec стектэй. Энэ нь IPsec-ийн ажиллагааг оновчтой болгохын тулд &man.crypto.4;
дэд системийн тусламжтайгаар криптограф тоног төхөөрөмжийг (аль болох бүх газар)
хэрэглэдэг. Энэ нь шинэ дэд систем бөгөөд IPsec-ийн KAME хувилбарт байдаг
бүх боломжуудыг дэмждэггүй. Гэхдээ тоног төхөөрөмжөөр хурдасгасан IPsec-ийг
идэвхжүүлэхийн тулд өөрийн цөмийн тохиргооны файлдаа дараах цөмийн тохируулгыг
нэмэх хэрэгтэй:
цөмийн тохируулгууд
FAST_IPSEC
options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
IPsec-ийн KAME шийдлийн оронд Fast IPsec
дэд системийг ашиглах боломж одоогоор байхгүйг тэмдэглэе. Дэлгэрэнгүй
мэдээллийг &man.fast.ipsec.4; гарын авлагын хуудаснаас
лавлана уу.
Галт хануудад &man.gif.4; туннелийн төлөвийг бас зөв дагаж
мөрдөх боломжийг олгохын тулд та өөрийн цөмийн тохиргооны файлдаа
тохируулгыг идэвхжүүлэх
хэрэгтэй:
options IPSEC_FILTERGIF #filter ipsec packets from a tunnel
IPsec
ESP
IPsec
AH
IPsec нь хоёр дэд протоколоос тогтоно:
Encapsulated Security Payload
(ESP) буюу Хайрцаглагдсан Аюулгүй байдлын ачаа нь
гуравдагчийн нөлөөллөөс тэгш хэмт криптограф алгоритмийг
(Blowfish, 3DES-тэй адил) ашиглан агуулгыг нь шифрлэж
IP пакетийн өгөгдлийг хамгаалдаг.
Authentication Header (AH) буюу Нэвтрэлт Танилтын
Толгой нь аюулгүй хэш хийх функцаар IP пакетийн толгойн
талбаруудыг хэш хийн криптограф хянах нийлбэрийг тооцоолон гуравдагч
этгээдийн нөлөөлөл болон хууран мэхлэлтээс IP пакетийн толгойг
хамгаалдаг. Үүний дараа пакет дахь мэдээллийг таниулахыг зөвшөөрөх
хэшийг агуулсан нэмэлт толгой байдаг.
ESP болон AH нь
орчноосоо хамаараад хоёулаа цуг эсвэл тусдаа ашиглагдаж болно.
VPN
виртуал хувийн сүлжээ
VPN
IPsec нь хоёр хостын хоорондох урсгалыг шууд шифрлэх (Transport
Mode буюу Тээвэрлэх Горим гэгддэг) буюу эсвэл
хоёр корпорацийн сүлжээний хооронд аюулгүй холбоонд ашиглагдаж болох
виртуал туннелиуд
(Tunnel Mode буюу Туннелийн
Горим гэгддэг) бүтээхэд хэрэглэгдэж болох юм. Сүүлийнх нь ерөнхийдөө
Виртуал Хувийн Сүлжээ (VPN) гэгддэг.
FreeBSD-ийн IPsec дэд системийн талаар дэлгэрэнгүй мэдээллийг
&man.ipsec.4; гарын авлагын хуудаснаас лавлах хэрэгтэй.
Өөрийн цөмдөө IPsec дэмжлэгийг нэмэхийн тулд та дараах тохируулгуудыг
цөмийн тохиргоондоо нэмээрэй:
цөмийн тохируулгууд
IPSEC
цөмийн тохируулгууд
IPSEC_ESP
options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
цөмийн тохируулгууд
IPSEC_DEBUG
Хэрэв IPsec дибаг хийх дэмжлэг заавал хэрэгтэй бол дараах цөмийн тохируулга
бас нэмэгдсэн байх шаардлагатай:
options IPSEC_DEBUG #debug for IP security
Асуудал
VPN-ийг байгуулахад ямар нэг стандарт байхгүй. VPN-үүд нь өөр өөрийн давуу болон сул
талуудтай төрөл бүрийн технологиудыг ашиглан хийгдэж болно. Энэ хэсэг нь
нэг тохиолдлын загвар үзүүлэх бөгөөд энэ тохиолдол дахь VPN-ийг хийхэд
хэрэглэгдэх стратегиудыг харуулах болно.
Тохиолдол: Интернэтэд холбогдсон, нэг юм шиг ажиллах хоёр сүлжээ
VPN
үүсгэх
Угтвар нөхцөл дараах маягийн байна:
Та хамгийн багадаа хоёр сайттай байна
Хоёр сайт хоёулаа IP-г дотооддоо ашигладаг
FreeBSD дээр нь ажилладаг гарц компьютераар хоёр сайт хоёулаа
Интернэтэд холбогдсон.
Хоёр сүлжээний гарц компьютер бүр хамгийн багаар бодоход нэг нийтийн IP
хаягтай.
Хоёр сүлжээний дотоод хаягууд нь нийтийн эсвэл хувийн IP хаягууд байж
болох юм, энэ нь хамаагүй. Та гарц машин дээр хэрэв шаардлагатай бол
NAT ажиллуулсан байж болох юм.
Хоёр сүлжээний дотоод IP хаягууд мөргөлдөхгүй.
Үүнийг ажиллуулахын тулд VPN технологи болон NAT-ийн хослолыг ашиглах нь
онолын хувьд боломжтой боловч би үүнийг хар дарсан зүүд шигээр тохиргоо их төвөгтэй
байх болов уу гэж бодож байна.
Хоёр сүлжээ дотооддоо хоёулаа адилхан хувийн IP хаягийн хүрээ (өөрөөр хэлбэл
хоёулаа 192.168.1.x) ашиглаж байгаа хоёр
сүлжээг холбохыг оролдож байгаагаа хэрэв та мэдэх юм бол аль нэг сүлжээний IP-г дахин
дугаарлах шаардлагатай болно.
Сүлжээний бүтэц иймэрхүү харагдаж болох юм:
Сүлжээ #1 [ Дотоод хостууд ] Хувийн Сүлжээ, 192.168.1.2-254
[ Win9x/NT/2K ]
[ UNIX ]
|
|
.---[fxp1]---. Хувийн IP, 192.168.1.1
| FreeBSD |
`---[fxp0]---' Нийтийн IP, A.B.C.D
|
|
-=-=- Интернэт -=-=-
|
|
.---[fxp0]---. Нийтийн IP, W.X.Y.Z
| FreeBSD |
`---[fxp1]---' Хувийн IP, 192.168.2.1
|
|
Сүлжээ #2 [ Internal Hosts ]
[ Win9x/NT/2K ] Хувийн Сүлжээ, 192.168.2.2-254
[ UNIX ]
Хоёр нийтийн IP хаяг байгааг анзаарна уу. Нийтлэлийн туршид би эдгээрийг үсгээр
орлуулан ашиглах болно. Энэ нийтлэлийн туршид тохиолдох эдгээр үсэгнүүдийн оронд өөрийн
нийтийн хаягаар орлуулж тавиарай. Мөн дотроо хоёр гарц машин маань .1 IP хаягтай
бөгөөд хоёр сүлжээ маань өөр өөр хувийн IP хаягийн хүрээтэйг (192.168.1.x болон 192.168.2.x) анхаарна уу. Хувийн сүлжээнүүд дэх бүх
машинууд өөрсдийн анхдагч гарцдаа .1
машиныг ашиглахаар тохируулсан байгаа болно.
Гол зорилго нь сүлжээ талаасаа авч үзэх юм бол сүлжээ болгон нөгөө сүлжээнийхээ машинуудыг
яг л нэг чиглүүлэгчид холбоотой юм шиг харж чадан ажиллаж байх ёстой -- гэвч энэ чиглүүлэгч нь
хааяа пакетуудыг гээдэг илүү удаан чиглүүлэгч байх юм.
Энэ нь (жишээ нь) 192.168.1.20 машин
дараах тушаалыг ажиллуулж
ping 192.168.2.34
нэвт ажиллаж чадах ёстой гэсэн үг юм. &windows; машинууд
өөр сүлжээн дээр байх машинуудыг харж файлын хуваалцал санг үзэх зэргийг хийж
локал сүлжээн дээр байгаа машинуудыг харж үзэж чаддаг шигээр ажиллаж чадаж байх
ёстой.
Тэгээд бүх юм аюулгүй байх хэрэгтэй. Энэ нь хоёр сүлжээний хоорондох
урсгал шифрлэгдэх ёстой гэсэн үг юм.
Эдгээр хоёр сүлжээний хооронд VPN үүсгэх нь олон алхамтай
процесс юм. Эдгээр нь:
Интернэтийн дагуу хоёр сүлжээний хооронд виртуал
сүлжээний холболт үүсгэнэ. Ажиллаж байгааг нь шалгаж &man.ping.8; зэрэг
багажуудыг ашиглаж тест хийгээрэй.
Хоёр сүлжээний хоорондох урсгал харагдахгүйгээр шифрлэгдэж
шаардлагатай бол буцаан шифрлэгдэх тэр боломжийг бүрдүүлэх
аюулгүй байдлын бодлогуудыг зааж өгөөрэй. Урсгал шифрлэгдэж
байгааг эсэхийг шалгаж &man.tcpdump.1; зэрэг багажууд ашиглан
тест хийгээрэй.
VPN-ийн дагуу &windows; машинууд нэг нь нөгөөгөө харж байхыг
зөвшөөрөх нэмэлт програм хангамжийг FreeBSD гарц машинууд дээр
тохируулаарай.
Алхам 1: виртуал
сүлжээний холболт үүсгэн тест хийх
Сүлжээ #1 дээрх гарц машин (A.B.C.D
нийтийн IP хаягтай, 192.168.1.1 хувийн
IP хаягтай) уруу та нэвтрэн орсон бөгөөд W.X.Y.Z
IP хаягтай машины хувийн хаяг уруу нь ping 192.168.2.1
гэж тушаал ажиллуулъя гэж бодъё. Ингэж ажиллахын тулд юу болох ёстой вэ?
Гарц машин 192.168.2.1 уруу
яаж хүрэхээ мэдэх ёстой. Өөрөөр хэлбэл энэ нь 192.168.2.1 уруу хийгдсэн чиглүүлэлттэй
байх хэрэгтэй.
192.168.x зэрэг хувийн
IP хаягууд Интернэт дээр бараг үзэгдэх ёсгүй. Харин
192.168.2.1 уруу таны илгээсэн
пакет бүр өөр пакет дотор орсон байх ёстой. Энэ пакет нь
A.B.C.D машинаас ирсэн маягаар
байх ёстой бөгөөд W.X.Y.Z уруу
илгээгдэх ёстой. Энэ процессийг encapsulation
буюу хайрцаглалт гэж нэрлэдэг.
Энэ пакет нь W.X.Y.Z дээр ирээд
unencapsulated
буюу буцааж ялгагдан
192.168.2.1 уруу хүргэгдэх
хэрэгтэй.
Та үүнийг хоёр сүлжээний хоорондох туннель
гэж ойлгож болно. Туннелийн хоёр амсар
нь
A.B.C.D болон W.X.Y.Z IP хаягууд бөгөөд туннельд
түүгээр дамжин өнгөрөх хувийн IP хаягуудыг мэдэгдсэн байх шаардлагатай.
Туннель нь нийтийн Интернэтээр хувийн IP хаягтай урсгалыг дамжуулахад
хэрэглэгдэнэ.
Энэ туннель нь ерөнхий интерфэйс эсвэл FreeBSD дээрх gif
төхөөрөмж ашиглан үүсгэгддэг. Таны бодсоноор гарц машин бүр дээрх
gif интерфэйс нь дөрвөн IP хаягтай
байхаар тохируулагдсан байх шаардлагатай; хоёр нь нийтийн IP хаяг,
хоёр нь хувийн IP хаяг.
Хоёр машины хувьд gif төхөөрөмжийн дэмжлэг &os;-ийн цөмд эмхэтгэгдсэн
байх шаардлагатай. Та дараах мөрийг:
device gif
хоёр машины цөмийн тохиргооны файлд хийн дараа нь эмхэтгэн суулгаж дахин
ачаалснаар үүнийг хийж болно.
Туннелийг тохируулах нь хоёр алхамтай процесс юм. Эхлээд туннельд ямар гадаад
(эсвэл нийтийн) IP хаягууд байгааг &man.ifconfig.8; ашиглан мэдэгдэх
ёстой. Тэгээд дараа нь хувийн IP хаягуудыг &man.ifconfig.8; тушаал ашиглан
тохируулах ёстой.
Сүлжээ #1 дэх гарц машин дээр туннелийг тохируулахын тулд та дараах тушаалуудыг
ашиглах болно.
&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0 tunnel A.B.C.D W.X.Y.Z
&prompt.root; ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
Нөгөө нэг гарц машин дээр та адил тушаалуудыг гэхдээ IP хаягуудын дарааллыг
эсрэгээр тавин ажиллуулна.
&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0 tunnel W.X.Y.Z A.B.C.D
&prompt.root; ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
Та дараа нь:
ifconfig gif0
ажиллуулж тохиргоог харж болно. Жишээ нь сүлжээ #1 дээрх гарц машин
дээр та үүнийг харах болно:
&prompt.root; ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet A.B.C.D --> W.X.Y.Z
inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff
Эндээс харахад A.B.C.D болон
W.X.Y.Z физик хаягуудын хооронд туннель
үүссэн бөгөөд туннелээр зөвшөөрөгдөх урсгал нь 192.168.1.1 болон 192.168.2.1-ийн хооронд байна.
Энэ нь бас хоёр машин дээрх чиглүүлэлтийн хүснэгтэд бас оруулга нэмсэн байх
бөгөөд та үүнийг netstat -rn тушаал ашиглан шалгаж
болно. Доорх гаралт нь сүлжээ #1 дэх гарц машиных юм.
&prompt.root; netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.2.1 192.168.1.1 UH 0 0 gif0
...
Flags
утгын харуулж байгаагаар энэ нь хостын чиглүүлэлт
бөгөөд энэ нь гарц бүр нөгөө гарц уруу хэрхэн хүрэхээ мэдэх боловч тэд харин
өөрсдийнхөө харгалзах сүлжээнүүд уруу хэрхэн хүрэхээ мэдэхгүй гэсэн үг юм.
Энэ асуудлыг удахгүй засварлах болно.
Энэ нь хоёр машин дээр хоёулан дээр нь галт хана ажиллаж гэсэн үг юм.
Таны VPN урсгалын хувьд үүнийг тойрон гарах шаардлагатай. Та хоёр сүлжээний
хоорондох бүх урсгалыг зөвшөөрөх юм уу эсвэл VPN-ий хоёр төгсгөлийг нэгээс нөгөөг
хамгаалах галт ханын дүрмүүдийг оруулж болох юм.
Хэрэв VPN-ээр өнгөрөх бүх урсгалыг зөвшөөрөхөөр галт ханыг тохируулах
юм бол энэ нь тест хийхийг ихээхэн амарчлах болно. Та дараа нь хэзээ ч галт ханаа
илүү чангаруулж болно. Хэрэв та &man.ipfw.8; тушаалыг гарц машинууд дээр
ашиглаж байгаа бол дараах
ipfw add 1 allow ip from any to any via gif0
тушаал нь хоёр төгсгөлийн цэгийн хоорондох бүх урсгалыг таны галт ханын
бусад дүрмүүдийг хөндөлгүйгээр зөвшөөрөх болно. Мэдээж та энэ тушаалыг хоёр
гарц хост дээр хоёулан дээр ажиллуулах хэрэгтэй болно.
Нэг гарц машинаас нөгөө уруугаа ping хийхийг зөвшөөрөхөд хангалттай.
192.168.1.1 дээр та дараах
ping 192.168.2.1
тушаалыг ажиллуулж хариу хүлээж авахаас гадна мөн нөгөө гарц машин
дээрээс бас ингэж хийж чадаж байх ёстой.
Гэхдээ та хоёр сүлжээний дотоод машинууд уруу арай хүрч чадахгүй байх
ёстой. Энэ нь чиглүүлэлтээс болж байгаа юм -- гарц машинууд бие бие уруугаа
хэрхэн хүрэхээ мэдэж байгаа боловч нэг нэгнийнхээ цаана байгаа сүлжээнд хэрхэн
хүрэхийг мэдэхгүй.
Энэ асуудлыг шийдэхийн тулд та гарц машин бүр дээр статик чиглүүлэлт нэмэх
хэрэгтэй. Эхний гарц дээр хийх тушаал нь:
route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
Энэ нь 192.168.2.0 сүлжээний
хостуудад хүрэхийн тулд пакетуудыг 192.168.2.1
хост уруу илгээ
гэж байна. Та үүнтэй адил тушаалыг нөгөө гарц дээр бас
ажиллуулах хэрэгтэй бөгөөд гэхдээ 192.168.1.x
хаягуудыг ашиглах ёстой.
Одоо нэг сүлжээн дэх хостуудын IP урсгал нөгөө сүлжээний хостуудад хүрэх боломжтой
болно.
Энэ нь одоо хоёр сүлжээний хооронд VPN-ий гуравны хоёрыг үүсгэж байгаа бөгөөд
аль болох виртуал
аар үүсгэгдсэн сүлжээ
юм.
Энэ нь одоохондоо хувийн биш байгаа. Та үүнийг &man.ping.8; болон &man.tcpdump.1;
ашиглан тест хийж болно. Гарц хост уруу нэвтрэн орж дараах тушаалыг ажиллуулна
tcpdump dst host 192.168.2.1
Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна
ping 192.168.2.1
Та иймэрхүү гаралтыг харах болно:
16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply
Эндээс харахад ICMP мэдэгдлүүд нааш цааш шифрлэгдэлгүй явж байна.
Хэрэв та пакетуудаас өгөгдлийн байтуудыг илүүтэйгээр авахын тулд &man.tcpdump.1;
уруу параметрийг өгч ашигласан бол илүү мэдээлэл
та харж болох юм.
Энэ нь мэдээж хүлээн авах боломжгүй зүйл юм. Дараагийн хэсэгт
хоёр сүлжээний хоорондох холболтыг бүх урсгал нь автоматаар шифрлэгдэхээр
аюулгүй болгох талаар хэлэлцэх болно.
Дүгнэн хэлэхэд:
Хоёр цөмийг device gif
мөртэйгөөр тохируулна.
Гарц хост #1 дээрх /etc/rc.conf файлд засвар хийн
дараах мөрүүдийг нэмнэ (шаардлагатай тохиолдолд IP хаягуудыг сольно).
gif_interfaces="gif0"
gifconfig_gif0="A.B.C.D W.X.Y.Z"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
Хоёр хост дээрх гарц скриптийг (/etc/rc.firewall,
эсвэл үүнтэй адил) засварлаж доор дурдсаныг нэмнэ.
ipfw add 1 allow ip from any to any via gif0
IP хаягуудын дарааллыг эсрэгээр болгон гарц хост #2 дээрх
/etc/rc.conf файлд адил өөрчлөлтийг
хийнэ.
Алхам 2: Холболтыг аюулгүй болгох
Холболтыг аюулгүй болгохын тулд бид IPsec-ийг ашиглах болно. IPsec нь
хоёр хостыг шифрлэлтийн түлхүүр дээр зөвшилцүүлж дараа нь уг хоёр хостын хооронд
өгөгдлийг шифрлэхийн тулд энэ түлхүүрийг ашиглах арга замыг өгдөг.
Энд тохиргооны хоёр талбарыг бодолцох хэрэгтэй.
Ашиглах шифрлэлтийн арга зам дээр хоёр хост зөвшилцөх тийм арга зам
байх ёстой. Хоёр хост энэ арга зам дээр зөвшилцсөний дараа тэдгээрийн
хооронд аюулгүй байдлын нэгдэл
байна гэж
үздэг.
Аль урсгалыг шифрлэх ёстойг заах арга зам байх ёстой. Мэдээж та өөрийн бүх
гарч байгаа урсгалаа шифрлэхийг хүсэхгүй байх -- та зөвхөн VPN-ий хэсэг
болсон урсгалыг шифрлэхийг хүснэ. Аль урсгалыг шифрлэхийг тодорхойлохын
тулд хийгдэх дүрмүүд нь security policies
буюу
аюулгүй байдлын бодлогууд
гэгдэнэ.
Аюулгүй байдлын нэгдлүүд болон аюулгүй байдлын бодлогуудын ажиллагааг
цөм хангаж байдаг бөгөөд хэрэглэгчдийн талбарын програмуудаар засварлагдаж
болно. Гэхдээ үүнийг хийхийн өмнө IPsec болон Encapsulated
Security Payload (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын Ачаа
протоколыг цөм дэмжихээр та тохируулах хэрэгтэй. Цөмийг:
цөмийн тохируулгууд
IPSEC
options IPSEC
options IPSEC_ESP
тохируулгатай тохируулан дахин эмхэтгэж суулгаад ачаалан үүнийг хийнэ.
Урьдын адил та хоёр гарц машин дээрх цөмийн хувьд үүнийг хийх ёстой.
IKE
Аюулгүй байдлын нэгдлүүдийг тохируулах үед танд хоёр сонголт байна.
Шифрлэлтийн алгоритм, шифрлэлтийн түлхүүрүүд гэх зэргүүдийг сонгож
тэдгээр нэгдлүүдийг хоёр хостын хооронд гараараа тохируулж болох бөгөөд
эсвэл эдгээрийг хийх Internet Key Exchange protocol (IKE) буюу
Интернэтийн Түлхүүр Солилцох протоколыг шийддэг дэмонуудыг та ашиглаж
болно.
Би сүүлийнхийг зөвлөж байна. Өөр бусдыг тооцохгүй юм бол үүнийг
тохируулах нь амархан.
IPsec
аюулгүй байдлын бодлогууд
setkey
Аюулгүй байдлын бодлогуудыг засварлах болон үзүүлэхдээ &man.setkey.8;-г
ашиглан хийдэг. Адилтгах юм бол setkey нь цөмийн
аюулгүй байдлын бодлогын хүснэгтүүдэд &man.route.8; цөмийн чиглүүлэлтийн
хүснэгтүүдэд зориулагдсан шиг зориулагдсан байна. setkey
нь бас одоогийн аюулгүй байдлын нэгдлүүдийг үзүүлж чадах бөгөөд адилтган
цааш үргэлжлүүлбэл энэ нь бас netstat -r тушаалын
нэгэн адил болох юм.
FreeBSD-ээр аюулгүй байдлын нэгдлүүдийг удирдах дэмонуудын хувьд хэд хэдэн
сонголт байдаг. Энэ нийтлэл нь эдгээрийн нэг &os;-ийн Портуудын цуглуулгын
security/ipsec-tools-д байдаг
- racoon-ийг хэрхэн ашиглах талаар тайлбарлах болно.
+ racoon-ийг хэрхэн ашиглах талаар тайлбарлах болно.
racoon
racoon програм хангамж хоёр гарц машин
дээр хоёулан дээр нь ажиллах ёстой. Энэ нь хост бүр дээр VPN-ий нөгөө төгсгөлийн IP хаяг болон
нууц түлхүүртэйгээр (таны сонгох түлхүүр байх бөгөөд хоёр гарц машин дээр ижил байх ёстой)
тохируулагддаг.
Дараа нь хоёр дэмон нэг нэгэндээ хандаж тэдгээр нь өөрсдөө хэн хэн гэж хэлснээ
(таны тохируулсан нууц түлхүүрийг ашиглан) баталгаажуулдаг. Дэмонууд дараа нь
шинэ нууц түлхүүрийг үүсгэж түүнийг ашиглан VPN-ээр урсгалыг шифрлэдэг.
Тэд энэ нууцаа үе үе өөрчилдөг бөгөөд халдагч түлхүүрүүдийн аль нэгийг эвдсэн ч (цагаа
тулахаар энэ нь онолын хувьд бараг боломжгүй зүйл) гэсэн энэ нь халдагчид муу юм
хийх боломж олгодоггүй -- түлхүүрийг эвдэх тэр үед хоёр дэмон өөр түлхүүрийг сонгосон байна.
- racoon-ий тохиргооны файл ${PREFIX}/etc/racoon-д
+ racoon-ий тохиргооны файл ${PREFIX}/etc/racoon-д
байрлана. Та энд тохиргооны файлыг олох ёстой бөгөөд түүнд нэг их өөрчлөлт хийгдэх ёсгүй.
- Таны өөрчлөх шаардлагатай racoon-ий тохиргооны файлын өөр нэг бүрэлдэхүүн хэсэг нь
+ Таны өөрчлөх шаардлагатай racoon-ий тохиргооны файлын өөр нэг бүрэлдэхүүн хэсэг нь
pre-shared key буюу урьдчилан хуваалцсан түлхүүр
юм.
- racoon-ий анхдагч тохиргоо үүнийг ${PREFIX}/etc/racoon/psk.txt-д
+ racoon-ий анхдагч тохиргоо үүнийг ${PREFIX}/etc/racoon/psk.txt-д
байгаа гэж боддог. Урьдчилан хуваалцсан түлхүүр нь таны урсгалыг VPN-ийн дагуу шифрлэх
түлхүүр биш бөгөөд харин энэ нь ердөө л түлхүүр удирдах дэмонуудыг нэг нь
нөгөөдөө итгэхийг зөвшөөрөх токен гэдгийг тэмдэглэж хэлэх нь зүйтэй юм.
psk.txt нь таны ажиллаж байгаа алсын сайт бүрийн
мөрийг агуулсан байна. Хоёр сайт бүхий энэ жишээн дээр psk.txt
файл бүр нэг мөрийг агуулсан байна (VPN-ий төгсгөлүүд бүр зөвхөн нөгөө төгсгөлтэйгээ
ажилладаг).
Гарц хост #1 дээр энэ мөр иймэрхүү харагдах ёстой:
W.X.Y.Z secret
Энэ нь алсын төгсгөлийн нийтийн IP хаяг, хоосон зай,
тэгээд нууц үгийг илэрхийлэх текст мэдээлэл байна. Мэдээж та өөрийн түлхүүртээ
secret
гэдгийг ашиглах ёсгүй -- нууц үгийг сонгох энгийн дүрэм энд
үйлчилнэ.
Гарц хост #2 дээр энэ мөр иймэрхүү харагдах ёстой
A.B.C.D secret
Энэ нь алсын төгсгөлийн IP хаяг болон адилхан нууц түлхүүр байна.
- psk.txt нь racoon ажиллахаас өмнө
+ psk.txt нь racoon ажиллахаас өмнө
0600 (өөрөөр хэлбэл root-д
зөвхөн унших/бичих) горимд байна.
- Та racoon-ийг хоёр гарц машин дээр ажиллуулах ёстой. Та бас
+ Та racoon-ийг хоёр гарц машин дээр ажиллуулах ёстой. Та бас
UDP-ээр ISAKMP (Internet Security Association
Key Management Protocol буюу Интернэтийн Аюулгүй байдлын Нэгдлийн Түлхүүр
Удирдах Протокол) порт уруу зөөгдөх IKE урсгалыг зөвшөөрөх галт ханын зарим
дүрмүүдийг нэмэх хэрэгтэй. Дахин хэлэхэд энэ нь таны галт ханын дүрмийн олонлогт
нэлээн эрт байх шаардлагатай.
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
- racoon ажилласны дараа та нэг гарц хостоос нөгөө гарц хост уруу ping хийж
- үзэж болно. Холболт нь шифрлэгдээгүй байх боловч racoon дараа нь аюулгүй байдлын
+ racoon ажилласны дараа та нэг гарц хостоос нөгөө гарц хост уруу ping хийж
+ үзэж болно. Холболт нь шифрлэгдээгүй байх боловч racoon дараа нь аюулгүй байдлын
нэгдлүүдийг хоёр хостын хооронд тохируулна -- энэ нь хором болж өнгөрч болох бөгөөд
ping тушаал хариу өгч эхлэх хүртэл богино саатал маягаар танд харагдаж болох юм.
Аюулгүй байдлын нэгдэл тохируулагдсаны дараа та үүнийг &man.setkey.8; ашиглан
үзэж болно.
setkey -D
тушаалыг аль нэг хост дээр ажиллуулж аюулгүй байдлын нэгдлийн мэдээллийг харна.
Энэ нь асуудлын нэг хагас нь юм. Нөгөө нэг хагас нь өөрийн аюулгүй байдлын
бодлогуудыг тохируулах явдал юм.
Ухаалаг аюулгүй байдлын бодлогыг үүсгэхийн тулд энэ хүртэл юуг хийснээ эргэн
харцгаая. Энэ хэлэлцээ нь холболтын төгсгөлийн хоёулангийнх нь хувьд авч
үзнэ.
Таны гадагш илгээх IP пакет бүр пакетийн тухай өгөгдлийг агуулах толгойтой
байдаг. Толгой нь эхлэл болон төгсгөлийн IP хаягуудыг агуулдаг. Бидний мэдэж
байгаагаар 192.168.x.y зэрэг
хувийн IP хаягууд нийтийн Интернэт дээр ил гарах ёсгүй. Харин тэд эхлээд өөр
пакет дотор хайрцаглагдах ёстой. Энэ пакет нь хувийн хаягуудын оронд солигдсон
нийтийн эхлэл болон төгсгөл IP хаягуудтай байх ёстой.
Тэгэхээр хэрэв таны гарч байгаа пакет иймэрхүү харагдаж эхэлбэл:
.----------------------.
| Src: 192.168.1.1 |
| Dst: 192.168.2.1 |
| <other header info> |
+----------------------+
| <packet data> |
`----------------------'
Дараа нь өөр нэг пакетийн дотор энэ нь хайрцаглагдан иймэрхүү харагдах болно:
.--------------------------.
| Src: A.B.C.D |
| Dst: W.X.Y.Z |
| <other header info> |
+--------------------------+
| .----------------------. |
| | Src: 192.168.1.1 | |
| | Dst: 192.168.2.1 | |
| | <other header info> | |
| +----------------------+ |
| | <packet data> | |
| `----------------------' |
`--------------------------'
Энэ хайрцаглалт нь gif төхөөрөмжөөр
хийгдэнэ. Пакет нь гадна талдаа жинхэнэ IP хаягуудтай байх бөгөөд
бидний эхний пакет Интернэт уруу гарах пакет дотор орсон байгааг харж болно.
Мэдээж бид VPN-үүдийн хоорондох бүх урсгалыг шифрлэхийг хүснэ.
Та үүнийг иймэрхүүгээр үгчлэн хэлж болно:
Хэрэв пакет A.B.C.D-с гарч W.X.Y.Z уруу чиглэсэн бол шаардлагатай аюулгүй
байдлын нэгдлүүдийг ашиглан шифрлэнэ.
Хэрэв пакет нь W.X.Y.Z-с ирж A.B.C.D уруу чиглэсэн бол шаардлагатай аюулгүй
байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ.
Ингэж хэлэхэд ер нь бараг л зөв, ойрхон байна, гэхдээ бас тийм ч зөв биш юм. Хэрэв та
үүнийг хийсэн бол W.X.Y.Z-с гарсан болон
түүн уруу чиглэсэн, бүр VPN-ий хэсэг ч биш бүх урсгал шифрлэгдэх болно. Та яг үүнийг
хүсээгүй байх. Зөв бодлого нь дараах маягаар байна
Хэрэв пакет A.B.C.D-с гарч тэр пакет нь өөр пакет дотор орон
хайрцаглагдан W.X.Y.Z уруу чиглэсэн бол шаардлагатай аюулгүй
байдлын нэгдлүүдийг ашиглан шифрлэнэ.
Хэрэв пакет нь W.X.Y.Z-с ирж тэр пакет нь өөр пакет дотор орон
хайрцаглагдан A.B.C.D уруу чиглэсэн бол шаардлагатай аюулгүй
байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ.
Нарийн өөрчлөлт, гэхдээ хэрэгтэй нэгэн.
Аюулгүй байдлын бодлогууд нь бас &man.setkey.8; ашиглагдан заагдана.
&man.setkey.8; нь бодлого тодорхойлох тохиргооны хэлтэй байна. Та
тохиргооны заавруудыг stdin-ээс оруулж болох бөгөөд эсвэл тохиргооны заавруудыг агуулах
файлын нэрийг зааж өгөх тохируулгыг ашиглаж болно.
Гарц хост #1-ийн (A.B.C.D гэсэн нийтийн
IP хаягтай) тохиргоо W.X.Y.Z уруу чиглэсэн
бүх гарах урсгалыг хүчээр шифрлэхийн тулд:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Эдгээр тушаалуудыг файлд (өөрөөр хэлбэл
/etc/ipsec.conf) хийгээд ажиллуулаарай
&prompt.root; setkey -f /etc/ipsec.conf
нь бид аюулгүй бодлогын мэдээллийн санд
дүрэм нэмэхийг хүсэж байгааг &man.setkey.8;-д хэлж өгч байна. Энэ мөрийн бусад нь
энэ бодлогод аль пакет таарахыг заана. A.B.C.D/32 ба W.X.Y.Z/32 нь энэ бодлого хамаарах
сүлжээ болон хостуудыг таних IP хаягууд болон сүлжээний багууд юм. Энэ
тохиолдолд эдгээр хоёр хостуудын хоорондох урсгалд үүнийг хамааруулахыг
бид хүсэж байна. нь энэ бодлого зөвхөн
бусад пакетуудыг хайрцаглах пакетуудад хамаатай гэдгийг цөмд хэлнэ.
тохируулга нь энэ бодлого гарах пакетуудад
хамаатайг хэлэх бөгөөд тохируулга нь пакет
нууцлагдахыг хэлж байна.
Хоёр дахь мөр нь энэ пакет хэрхэн шифрлэгдэхийг заана.
нь ашиглагдах протокол байхад
нь пакетийг цаашаагаа IPsec пакет дотор орж хайрцаглалт хийгдэхийг заана.
A.B.C.D болон W.X.Y.Z-ийн давхардсан хэрэглээ нь
ашиглах аюулгүй байдлын нэгдлийг сонгоход хэрэглэгдэх бөгөөд төгсгөлийн
тохируулга энэ дүрмэнд таарсан пакетуудыг
шифрлэх ёстойг зааж байна.
Энэ дүрэм нь зөвхөн гарч байгаа пакетуудтай таарна. Ирж байгаа пакетийн
хувьд танд үүнтэй адил дүрэм хэрэгтэй.
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
Энэ тохиолдолд -ийн оронд
тохируулгыг ашиглаж шаардлагын дагуу IP хаягуудыг эсрэгээр болгосныг хараарай.
Нөгөө нэг гарц хостод (W.X.Y.Z
нийтийн IP хаягтай) үүнтэй адил дүрмүүд хэрэгтэй.
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Төгсгөлд нь та ESP болон IPENCAP пакетуудыг нааш цааш зөвшөөрөх
галт ханын дүрмүүдийг нэмэх хэрэгтэй. Эдгээр дүрмүүдийг хост бүр дээр
нэмэх шаардлагатай.
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Дүрмүүд нь тэгш хэмт учир адилхан дүрмүүдийг та гарц хост бүр дээр ашиглаж
болно.
Одоо гарч байгаа пакетууд үүнтэй адил харагдах болно:
.------------------------------. --------------------------.
| Src: A.B.C.D | |
| Dst: W.X.Y.Z | |
| <other header info> | | Encrypted
+------------------------------+ | packet.
| .--------------------------. | -------------. | contents
| | Src: A.B.C.D | | | | are
| | Dst: W.X.Y.Z | | | | completely
| | <other header info> | | | |- secure
| +--------------------------+ | | Encap'd | from third
| | .----------------------. | | -. | packet | party
| | | Src: 192.168.1.1 | | | | Original |- with real | snooping
| | | Dst: 192.168.2.1 | | | | packet, | IP addr |
| | | <other header info> | | | |- private | |
| | +----------------------+ | | | IP addr | |
| | | <packet data> | | | | | |
| | `----------------------' | | -' | |
| `--------------------------' | -------------' |
`------------------------------' --------------------------'
Тэдгээрийг VPN-ий хамгийн төгсгөлд хүлээн авах үед тэдгээр нь эхлээд
- буцаан шифрлэгдэнэ (racoon-аар тохиролцсон аюулгүй байдлын нэгдлүүдийг
+ буцаан шифрлэгдэнэ (racoon-аар тохиролцсон аюулгүй байдлын нэгдлүүдийг
ашиглан). Тэдгээр нь үүний дараа хоёр дахь давхаргыг гаргах
gif интерфэйс уруу орж хамгийн дотор байрлах
пакеттай үлдэх хүртэл боловсруулагдаад дотоод сүлжээ руу аялах болно.
Өмнө дурдсаны адил та &man.ping.8; тестийг ашиглан аюулгүй байдлыг
шалгаж болно. Эхлээд A.B.C.D гарц
машин уруу нэвтрэн орж дараах тушаалыг ажиллуулна:
tcpdump dst host 192.168.2.1
Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна
ping 192.168.2.1
Энэ удаад та доор дурдсантай адил гаралтыг харах ёстой:
XXX tcpdump output
Одоо эндээс харах юм бол &man.tcpdump.1; нь ESP пакетуудыг үзүүлж
байна. Хэрэв та тэдгээрийг тохируулгатай шалгахыг оролдвол
шифрлэлтээс болоод (мэдээж) нууцлаг харагдах болно.
Баяр хүргэе. Та дөнгөж сая алсын хоёр сайтын хооронд VPN
тохирууллаа.
Дүгнэн хэлэхэд
Хоёр цөмийг хоёуланг нь дараах тохируулгатай тохируулна:
options IPSEC
options IPSEC_ESP
security/ipsec-tools суулгана. Алсын хостын
IP хаяг болон тэдгээрийн мэддэг нууц түлхүүрийн оруулгыг нэмж
${PREFIX}/etc/racoon/psk.txt
файлыг хоёр гарц хост дээр хоёулан дээр засварлана. Энэ файлын горим
0600 байгааг шалгаарай.
Хост бүр дээрх /etc/rc.conf файлд дараах
мөрүүдийг нэмээрэй:
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
Хост бүр дээр шаардлагатай spadd мөрүүдийг агуулсан
/etc/ipsec.conf файл үүсгэна. 1-р гарц
хост дээр энэ нь ийм байна:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
2-р гарц хост дээр энэ нь ийм байна:
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Хост бүр дээр IKE, ESP, болон IPENCAP урсгалыг зөвшөөрөх
галт ханын дүрмүүд нэмээрэй:
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Өмнөх хоёр алхам VPN-ийг эхлүүлэн ажиллуулахад хангалттай байх
ёстой. Сүлжээ бүрийн машинууд өөр хоорондоо IP хаягуудаараа
хандах боломжтой болох бөгөөд холболтын дагуух бүх урсгал автоматаар
аюулгүй шифрлэгдэх болно.
Шерн
Ли
Хувь нэмэр болгон оруулсан
OpenSSH
OpenSSH
аюулгүй байдал
OpenSSH
OpenSSH нь алсын машинуудад аюулгүйгээр хандах
сүлжээний холболтын хэрэгслүүдийн олонлог юм. rlogin,
rsh, rcp, болон
telnet-ийг энэ програмаар шууд орлуулан ашиглаж болно.
Мөн TCP/IP холболтууд аюулгүйгээр SSH-ээр туннель хийгдэж/дамжуулагдаж
болдог. OpenSSH нь сэм чагналт, холболт булаан авалт, болон
бусад сүлжээний түвшний халдлагуудыг үр дүнтэйгээр устгаж бүх трафикийг шифрлэдэг.
OpenSSH-г OpenBSD төсөл дэмжиж байдаг бөгөөд
бүх сүүлийн үеийн алдааны засварууд болон шинэчлэлтүүд бүхий SSH v1.2.12 дээр
тулгуурласан байдаг. Энэ програм нь SSH протокол 1 болон 2-той хоёулантай нь
нийцтэй.
OpenSSH-ийг ашиглах давуу тал
&man.telnet.1; эсвэл &man.rlogin.1; ашиглаж байх үед сүлжээгээр
илгээгдэж байгаа өгөгдөл цэвэр, шифрлэгдээгүй хэлбэрээр байдаг.
Сүлжээний шиншлэгчид клиент болон серверийн хооронд хаана ч байсан гэсэн
таны хэрэглэгч/нууц үгийн мэдээлэл эсвэл таны сессээр дамжсан өгөгдлийг
хулгайлж чадна. OpenSSH нь ийм асуудлаас
хамгаалж төрөл бүрийн нэвтрэлт таних болон шифрлэх аргуудыг санал болгодог.
sshd-г идэвхжүүлэх
OpenSSH
идэвхжүүлэх
sshd нь стандарт &os; суулгацын явцад
харуулагдах тохируулга юм. sshd идэвхжсэн
эсэхийг харахдаа rc.conf файлаас дараах мөрийг
шалгаарай:
sshd_enable="YES"
Энэ нь дараагийн удаа таны систем эхлэхэд OpenSSH-д
зориулсан &man.sshd.8; дэмон програмыг дуудна. Мөн /etc/rc.d/sshd
&man.rc.8; скрипт ашиглан OpenSSH-г эхлүүлэх
боломжтой байдаг:
/etc/rc.d/sshd start
SSH клиент
OpenSSH
клиент
&man.ssh.1; хэрэгсэл &man.rlogin.1;-тэй адил
ажилладаг.
&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******
Нэвтрэлт нь rlogin эсвэл
telnet ашиглан үүсгэгдсэн сесс шиг үргэлжлэх болно.
SSH нь хэрэглэгч холбогдоход серверийн жинхэнэ эсэхийг шалгахын тулд
түлхүүр хээ шалгах системийг хэрэглэдэг. Хэрэглэгч зөвхөн эхний удаа холбогдоход
yes гэж оруулахыг шаардана. Дараа дараагийн
нэвтрэлт оролдлогууд бүгд хадгалсан хээ шалгах түлхүүртэй харьцуулагдан
шалгагддаг. Хэрэв хадгалсан хээ нь дараа дараагийн нэвтрэлтийн оролдлогуудаас
хүлээн авсан хээнээс өөр бол SSH клиент нь танд түгшүүр өгнө. Хээнүүд
~/.ssh/known_hosts файлд эсвэл SSH v2-ийн хээнүүд
~/.ssh/known_hosts2 файлд
хадгалагдана.
Анхдагчаар OpenSSH серверүүдийн
сүүлийн үеийн хувилбарууд зөвхөн SSH v2 холболтуудыг хүлээн авдаг.
Клиент нь хэрэв боломжтой бол 2-р хувилбарыг ашиглах бөгөөд боломжгүй бол
1-р хувилбарыг ашигладаг. эсвэл
тохируулгуудыг 1-р эсвэл 2-р хувилбаруудад зориулан
дамжуулан клиентэд зөвхөн аль нэгийг ашиглахыг хүчилж болно. 1-р хувилбарын
нийцтэй байдал нь клиентэд хуучин хувилбаруудтай нийцтэй байх зорилгоор дэмжигдсэн
байдаг.
Аюулгүй хуулбарлалт
OpenSSH
аюулгүй хуулбарлалт
scp
&man.scp.1; тушаал &man.rcp.1;-тэй адил ажилладаг; энэ нь файлыг алсын
машинаас эсвэл машин уруу, ялгаатай нь аюулгүйгээр хуулдаг.
&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;
Өмнөх жишээн дээр энэ хостын хувьд хээ нь аль хэдийн хадгалагдсан болохоор
&man.scp.1;-ийг энд ашиглах үед шалгагддаг.
&man.scp.1;-ээр дамжуулсан нэмэлт өгөгдлүүд нь &man.cp.1;-тэй адил бөгөөд
эхний нэмэлт өгөгдөлд файл эсвэл файлууд, хоёр дахь дээр очих файлыг
зааж өгдөг. Файл нь сүлжээгээр SSH-ээр татагддаг болохоор файлын нэг эсвэл хэд хэдэн
нэмэлт өгөгдлүүд
хэлбэрийг авдаг.
Тохиргоо
OpenSSH
тохиргоо
OpenSSH дэмон болон клиентийн
системийн дагуух тохиргооны файлууд /etc/ssh
санд байрладаг.
ssh_config клиентийн тохируулгуудыг
тохируулдаг бөгөөд sshd_config нь
дэмонг тохируулдаг.
Мөн
(анхдагчаар /usr/sbin/sshd) болон
rc.conf
тохируулгууд тохиргооны түвшнүүдийг илүүтэйгээр хангадаг.
ssh-keygen
Нууц үгүүдийг ашиглахын оронд &man.ssh-keygen.1; нь
хэрэглэгчийг шалгаж танихад DSA эсвэл RSA түлхүүрүүдийг үүсгэхэд
хэрэглэгдэж болно:
&prompt.user; ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com
&man.ssh-keygen.1; нь шалгаж танихад хэрэглэгдэх нийтийн болон хувийн
түлхүүр хослолыг үүсгэнэ. Хувийн түлхүүр ~/.ssh/id_dsa эсвэл
~/.ssh/id_rsa-д хадгалагдах бөгөөд харин нийтийн түлхүүр
нь ~/.ssh/id_dsa.pub эсвэл
~/.ssh/id_rsa.pub-д DSA болон RSA түлхүүрийн төрлүүдэд
зориулагдан хадгалагддаг. Тохируулга нь ажиллахын тулд нийтийн түлхүүр нь алсын машины
~/.ssh/authorized_keys файлд DSA болон RSA түлхүүрүүдийн
хоёулангийнх нь хувьд хийгдэх ёстой байдаг.
Үүнтэй адилаар нийтийн түлхүүрүүдийн RSA хувилбар нь
~/.ssh/authorized_keys файлд бас хийгдэх ёстой.
Энэ нь нууц үгүүдийн оронд SSH түлхүүрүүдийг ашиглан алсын машин уруу
холбогдохыг зөвшөөрөх болно.
Хэрэв нэвтрэх үгнүүд &man.ssh-keygen.1;-д ашиглагдаж байгаа бол
хувийн түлхүүрийг хэрэглэхийн тулд хэрэглэгчээс нууц үгийг нэвтрэх болгонд
асуудаг. &man.ssh-agent.1; нь урт нэвтрэх үгнүүдийг дахин дахин оруулах
тэр зовлонг зөөллөж чадах бөгөөд
хэсэгт тайлбарлагдсан байгаа болно.
Төрөл бүрийн тохируулгууд болон файлууд нь
таны систем дээр байгаа OpenSSH-ийн
хувилбаруудаас шалтгаалан өөр өөр байдаг; асуудалтай учрахгүйн тулд
та &man.ssh-keygen.1; гарын авлагын хуудаснаас лавлах
хэрэгтэй.
ssh-agent болон ssh-add
&man.ssh-agent.1; болон &man.ssh-add.1; хэрэгслүүд нь
нэвтрэх үгнүүдийг дахин дахин бичүүлэлгүйгээр SSH
түлхүүрүүдийг санах ойд дуудан ашиглаж болох аргуудаар хангадаг.
&man.ssh-agent.1; хэрэгсэл нь түүн уруу дуудагдсан хувийн түлхүүр(үүд)
ашиглан жинхэнэ эсэхийг шалгах танилтыг зохицуулна. &man.ssh-agent.1; нь өөр програмыг
ачаалахад хэрэглэгдэх ёстой. Хамгийн хялбартаа энэ нь бүрхүүл
эсвэл илүү дэвшилттэйгээр ашиглавал цонхны удирдагч ажиллуулж болох
юм.
&man.ssh-agent.1;-ийг бүрхүүлд ашиглахын тулд үүнийг эхлээд
бүрхүүлтэй цуг нэмэлт өгөгдөл маягаар ажиллуулах шаардлагатай. Хоёрдугаарт
хэн бэ гэдэг мэдээллийг (identity) &man.ssh-add.1;-г ажиллуулан нэмэх хэрэгтэй бөгөөд
түүнд хувийн түлхүүрийн нэвтрэх үгнүүдийг өгөх хэрэгтэй. Эдгээр алхмууд
хийгдсэний дараа хэрэглэгч харгалзах нийтийн түлхүүр суулгагдсан
дурын хост уруу &man.ssh.1; хийж чадах болно.
Жишээ нь:
&prompt.user; ssh-agent csh
&prompt.user; ssh-add
Enter passphrase for /home/user/.ssh/id_dsa:
Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
&prompt.user;
X11 дээр &man.ssh-agent.1; хэрэглэхийн тулд &man.ssh-agent.1;-ийн
дуудлага ~/.xinitrc-д байх шаардлагатай.
Ингэснээр X11-д ачаалагдсан бүх програмуудад &man.ssh-agent.1;-ийн
үйлчилгээнүүдийг үзүүлэх болно. Жишээ ~/.xinitrc
файл иймэрхүү харагдах болно:
exec ssh-agent startxfce4
Энэ нь &man.ssh-agent.1;-ийг ажиллуулах бөгөөд тэр нь эргээд
X11 эхлэх бүрт XFCE-ийг ажиллуулна.
Ингэж хийгдсэний дараа өөрчлөлтүүд нь үйлчлэхийн тулд X11 дахин эхэлсний хойно
өөрийн SSH түлхүүрүүдийг бүгдийг ачаалахын тулд ердөө л &man.ssh-add.1;-ийг
ажиллуулаарай.
SSH туннель хийх
OpenSSH
туннель хийх
OpenSSH нь шифрлэгдсэн сессийн үед өөр протоколыг
хайрцаглах туннель үүсгэх чадвартай байдаг.
Дараах тушаал telnet-д зориулж туннель үүсгэхийг
&man.ssh.1;-д хэлж өгнө:
&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;
ssh тушаал дараах тохируулгуудтай
хэрэглэгдэнэ:
ssh-ийг протоколын 2-р хувилбарыг
ашиглахыг зааж өгнө. (хэрэв та хуучин SSH серверүүдтэй ажиллаж
байгаа бол үүнийг битгий ашиглаарай)
Тушаал байхгүй эсвэл зөвхөн туннель гэдгийг заана. Хэрэв үүнийг
орхивол ssh ердийн сесс эхлүүлнэ.
ssh-ийг ард, далд ажиллуулахыг
заана.
Локал туннелийг localport:remotehost:remoteport
загвараар зааж өгнө.
Алсын SSH сервер.
SSH туннель нь сонсох сокетийг localhost-ийн
заагдсан порт дээр үүсгэн ажилладаг. Дараа нь локал хост/порт дээр хүлээн
авсан дурын холболтыг SSH-ээр дамжуулан заасан алсын хост болон порт уруу
илгээдэг.
Жишээн дээр localhost дээрх 5023
порт нь алсын машины localhost дээрх 23
порт уруу дамжуулагдаж байна. 23 нь
telnet учир энэ нь SSH туннелээр аюулгүй
telnet сесс үүсгэнэ.
SMTP, POP3, FTP гэх зэрэг ямар ч аюултай TCP протоколуудын
гүйцэтгэлийг хялбаршуулахад үүнийг ашиглаж болно.
SMTP-д зориулан SSH ашиглан аюулгүй туннель үүсгэх
&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTP
Үүнийг &man.ssh-keygen.1; болон нэмэлт хэрэглэгчийн бүртгэлүүдтэй
цуг илүү үл үзэгдэх/төвөггүй SSH туннель хийх орчин үүсгэхэд ашиглаж болно.
Түлхүүрүүд нь нууц үг бичихийн оронд ашиглагдаж болох бөгөөд туннелиуд
нь тусдаа хэрэглэгч маягаар ажиллаж чадна.
SSH туннелийн практик жишээнүүд
POP3 сервер уруу аюулгүй хандах
Ажил дээр чинь гаднаас холболтууд хүлээн авах SSH сервер байна.
Бас тэр оффисийн сүлжээнд POP3 сервер ажиллуулж байгаа
захидлын сервер байна. Таны гэр болон оффисийн хоорондын
сүлжээ болон сүлжээний зам итгэж болохоор эсвэл итгэж болохооргүй
байж магадгүй юм. Ийм учраас та өөрийн захидлыг аюулгүй аргаар
шалгах хэрэгтэй юм. Үүний шийдэл нь өөрийн оффисийн SSH сервер
уруу SSH холболт үүсгэж захидлын сервер уруу туннель хийх явдал
юм.
&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******
Туннель эхлэн ажилласны дараа та өөрийн захидлын клиентийнхээ
POP3 хүсэлтүүдийг localhost-ийн 2110 порт уруу
илгээхээр зааж өгч болно. Эндэх холболт туннелээр аюулгүйгээр дамжин
mail.example.com уруу илгээгдэнэ.
Хэцүү галт ханыг тойрон гарах
Зарим сүлжээний администраторууд хэтэрхий чанга галт ханын дүрэм ашиглан
зөвхөн ирж байгаа холболтууд төдийгүй гарч байгаа холболтуудыг ч бас
шүүдэг. Танд алсын машинуудад зөвхөн SSH болон вэбээр аялах 22 болон
80-р портуудад хандах боломжийг өгсөн байж болох юм.
Та хөгжим цацдаг Ogg Vorbis сервер зэрэг өөр (магадгүй ажилдаа холбоогүй)
үйлчилгээ уруу хандахыг магадгүй хүсэж болох юм. Хэрэв энэ Ogg Vorbis
сервер нь 22 эсвэл 80-аас бусад өөр порт дээр цацаж байгаа бол
та түүнд хандаж чадахгүй юм.
Үүний шийдэл нь таны сүлжээний галт ханаас гаднах машин уруу SSH холболт үүсгэж
үүнийг Ogg Vorbis сервер уруу туннель хийхэд ашиглах явдал юм.
&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******
Таны урсгал хүлээн авах клиент одоо localhost-ийн
8888 порт уруу заагдах бөгөөд тэр цаашаагаа галт ханыг амжилттайгаар
гэтлэн music.example.com уруу дамжуулагдана.
AllowUsers хэрэглэгчийн тохируулга
Ямар хэрэглэгчид хаанаас орохыг хязгаарлаж өгөх нь зүйтэй юм.
AllowUsers тохируулга нь үүнд хүрэх сайн арга
юм. Жишээ нь root хэрэглэгчийг зөвхөн
192.168.1.32-оос орохыг
зөвшөөрөхийн тулд доор дурдсантай адил тохируулгыг /etc/ssh/sshd_config
файлд хийх нь зүйтэй юм:
AllowUsers root@192.168.1.32
admin хэрэглэгчийг хаанаас ч орохыг зөвшөөрөхийн
тулд ердөө л хэрэглэгчийн нэрийг өөрийг нь жагсааж өгнө:
AllowUsers admin
Олон хэрэглэгчид нэг мөрөнд жагсаагдах шаардлагатай:
AllowUsers root@192.168.1.32 admin
Та энэ машин уруу нэвтрэх хэрэгцээтэй хэрэглэгч бүрийг жагсааж өгөх нь чухал юм,
тэгэхгүй бол тэдгээр нь орж чадахгүй болно.
/etc/ssh/sshd_config-д өөрчлөлтүүд хийснийхээ
дараа &man.sshd.8;-д өөрийн тохиргооны файлуудыг дахин дуудахыг дараах тушаалыг
ажиллуулж та хэлж өгөх ёстой:
&prompt.root; /etc/rc.d/sshd reload
Нэмэлт унших материалууд
OpenSSH
&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;
&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;
Том
Рөүдс
Хавь нэмэр болгон оруулсан
ACL
Файлын системийн хандалт хянах жагсаалтууд
Хормын хувилбарууд зэрэг файлын системийн өргөжүүлэлтүүдийн хамтаар FreeBSD 5.0
болон сүүлийн хувилбарууд Файлын системийн хандалт хянах жагсаалтуудын
(ACL-ууд) аюулгүй байдлыг санал болгодог.
Хандалт Хянах Жагсаалтууд нь стандарт &unix; зөвшөөрлийн загварыг
маш нийцтэй (&posix;.1e) аргаар өргөтгөдөг. Энэ боломж нь администраторт
илүү төвөгтэй аюулгүй байдлын загвар болон түүний давуу талыг ашиглахыг
зөвшөөрдөг.
UFS файлын системүүдэд ACL
дэмжлэгийг идэвхжүүлэхийн тулд дараах:
options UFS_ACL
тохируулгыг цөмд эмхэтгэх шаардлагатай. Хэрэв энэ тохируулга эмхэтгэгдээгүй бол
ACL-ууд дэмжих файлын системийг холбохыг оролдоход
анхааруулах мэдэгдэл дэлгэцэд гардаг. Энэ тохируулга GENERIC
цөмд орсон байдаг. ACL-ууд нь файлын систем дээр өргөтгөсөн шинж
чанаруудыг идэвхжүүлсэн дээр тулгуурладаг. Өргөтгөсөн шинж чанарууд нь
дараа үеийн &unix; файлын систем UFS2-д төрөлхийн
дэмжигдсэн байдаг.
UFS1 дээр өргөтгөсөн шинж чанаруудыг тохируулахад
UFS2 дээр тохируулахтай харьцуулбал илүү удирдлагын
зардал шаардлагатай байдаг. UFS2 дээрх өргөтгөсөн
шинж чанаруудын ажиллагаа нь бас бодитойгоор илүү байдаг. Иймээс
UFS2-г UFS1-ийн оронд
хандалт хянах жагсаалтуудад ашиглахыг ерөнхийдөө зөвлөдөг.
ACL-ууд нь /etc/fstab файлд
нэмэгдэж өгч болох холбох үеийн удирдлагын тугаар
идэвхтэй болдог. Файлын системийн толгой дахь супер блокийн ACL-ууд тугийг
өөрчлөхийн тулд &man.tunefs.8;-ийг ашиглан шургуу замаар холбох үеийн тугийг автоматаар
зааж өгч болно. Ерөнхийдөө хэд хэдэн шалтгааны улмаас супер блокийн тугийг ашиглах нь
дээр байдаг:
Холбх үеийн ACL-ууд туг дахин холболтоор өөрчлөгддөггүй
(&man.mount.8; ), зөвхөн бүрэн гүйцэд
&man.umount.8; хийгдэж шинэ &man.mount.8; хийгдсэний дараа болно.
Энэ нь бас файлын системийг ашиглаж байх үед дарааллыг нь өөрчилж болохгүй гэсэн үг
юм.
fstab-д мөр байхгүй байсан ч гэсэн эсвэл төхөөрөмжүүдийн
дараалал өөрчлөгдсөн ч гэсэн супер блокийн тугийг тохируулах нь файлын системийг үргэлж
ACL-уудыг идэвхтэйгээр холбоход хүргэдэг. Энэ нь файлын системийг
ACL-уудыг идэвхжүүлэлгүйгээр санамсаргүйгээр холбохоос хамгаалдаг бөгөөд
ингэж санамсаргүй холбох нь ACL-уудыг буруугаар албадаж
тэгснээр аюулгүй байдлын асуудлуудад хүргэж болох юм.
Бид шинэ &man.mount.8; хийлгүйгээр туг идэвхжүүлдгийг зөвшөөрөхөөр
ACL-уудын ажиллагааг өөрчилж болох юм, гэхдээ бид
ACL-уудыг идэвхжүүлэлгүй санамсаргүйгээр холболт хийхийг
болиулахыг хүсдэг бөгөөд учир нь хэрэв та ACL-уудыг идэвхжүүлээд
дараа нь болиулаад өргөтгөсөн шинж чанаруудыг устгалгүйгээр дахин идэвхжүүлбэл та
өөртөө нэлээн хэцүү асуудал учруулах зүйлийг хийх болно. Ерөнхийдөө та файлын систем
дээр ACL-уудыг идэвхжүүлсний дараа файлын хамгаалалтууд нь
системийн хэрэглэгчдэд зориулагдсан файлуудтай нийцгүй болж болох учир тэдгээрийг
болиулж болохгүй бөгөөд ACL-уудыг дахин идэвхжүүлэх нь
зөвшөөрлүүд нь өөрчлөгдсөн байж болох файлуудад өмнөх ACL-уудыг
магадгүй дахин холбож өөр тааварлаж болшгүй ажиллагаанд хүргэж болох юм.
ACL-ууд идэвхжүүлсэн файлын системүүд өөрсдийн зөвшөөрлийн
тохируулгууд дээрээ + (нэмэх) тэмдэг үзэх үед харуулдаг.
Жишээ нь:
drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html
Энд бид directory1,
directory2, болон directory3
сангууд бүгд ACL-ууд-ийн давуу талыг авч байгааг харж байна.
public_html сан тэгэхгүй байна.
ACL-уудыг ашиглах нь
Файлын системийн ACL-уудыг &man.getfacl.1;
хэрэгслээр харж болно. Жишээ нь test файл дээрх
ACL тохируулгуудыг харахын тулд дараах тушаалыг
ажиллуулах хэрэгтэй:
&prompt.user; getfacl test
#file:test
#owner:1001
#group:1001
user::rw-
group::r--
other::r--
Энэ файлын ACL тохируулгуудыг өөрчлөхийн тулд
&man.setfacl.1; хэрэгслийг ажиллуул. Ажиглаарай:
&prompt.user; setfacl -k test
туг нь тухайн үед тодорхойлогдсон бүх
ACL-уудыг файл эсвэл файлын системээс
арилгана. Илүү дээр арга бол ACL-уудыг
ажиллуулахад шаардлагатай үндсэн талбаруудыг орхидог
тугийг ашиглах явдал юм.
&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
Дээр дурдсан тушаал дээр тохируулга анхдагч
ACL оруулгуудыг өөрчлөхөд хэрэглэгдсэн.
Өмнөх тушаалаар устгагдсан болохоор урьдчилан тодорхойлсон оруулгууд
байхгүй учир энэ нь анхдагч тохируулгуудыг сэргээж жагсаасан тохируулгуудаас
зааж өгдөг. Хэрэв та систем дээр байхгүй хэрэглэгч эсвэл бүлэг нэмэх бол
Invalid argument буюу Буруу нэмэлт өгөгдөл
гэсэн алдаа stdout уруу хэвлэгдэнэ гэдгийг
санаж байх хэрэгтэй.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Portaudit
Гуравдагч талын аюулгүй байдлын асуудлуудыг монитор хийх нь
Сүүлийн жилүүдэд эмзэг асуудлын үнэлгээ хэрхэн зохицуулагдаж байгаа тал дээр
аюулгүй байдлын ертөнц олон сайжруулалт хийсэн. Одоогийн байгаа бүх л үйлдлийн
системүүд дээр гуравдагч талын хэрэгслүүд суулгаж тохируулдгаас болж системийн
халдлагын заналхийлэл ихэсдэг.
Эмзэг асуудлын үнэлгээ нь аюулгүй байдлын түлхүүр хүчин зүйл бөгөөд
&os; нь үндсэн системд зориулан зөвлөгөөнүүдийг гаргадаг боловч
гуравдагч талын хэрэгслүүд бүрийн хувьд хийх нь &os; төслийн боломжоос
гадуур юм. Мэдэгдэж байгаа асуудлуудыг администраторуудад анхааруулж
гуравдагч талын эмзэг асуудлуудыг зөөлрүүлэх арга байдаг. &os;-д нэмэлтээр
Portaudit гэгддэг хэрэгсэл зөвхөн энэ
зорилгоор байдаг.
ports-mgmt/portaudit порт нь
&os;-ийн аюулгүй байдлын баг болон портуудын хөгжүүлэгчдийн шинэчилж
ажиллагааг нь хангаж байдаг мэдээллийн баазаас мэдэгдэж байгаа аюулгүй байдлын
асуудлуудыг шалгадаг.
Portaudit-г ашиглаж эхлэхийн тулд
Портуудын цуглуулгаас түүнийг суулгах хэрэгтэй:
&prompt.root; cd /usr/ports/ports-mgmt/portaudit && make install clean
Суулгах процессийн явцад өдөр бүрийн аюулгүй байдлыг шалгах ажиллагаанд
Portaudit-н гаралтыг зөвшөөрч
&man.periodic.8;-д зориулсан тохиргооны файлуудыг шинэчилдэг.
Өдөр тутмын аюулгүй байдлыг шалгах ажиллагаа root-ийн
захидлын бүртгэл уруу цахим захидал явуулж түүнийг уг хэрэглэгч уншсан эсэхийг
баталгаажуулах хэрэгтэй. Өөр ямар ч илүү тохиргоо энд хэрэггүй.
Суулгасны дараа администратор мэдээллийн баазыг шинэчлэх болон суулгасан
багцуудад мэдэгдэж байгаа эмзэг асуудлуудыг үзэхдээ дараах тушаалыг
ажиллуулна:
&prompt.root; portaudit -Fda
Мэдээллийн бааз &man.periodic.8; ажиллах үед автоматаар шинэчлэгддэг;
иймээс дээрх тушаал заавал шаардлагагүй юм. Энэ нь зөвхөн дараах жишээнүүдэд
шаардлагатай.
Портуудын цуглуулгын хэсэг болгон суулгагдсан гуравдагч талын хэрэгслүүдийг
ямар ч үед аудит хийхдээ администратор зөвхөн дараах тушаалыг ажиллуулах
хэрэгтэй:
&prompt.root; portaudit -a
Portaudit эмзэг асуудалтай багцын хувьд
доор дурдсантай адилыг гаргана:
Affected package: cups-base-1.1.22.0_1
Type of problem: cups-base -- HPGL buffer overflow vulnerability.
Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>
1 problem(s) in your installed packages found.
You are advised to update or deinstall the affected package(s) immediately.
Үзүүлсэн URL уруу вэб хөтчийг чиглүүлж администратор
асуудалтай байгаа эмзэг асуудлын талаар дэлгэрэнгүй мэдээллийг олж авч
болно. Ийм мэдээлэл нь нөлөөлөх хувилбарууд болон &os;-ийн портын хувилбар,
аюулгүй байдлын зөвлөгөөнүүд байж болох өөр бусад вэб сайтуудыг агуулж болох
юм.
Товчхондоо Portaudit нь хүчирхэг
хэрэгсэл бөгөөд Portupgrade порттой цуг
хэрэглэхэд маш ашигтай байдаг.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
FreeBSD-ийн аюулгүй байдлын зөвлөгөөнүүд
&os;-ийн аюулгүй байдлын зөвлөгөөнүүд
Үйлдвэрлэлийн чанарыг хангасан үйлдлийн системүүдийн нэгэн адил &os;
Аюулгүй байдлын зөвлөгөөнүүд
гаргадаг. Эдгээр
зөвлөгөөнүүд нь ихэвчлэн аюулгүй байдлын жагсаалтууд уруу илгээгддэг
бөгөөд зөвхөн тохирох хувилбаруудад засвар хийгдсэний дараа Errata буюу
алдааны хуудсанд тэмдэглэгддэг. Энэ хэсэгт зөвлөгөө гэж юу болох, түүнийг
хэрхэн ойлгох болон системд засвар хийхдээ ямар арга хэмжээнүүдийг
авах талаар тайлбарлах болно.
Зөвлөгөө ямархуу харагдах вэ?
&os;-ийн аюулгүй байдлын зөвлөгөөнүүд
&a.security-notifications.name; захидлын жагсаалтаас авсан доорх
зөвлөгөөтэй адил харагдах болно.
=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
CVE Name: CVE-XXXX-XXXX
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.FreeBSD.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. References
Topic буюу сэдэв талбар асуудал юу болохыг яг заасан
байдаг. Энэ нь үндсэндээ тухайн үеийн аюулгүй байдлын зөвлөгөөний
танилцуулга бөгөөд эмзэг асуудалтай цуг хэрэгслийг тэмдэглэдэг.
The Category буюу зэрэглэл талбар нь хамаарч байгаа
системийн хэсгийг хэлдэг бөгөөд core,
contrib, эсвэл ports-ийн
аль нэг байж болно. core зэрэглэл нь эмзэг
асуудал &os; үйлдлийн системийн гол хэсэгт нөлөөлнө гэсэн үг юм.
contrib зэрэглэл нь эмзэг асуудал
sendmail зэрэг &os; төсөлд
хувь нэмэр болгон оруулсан програм хангамжуудад нөлөөлнө гэсэн үг юм.
Эцэст нь ports зэрэглэл нь эмзэг асуудал
портуудын цуглуулганд ордог нэмэлт програм хангамжуудад нөлөөлөхийг
харуулдаг.
Module талбар нь бүрэлдэхүүн хэсгийн байрлалыг
жишээ нь sys гэх зэргээр илэрхийлдэг. Энэ жишээн дээр
sys модуль өртөхийг бид харж байгаа бөгөөд ийм учраас энэ
эмзэг асуудал нь цөм дотор ашиглагдсан бүрэлдэхүүн хэсэгт нөлөөлөх юм.
Announced буюу зарласан талбар нь аюулгүй байдлын
зөвлөгөө хэвлэгдсэн эсвэл ертөнцөд зарлагдсан огноог заадаг. Энэ нь
аюулгүй байдлын баг асуудал байгааг шалгаж үүний засвар
&os;-ийн эх модны архивт итгэмжлэн оруулсныг тогтоосон гэсэн үг юм.
Credits буюу талархал талбар нь эмзэг асуудлыг
мэдэж тайлагнасан хувь хүн болон байгууллагыг зааж талархдаг.
Affects буюу нөлөөлөх хувилбарын талбар нь
энэ эмзэг асуудал нөлөөлөх &os;-ийн хувилбаруудыг тайлбарладаг.
Цөмийн хувьд уг нөлөөлсөн файлууд дээр ажиллуулсан
ident тушаалын үр дүнг зэрвэс харж
хувилбарыг тодорхойлж болно. Портуудын хувьд
/var/db/pkg санд портын нэрийн дараа
хувилбарын дугаар байдаг. Хэрэв систем нь &os;-ийн CVS
архивтай адил хамгийн сүүлийн хэлбэрт орж өдөр тутам дахин бүтээгдээгүй
бол энэ нь нөлөөлөлд орсон хэвээр байх магадлалтай юм.
Corrected буюу засварласан талбар нь
огноо, цаг, цагийн бүс болон засварласан хувилбаруудыг
заадаг.
Common Vulnerabilities Database system буюу Нийтлэг Эмзэг асуудлуудын
Мэдээллийн Баазын системээс эмзэг асуудлуудыг хайхад хэрэглэгдэх
магадлалын мэдээлэлд нөөцлөгддөг.
Background талбар нь нөлөөлөлд яг ямар хэрэгсэл
орсон талаар мэдээлэл өгдөг. Ихэнхдээ энэ нь &os;-д яагаад тухайн хэрэгсэл
байдаг, юунд хэрэглэгддэг болон хэрэгсэл хэрхэн бий болсон талаар байдаг.
Problem Description буюу асуудлын тайлбар талбар нь
аюулгүй байдлын цоорхойг гүнзгий тайлбарладаг. Энэ нь гажигтай кодын мэдээлэл
эсвэл бүр хэрэгслийг хэрхэн хорлонтойгоор ашиглаж аюулгүй байдлын цоорхой
нээдэг тухай мэдээллийг агуулдаг.
Impact буюу үйлчлэл талбар нь асуудал системд
ямар төрлийн үйлчлэл үзүүлдгийг тайлбарладаг. Жишээ нь энэ нь
үйлчилгээг зогсоох халдлагаас авахуулаад хэрэглэгчдэд өгч болох нэмэлт
зөвшөөрлүүд эсвэл халдагчид супер хэрэглэгчийн хандалт өгөх зэрэг
юу ч байж болно.
Workaround буюу тойрон гарах талбар нь
боломжит тойрон гарах арга замыг системийг шинэчилж чадахгүй байж болох
системийн администраторуудад олгодог. Энэ нь хугацааны шаардлагууд,
сүлжээний боломж эсвэл өөр бусад олон шалтгаанаас болдог байж болох
юм. Ямар ч байсан гэсэн аюулгүй байдлыг хөнгөнөөр авч үзэж болохгүй
бөгөөд нөлөөлөлд орсон систем эсвэл засвар нөхөөс хийгдэх аль эсвэл
аюулгүй байдлын цоорхойг тойрон гарах шийдэл хийгдэх
шаардлагатай.
Solution буюу шийдэл талбар нь нөлөөлөлд орсон
системийг засварлах заавруудыг санал болгодог. Энэ нь системд засвар
нөхөөс хийн аюулгүй ажиллуулах алхам алхмаар тест хийгдэж шалгагдсан арга
юм.
Correction Details буюу засварын нарийн
учир талбар нь CVS салбар эсвэл хувилбарын
нэрийн цэгүүдийг доогуур зураас тэмдэгтээр өөрчилж үзүүлдэг. Мөн энэ нь
салбар болгон дахь нөлөөлөлд орсон файлуудын хувилбарын дугаарыг бас
харуулдаг.
References буюу лавлагаа талбар нь ихэвчлэн
бусад мэдээллийн эхүүдийг өгдөг. Энэ нь вэбийн URL-ууд,
номнууд, захидлын жагсаалтууд болон мэдээний бүлгүүдийг агуулж болно.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Процессийн бүртгэл хөтлөх
Процессийн бүртгэл хөтлөх
Процессийн бүртгэл хөтлөх аюулгүй байдлын аргыг ашиглаж
администраторууд системийн эх үүсвэрүүдийг ашигласан байдал болон тэдгээрийг
хэрэглэгчдэд хэрхэн хуваарилсныг мэдэж болох бөгөөд энэ нь системийг монитор
хийх боломжийг олгодог. Мөн энэ арга нь хэрэглэгчдийн тушаалуудыг туйлын
багаар мөшгих боломжийг администраторуудад олгодог.
Энэ нь үнэн хэрэгтээ өөрийн эерэг болон сөрөг талуудтай. Эерэг талуудын нэг нь
халдлагыг орсон цэг хүртэл нарийсган олох боломж юм. Сөрөг тал нь процессийн
бүртгэл хөтлөлтөөр үүссэн бүртгэлүүд бөгөөд тэдгээр нь дискний зай шаардаж
болох юм. Энэ хэсэг процессийн бүртгэл хөтлөлтийн үндсүүдийг администраторуудад
таниулах болно.
Процессийн бүртгэл хөтлөлтийг идэвхжүүлж хэрэглэх нь
Процессийн бүртгэл хөтлөлтийг ашиглаж эхлэхээсээ өмнө үүнийг идэвхжүүлэх
хэрэгтэй. Үүнийг хийхийн тулд дараах тушаалуудыг ажиллуул:
&prompt.root; touch /var/account/acct
&prompt.root; accton /var/account/acct
&prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.conf
Идэвхтэй болгосны дараа бүртгэл хөтлөлт CPU
статистикууд, тушаалууд гэх мэтийг даган мөшгиж эхэлнэ. Бүртгэлийн
бүх бичлэгүүд уншиж болохооргүй хэлбэрээр байдаг бөгөөд тэдгээрийг
&man.sa.8; хэрэгсэл ашиглан үзэж болдог. Ямар нэг тохируулгагүйгээр
ажиллуулбал sa тушаал нь хэрэглэгч болгоны
дуудлагуудын тоо, нийт зарцуулсан хугацааг минутаар, нийт CPU
болон хэрэглэгчийн хугацааг минутаар, дундаж I/O үйлдлүүдийн тоо
гэх мэттэй холбоотой мэдээллийг дэлгэцэнд хэвлэн үзүүлдэг.
Тушаалуудыг ашигласан тухай мэдээллийг харахын тулд &man.lastcomm.1;
хэрэгслийг ашиглах хэрэгтэй. lastcomm тушаал нь
тухайн &man.ttys.5; дээр хэрэглэгчдийн ажиллуулсан тушаалуудыг
үзүүлэхэд хэрэглэгдэж болно, жишээ нь:
&prompt.root; lastcomm ls
trhodes ttyp1
Дээрх тушаал нь ttyp1 терминал дээр trhodes
хэрэглэгчийн ls тушаал ашигласан мэдэгдэж байгаа
бүгдийг дэлгэцэд харуулах болно.
Өөр олон ашигтай тохируулгууд байдаг бөгөөд &man.lastcomm.1;,
&man.acct.5; болон &man.sa.8; гарын авлагын хуудаснуудад тайлбарласан
байдаг.