16.4. Шоронг үүсгэж хянах нь
Өмнөх | Бүлэг 16. Jails буюу Шоронгууд | Дараах

## 16.4. Шоронг үүсгэж хянах нь

Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь жинхэнэ FreeBSD системтэй адил төстэй «бүрэн» шоронгууд болон нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах «үйлчилгээ» шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. jail(8) гарын авлагын хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй:

`#` `setenv D `/here/is/the/jail`` `#` `mkdir -p $D` `#` `cd /usr/src` `#` `make buildworld` `#` `make installworld DESTDIR=$D` `#` `make distribution DESTDIR=$D` `#` `mount -t devfs devfs $D/dev`

Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм. Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь `/usr/jail/`jailname`` байж болох бөгөөд энд байгаа `jailname` нь шоронг таниулж байгаа хостын нэр юм. `/usr/` файлын систем нь шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг. Үндсэндээ «бүрэн» шоронгуудын хувьд энэ шоронгийн файлын систем нь үндсэн FreeBSD системийн андагч суулгацад байдаг бүх файлуудын хуулбар байдаг.

| Хэрэв та өөрийн хэрэглэгчийн талбарыг `make world` эсвэл `make buildworld` тушаалаар аль хэдийн бүтээсэн бол та энэ алхмыг алгасаж өөрийн хэрэглэгчийн талбарыг шинэ шорон руу суулгаж болно.
| Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын хуудаснууд гэх зэргүүдийг тараан байрлуулах болно.
| make тушаалд зориулагдсан `distribution` тохируулга нь бүх шаардлагатай тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь `/usr/src/etc/` сангийн бүх суулгаж болох файлуудыг шоронгийн орчны `/etc` сан болох `$D/etc/` руу хуулдаг.

Шорон дотор devfs(8) файлын системийг холбох шаардлагагүй. Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг. Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг. Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг олгож болох юм. devfs(8) дээрх хяналтыг devfs(8) болон devfs.conf(5) гарын авлагын хуудаснуудад тайлбарласан дүрмийн олонлогуудаар удирддаг.

Шорон суулгагдсаны дараа jail(8) хэрэгсэл ашиглан түүнийг эхлүүлж болно. jail(8) хэрэгсэл дөрвөн зайлшгүй шаардлагатай нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь Хэсэг 16.3.1, «Шорон гэж юу вэ» хэсэгт тайлбарлагдсан байгаа болно. Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд өөрөөр хэлбэл шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм. ``command``-н нэмэлт өгөгдөл нь шоронгийн төрлөөс хамаарна; виртуал системийн хувьд `/etc/rc` нь боломжийн сонголт байна. Энэ нь жинхэнэ FreeBSD системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр юм. Үйлчилгээ шоронгийн хувьд шорон дотор ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна.

Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд FreeBSD `rc` арга зам нь үүнийг хийх хялбар аргаар хангадаг.

1. Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг rc.conf(5) файлд нэмэх ёстой:

   jail_enable="YES" # Set to NO to disable starting of any jails jail_list="`www`" # Space separated list of names of jails

   ### Тэмдэглэл:

   `jail_list` хувьсагчид өгөгдсөн байгаа шоронгийн нэрс зөвхөн үсэг, тооноос бүрдсэн байх ёстой.

2. Шорон бүрийг тайлбарласан rc.conf(5) тохируулгуудын бүлэг `jail_list`-д жагсаагдсан шорон бүрийн хувьд доор дурдсаныг нэмэх ёстой:

   jail_`www`_rootdir="/usr/jail/www" # jail's root directory jail_`www`_hostname="`www`.example.org" # jail's hostname jail_`www`_ip="192.168.0.10" # jail's IP address jail_`www`_devfs_enable="YES" # mount devfs in the jail jail_`www`_devfs_ruleset="`www_ruleset`" # devfs ruleset to apply to jail

   rc.conf(5)-д тохируулагдсан шоронгуудын анхдагч эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн `/etc/rc` скриптийг ажиллуулах болно. Үйлчилгээний шоронгуудын хувьд `jail_`jailname`_exec_start` тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг өөрчлөх ёстой.

   ### Тэмдэглэл:

   Тохируулгуудын бүрэн жагсаалтыг rc.conf(5) гарын авлагын хуудаснаас үзнэ үү.

Шоронд зориулагдсан оруулга `rc.conf` файлд байгаа тохиолдолд service(8) шоронг гараар эхлүүлэх эсвэл зогсооход ашиглагдаж болох юм:

`#` `service jail start `www`` `#` `service jail stop `www``

Одоогоор jail(8)-г зогсоох цэвэр зам байхгүй байгаа. Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна jexec(8) хэрэгслийг ашиглах явдал юм:

`#` `sh /etc/rc.shutdown`

Үүний талаар дэлгэрэнгүй мэдээллийг jail(8) гарын авлагын хуудаснаас олж болно.

Өмнөх | Дээш | Дараах
16.3. Танилцуулга | Эхлэл | 16.5. Нарийн тааруулалт болон удирдлага

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.