FreeBSD гарын авлага
Өмнөх | Бүлэг 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) гарын авлагын хуудаснаас олж болно.

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

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

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