|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
<!--
|
|
|
|
|
The FreeBSD Mongolian Documentation Project
|
|
|
|
|
|
|
|
|
|
Original revision 1.10
|
|
|
|
|
Original revision 1.13
|
|
|
|
|
|
|
|
|
|
$FreeBSD$
|
|
|
|
|
-->
|
|
|
|
@ -475,4 +475,443 @@ jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</rep
|
|
|
|
|
юм. Дэлгэрэнгүй мэдээллийн талаар түүний вэб хуудсанд хандана уу.</para>
|
|
|
|
|
</sect2>
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
<sect1 id="jails-application">
|
|
|
|
|
<title>Шоронгийн хэрэглээ</title>
|
|
|
|
|
|
|
|
|
|
<sect2 id="jails-service-jails">
|
|
|
|
|
<sect2info>
|
|
|
|
|
<authorgroup>
|
|
|
|
|
<author>
|
|
|
|
|
<firstname>Даниэл</firstname>
|
|
|
|
|
<surname>Гэрзо</surname>
|
|
|
|
|
<contrib>Хувь нэмэр болгон оруулсан </contrib>
|
|
|
|
|
<!-- 15. May 2007 -->
|
|
|
|
|
</author>
|
|
|
|
|
</authorgroup>
|
|
|
|
|
</sect2info>
|
|
|
|
|
|
|
|
|
|
<title>Үйлчилгээ шоронгууд</title>
|
|
|
|
|
|
|
|
|
|
<para>Энэхүү хэсэг нь &a.simon; хөгжүүлэгчийн <ulink
|
|
|
|
|
url="http://simon.nitro.dk/service-jails.html"></ulink> хуудас болон
|
|
|
|
|
Кен Том <email>locals@gmail.com</email>-ийн бичсэн шинэчилсэн нийтлэл
|
|
|
|
|
дээр гаргасан санаа дээр тулгуурласан юм. Энэ хэсэг нь
|
|
|
|
|
&man.jail.8; боломжийг ашиглан аюулгүй байдлын нэмэлт давхарга
|
|
|
|
|
бүхий &os; систем хэрхэн тохируулах талаар тайлбарлах болно.
|
|
|
|
|
Өгөгдсөн систем нь ядаж RELENG_6_0 бөгөөд энэ бүлгийн өмнө
|
|
|
|
|
дурдсан мэдээллийг уншигч авхай сайн ойлгосон гэж тооцдог.</para>
|
|
|
|
|
|
|
|
|
|
<sect3 id="jails-service-jails-design">
|
|
|
|
|
<title>Шийдэл</title>
|
|
|
|
|
|
|
|
|
|
<para>Шоронгуудын гол асуудлуудын нэг нь тэдгээрийн шинэчлэлтийн
|
|
|
|
|
процессийн удирдлага юм. Шорон бүр нь шинэчлэгдэх болгондоо
|
|
|
|
|
дахин бүр эхнээсээ бүтээгдэх хэрэгтэй болдог учраас тэр юм.
|
|
|
|
|
Нэг шоронгийн хувьд энэ нь ихэвчлэн асуудал болдоггүй,
|
|
|
|
|
шинэчлэлтийн процесс их хялбар байдаг боловч олон шоронгууд
|
|
|
|
|
үүсгэсэн бол их хугацаа шаардсан, төвөгтэй ажиллагаа байдаг.</para>
|
|
|
|
|
|
|
|
|
|
<warning>
|
|
|
|
|
<para>Энэхүү тохиргоо нь &os;-ийн маш сайн туршлага болон түүний
|
|
|
|
|
боломжуудын хэрэглээг шаарддаг. Хэрэв доор үзүүлсэн алхмууд нь
|
|
|
|
|
хэтэрхий төвөгтэй санагдвал &os; шоронгуудыг удирдах илүү хялбар
|
|
|
|
|
боломжийг олгодог бөгөөд энэ тохиргооных шиг төвөгтэй биш
|
|
|
|
|
<filename role="package">sysutils/ezjail</filename> зэрэг хялбар системийг
|
|
|
|
|
үзэхийг зөвлөж байна.</para>
|
|
|
|
|
</warning>
|
|
|
|
|
|
|
|
|
|
<para>Гол санаа нь иймэрхүү асуудлуудыг шоронгууд хооронд аль болох
|
|
|
|
|
ихээр аюулгүй аргаар хуваалцах замаар шийдэх явдал юм — шинэчлэлт хялбар
|
|
|
|
|
байхаар зөвхөн уншигдах &man.mount.nullfs.8; холболтуудыг ашиглах болон
|
|
|
|
|
ганц үйлчилгээнүүдийг тусдаа шоронд хийх нь илүүтэй болох юм.
|
|
|
|
|
Мөн энэ нь шоронгуудыг нэмэх эсвэл устгах болон тэдгээрийг
|
|
|
|
|
шинэчлэх хялбар боломжийг олгодог юм.</para>
|
|
|
|
|
|
|
|
|
|
<note>
|
|
|
|
|
<para>Ийм зорилгоор ашиглаж болох үйлчилгээнүүдийг дурдвал:
|
|
|
|
|
<acronym>HTTP</acronym> сервер, <acronym>DNS</acronym>
|
|
|
|
|
сервер, <acronym>SMTP</acronym> сервер гэх мэт байж болох юм.</para>
|
|
|
|
|
</note>
|
|
|
|
|
|
|
|
|
|
<para>Энэ хэсэгт тайлбарласан тохиргооны зорилгуудыг дурдвал:</para>
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шоронгийн хялбар, ойлгоход амархан бүтцийг үүсгэх.
|
|
|
|
|
Энэ нь шорон бүрийн хувьд болон тэдгээр дээр бүрэн хэмжээний
|
|
|
|
|
installworld үйлдлийг <emphasis>ажиллуулахгүй</emphasis>
|
|
|
|
|
байх гэсэн үг юм.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шинэ шоронгууд нэмэх эсвэл байгааг нь устгах процессийг
|
|
|
|
|
хялбар болгох.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Байгаа шоронгуудыг шинэчлэх эсвэл сайжруулах процессийг
|
|
|
|
|
хялбар болгох.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Өөрчлөн тохируулсан &os; салбарыг ажиллуулах боломжтой
|
|
|
|
|
болгох.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Нэвтрэн орох, эвдлэн орох боломжийг аль болох ихээр
|
|
|
|
|
багасгаж аюулгүй байдлын хувьд паранойд байх.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Зай болон inode-уудыг аль болох ихээр хэмнэх.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
<para>Урьд нь дурдагдсаны адил энэ шийдэл нь
|
|
|
|
|
шорон бүрт зөвхөн уншигдахаар (<application>nullfs</application> гэгддэг)
|
|
|
|
|
холбогдох ганц мастер загвар болон шорон бүрийн хувьд нэг уншигдах,
|
|
|
|
|
бичигдэх төхөөрөмжтэй байх бүтэц дээр үндсэндээ тулгуурласан юм.
|
|
|
|
|
Төхөөрөмж нь тусдаа физик диск, хуваалт, эсвэл vnode дээр
|
|
|
|
|
тулгуурласан &man.md.4; төхөөрөмж байж болох юм. Энэ жишээн дээр
|
|
|
|
|
бид уншигдах, бичигдэх <application>nullfs</application> холболтуудыг
|
|
|
|
|
ашиглах болно.</para>
|
|
|
|
|
|
|
|
|
|
<para>Файлын системийн дүр зураг доор дурдсан хэсэгт тайлбарласан буй:</para>
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шорон бүр <filename
|
|
|
|
|
role="directory">/home/j</filename> сангийн доор холбогдох болно.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para><filename role="directory">/home/j/mroot</filename> нь
|
|
|
|
|
шорон бүрийн хувьд загвар ба бүх шоронгуудын хувьд
|
|
|
|
|
зөвхөн уншигдах хуваалт юм.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para><filename role="directory">/home/j</filename> сангийн доор
|
|
|
|
|
шорон бүрийн хувьд хоосон сан үүсгэгдэнэ.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шорон бүр системийн уншигдах, бичигдэх хэсэг уруу холбогдох
|
|
|
|
|
<filename role="directory">/s</filename> сантай байна.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шорон бүр <filename
|
|
|
|
|
role="directory">/home/j/skel</filename> дээр тулгуурласан
|
|
|
|
|
өөрийн уншигдах, бичигдэх системтэй байх болно.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Шоронгийн талбар бүр (шорон бүрийн уншигдах, бичигдэх хэсэг)
|
|
|
|
|
<filename
|
|
|
|
|
role="directory">/home/js</filename>-д үүсгэгдэх болно.<para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
<note>
|
|
|
|
|
<para>Энэ нь шоронгууд <filename role="directory">/home</filename>
|
|
|
|
|
хуваалтын доор үндэслэсэн гэж үзнэ. Үүнийг мэдээж өөрчилж болох боловч
|
|
|
|
|
ингэх тохиолдолд доор дурдсан жишээ бүрийн хувьд өөрчлөгдөх ёстой
|
|
|
|
|
болно.</para>
|
|
|
|
|
</note>
|
|
|
|
|
<!-- Insert an image or drawing here to illustrate the example. -->
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3 id="jails-service-jails-template">
|
|
|
|
|
<title>Загвар үүсгэх нь</title>
|
|
|
|
|
|
|
|
|
|
<para>Энэ хэсэг нь шоронд зориулагдан ашиглагдах, зөвхөн уншигдах хэсэг болох
|
|
|
|
|
мастер загварыг үүсгэхэд хэрэгтэй алхмуудыг тайлбарлах болно.<para>
|
|
|
|
|
|
|
|
|
|
<para>&os; системийг сүүлийн -RELEASE салбар уруу шинэчлэх нь үргэлж
|
|
|
|
|
зөв санаа байдаг. Үүнийг хийхийн тулд гарын авлагын
|
|
|
|
|
<ulink url="&url.books.handbook;/makeworld.html">бүлгээс</ulink>
|
|
|
|
|
лавлах хэрэгтэй. Шинэчлэл хийх шаардлагагүй бол гүйцэтгэлийг
|
|
|
|
|
гүйцээхийн тулд buildworld хийх шаардлагатай. Мөн
|
|
|
|
|
<filename role="package">sysutils/cpdup</filename> багц хэрэгтэй.
|
|
|
|
|
&os;-ийн портын цуглуулгыг татаж авахдаа бид &man.portsnap.8;
|
|
|
|
|
хэрэгслийг ашиглах болно. Эхлэн суралцагчид гарын авлагын
|
|
|
|
|
<ulink url="&url.books.handbook;/portsnap.html">Portsnap бүлгийг</ulink>
|
|
|
|
|
унших нь зүйтэй юм.</para>
|
|
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Эхлээд бидний шоронгуудад зориулсан &os;-ийн хоёртын файлуудыг
|
|
|
|
|
агуулах зөвхөн уншигдах файлын системийн сангийн бүтцийг
|
|
|
|
|
үүсгэх хэрэгтэй бөгөөд дараа нь &os;-ийн эх модны сан уруу
|
|
|
|
|
сангаа сольж ороод зөвхөн уншигдах файлын системийг шоронгийн загвар
|
|
|
|
|
уруу суулгах хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /home/j /home/j/mroot</userinput>
|
|
|
|
|
&prompt.root; <userinput>cd /usr/src</userinput>
|
|
|
|
|
&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Дараа нь шоронгуудад зориулж &os;-ийн портын цуглуулга болон
|
|
|
|
|
<application>mergemaster</application>-т шаардлагатай, &os;-ийн
|
|
|
|
|
эх модыг бэлдэх хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
|
|
|
|
|
&prompt.root; <userinput>mkdir usr/ports</userinput>
|
|
|
|
|
&prompt.root; <userinput>portsnap -p /home/j/mroot/usr/ports fetch extract</userinput>
|
|
|
|
|
&prompt.root; <userinput>cpdup /usr/src /home/j/mroot/usr/src</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Системийн уншигдах, бичигдэх хэсэгт зориулж араг ясыг үүсгэх хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv etc /home/j/skel</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv usr/local /home/j/skel/usr-local</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv tmp /home/j/skel</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv var /home/j/skel</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv root /home/j/skel</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Байхгүй байгаа тохиргооны файлуудыг суулгахын тулд
|
|
|
|
|
<application>mergemaster</application>-г ашиглах хэрэгтэй.
|
|
|
|
|
Дараа нь <application>mergemaster</application>-ийн үүсгэсэн
|
|
|
|
|
илүү сангуудыг арилгах хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i</userinput>
|
|
|
|
|
&prompt.root; <userinput>cd /home/j/skel</userinput>
|
|
|
|
|
&prompt.root; <userinput>rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Одоо уншигдах, бичигдэх файлын системийг зөвхөн уншигдах
|
|
|
|
|
файлын систем уруу заасан симболын холбоос үүсгэх хэрэгтэй.
|
|
|
|
|
Симболын холбоосууд нь зөв <filename
|
|
|
|
|
role="directory">s/</filename> байрлалуудад үүсгэгдсэн
|
|
|
|
|
эсэхийг шалгаарай. Жинхэнэ сангууд юм уу эсвэл сангуудын
|
|
|
|
|
үүсгэлт буруу байрлалуудад хийгдсэн бол суулгалт амжилтгүй
|
|
|
|
|
болоход хүргэнэ.</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
|
|
|
|
|
&prompt.root; <userinput>mkdir s</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/etc etc</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/home home</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/root root</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s ../../s/distfiles usr/ports/distfiles</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/var var</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Сүүлийн шатанд доор дурдсан агуулга бүхий ерөнхий
|
|
|
|
|
<filename>/home/j/skel/etc/make.conf</filename> файлыг үүсгэх
|
|
|
|
|
хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting>WRKDIRPREFIX?= /s/portbuild</programlisting>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<para><literal>WRKDIRPREFIX</literal>-г ийм байдлаар тохируулах нь
|
|
|
|
|
шорон бүрт &os;-ийн портуудыг эмхэтгэх боломжтой болгох юм.
|
|
|
|
|
Портуудын сан нь зөвхөн уншигдах системийн хэсэг гэдгийг санаарай.
|
|
|
|
|
<literal>WRKDIRPREFIX</literal>-д зориулсан өөр зам нь
|
|
|
|
|
шорон бүрийн уншигдах, бичигдэх хэсэгт бүтээлтүүдийг хийх боломжийг
|
|
|
|
|
олгох юм.</para>
|
|
|
|
|
</step>
|
|
|
|
|
</procedure>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3 id="jails-service-jails-creating">
|
|
|
|
|
<title>Шорон үүсгэх нь</title>
|
|
|
|
|
|
|
|
|
|
<para>Одоо бид бүрэн гүйцэд &os;-ийн шоронгийн загвартай болсон болохоор
|
|
|
|
|
<filename>/etc/rc.conf</filename> файлд бид шоронгуудыг суулган тохируулах
|
|
|
|
|
боломжтой болно. Энэ жишээ нь <quote>NS</quote>,
|
|
|
|
|
<quote>MAIL</quote> болон <quote>WWW</quote> гэсэн 3 шоронгийн үүсгэлтийг
|
|
|
|
|
харуулж байна.<para>
|
|
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Доор дурдсан мөрүүдийг <filename>/etc/fstab</filename> файлд
|
|
|
|
|
нэмэх хэрэгтэй. Ингэснээр шоронгуудад зориулсан зөвхөн уншигдах
|
|
|
|
|
загвар болон уншигдах, бичигдэх зай тохирох шоронгуудад ашиглах боломжтой
|
|
|
|
|
болох юм:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting>/home/j/mroot /home/j/ns nullfs ro 0 0
|
|
|
|
|
/home/j/mroot /home/j/mail nullfs ro 0 0
|
|
|
|
|
/home/j/mroot /home/j/www nullfs ro 0 0
|
|
|
|
|
/home/js/ns /home/j/ns/s nullfs rw 0 0
|
|
|
|
|
/home/js/mail /home/j/mail/s nullfs rw 0 0
|
|
|
|
|
/home/js/www /home/j/www/s nullfs rw 0 0</programlisting>
|
|
|
|
|
|
|
|
|
|
<note>
|
|
|
|
|
<para>0 pass буюу өнгөрөх дугаараар тэмдэглэгдсэн хуваалтууд нь
|
|
|
|
|
ачаалах үед &man.fsck.8; хэрэгслээр шалгагддаггүй бөгөөд
|
|
|
|
|
0 dump дугаараар тэмдэглэгдсэн хуваалтууд нь &man.dump.8;
|
|
|
|
|
хэрэгслээр нөөцлөгддөггүй. Бид <application>fsck</application>
|
|
|
|
|
хэрэгслээр <application>nullfs</application> холболтуудыг шалгах эсвэл
|
|
|
|
|
<application>dump</application> хэрэгслээр шоронгуудын зөвхөн уншигдах
|
|
|
|
|
nullfs холболтуудыг нөөцлөхийг хүсэхгүй байгаа билээ. Дээр дурдсан
|
|
|
|
|
<filename>fstab</filename> оруулга бүрийн сүүлийн хоёр багана
|
|
|
|
|
<quote>0 0</quote> гэж тэмдэглэгдсэн учир нь энэ юм.</para>
|
|
|
|
|
</note>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Шоронгуудыг <filename>/etc/rc.conf</filename>-д тохируулах хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting>jail_enable="YES"
|
|
|
|
|
jail_set_hostname_allow="NO"
|
|
|
|
|
jail_list="ns mail www"
|
|
|
|
|
jail_ns_hostname="ns.example.org"
|
|
|
|
|
jail_ns_ip="192.168.3.17"
|
|
|
|
|
jail_ns_rootdir="/home/j/ns"
|
|
|
|
|
jail_ns_devfs_enable="YES"
|
|
|
|
|
jail_mail_hostname="mail.example.org"
|
|
|
|
|
jail_mail_ip="192.168.3.18"
|
|
|
|
|
jail_mail_rootdir="/home/j/mail"
|
|
|
|
|
jail_mail_devfs_enable="YES"
|
|
|
|
|
jail_www_hostname="www.example.org"
|
|
|
|
|
jail_www_ip="62.123.43.14"
|
|
|
|
|
jail_www_rootdir="/home/j/www"
|
|
|
|
|
jail_www_devfs_enable="YES"</programlisting>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Шорон бүрийн зөвхөн уншигдах файлын системд зориулсан, шаардлагатай
|
|
|
|
|
холбох цэгүүдийг үүсгэнэ:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /home/j/ns /home/j/mail /home/j/www</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Шорон бүрт уншигдах, бичигдэх загварыг суулгах хэрэгтэй.
|
|
|
|
|
<filename
|
|
|
|
|
role="package">sysutils/cpdup</filename> хэрэгслийн хэрэглээг
|
|
|
|
|
энд тэмдэглэх нь зүйтэй юм. Энэ нь сан бүрийн зөв хуулбарыг хийхэд
|
|
|
|
|
тусалдаг:</para>
|
|
|
|
|
<!-- keramida: Why is cpdup required here? Doesn't cpio(1)
|
|
|
|
|
already include adequate functionality for performing this
|
|
|
|
|
job *and* have the advantage of being part of the base
|
|
|
|
|
system of FreeBSD? -->
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /home/js</userinput>
|
|
|
|
|
&prompt.root; <userinput>cpdup /home/j/skel /home/js/ns</userinput>
|
|
|
|
|
&prompt.root; <userinput>cpdup /home/j/skel /home/js/mail</userinput>
|
|
|
|
|
&prompt.root; <userinput>cpdup /home/j/skel /home/js/www</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Энэ үед шоронгууд нь бүтээгдэж ажиллахад бэлтгэгдсэн
|
|
|
|
|
байна. Эхлээд шорон бүрийн хувьд шаардлагатай файлын
|
|
|
|
|
системийг холбож дараа нь тэдгээрийг <filename>/etc/rc.d/jail</filename>
|
|
|
|
|
скрипт ашиглан эхлүүлэх хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mount -a</userinput>
|
|
|
|
|
&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
</procedure>
|
|
|
|
|
|
|
|
|
|
<para>Шоронгууд нь одоо ажиллаж байх ёстой. Тэдгээрийг зөв
|
|
|
|
|
эхэлсэн эсэхийг шалгахын тулд &man.jls.8; тушаалыг ашиглана.
|
|
|
|
|
Үүний гаралт доор дурдсантай төстэй байх ёстой:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>jls</userinput>
|
|
|
|
|
JID IP Address Hostname Path
|
|
|
|
|
3 192.168.3.17 ns.example.org /home/j/ns
|
|
|
|
|
2 192.168.3.18 mail.example.org /home/j/mail
|
|
|
|
|
1 62.123.43.14 www.example.org /home/j/www</screen>
|
|
|
|
|
|
|
|
|
|
<para>Энэ үед шорон бүр рүү нэвтэрч, шинэ хэрэглэгчид нэмэх эсвэл
|
|
|
|
|
дэмонуудыг тохируулах боломжтой болсон байх ёстой.
|
|
|
|
|
<literal>JID</literal> багана нь ажиллаж байгаа шорон бүрийн
|
|
|
|
|
шорон таниулах дугаарыг илэрхийлдэг. <literal>JID</literal> нь
|
|
|
|
|
3 бүхий шорон дотор удирдлагын ажлуудыг гүйцэтгэхийн тулд
|
|
|
|
|
дараах тушаалыг ашиглах хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>jexec 3 tcsh</userinput></screen>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3 id="jails-service-jails-upgrading">
|
|
|
|
|
<title>Шинэчлэх нь</title>
|
|
|
|
|
|
|
|
|
|
<para>Аюулгүй байдлын асуудлаас болоод эсвэл одоо байгаа шоронгуудад
|
|
|
|
|
ашигтай шинэ боломжууд хийгдсэнээс болоод системээ &os;-ийн шинэ
|
|
|
|
|
хувилбар уруу шинэчлэх шаардлага заримдаа гардаг. Энэ тохиргооны
|
|
|
|
|
дизайн нь байгаа шоронгуудыг хялбар аргаар шинэчлэх боломжийг
|
|
|
|
|
олгодог. Мөн шоронгуудыг сүүлийн минутанд зогсоодог болохоор
|
|
|
|
|
энэ нь тэдгээрийн зогсох хугацааг багасгадаг. Бас ямар нэг асуудал
|
|
|
|
|
гарахад энэ нь хуучин хувилбар уруугаа шилжих боломжийг олгодог.</para>
|
|
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Эхний алхам нь хост системийг журмын дагуу шинэчлэх
|
|
|
|
|
явдал юм. Дараа шинэ, түр зуурын, зөвхөн уншигдах
|
|
|
|
|
загварыг <filename
|
|
|
|
|
role="directory">/home/j/mroot2</filename>-д үүсгэх хэрэгтэй.</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mkdir /home/j/mroot2</userinput>
|
|
|
|
|
&prompt.root; <userinput>cd /usr/src</userinput>
|
|
|
|
|
&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot2</userinput>
|
|
|
|
|
&prompt.root; <userinput>cd /home/j/mroot2</userinput>
|
|
|
|
|
&prompt.root; <userinput>cpdup /usr/src usr/src</userinput>
|
|
|
|
|
&prompt.root; <userinput>mkdir s</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para><maketarget>installworld</maketarget> ажиллахдаа цөөн хэрэггүй
|
|
|
|
|
сангуудыг үүсгэдэг бөгөөд эдгээрийг устгах хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>chflags -R 0 var</userinput>
|
|
|
|
|
&prompt.root; <userinput>rm -R etc var root usr/local tmp</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Мастер файлын системд зориулж уншигдах, бичигдэх симболын
|
|
|
|
|
холбоосуудыг дахин үүсгэх хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>ln -s s/etc etc</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/root root</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/home home</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
|
|
|
|
|
&prompt.root; <userinput>ln -s s/var var</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Шоронгуудыг зогсоох зөв үе нь одоо байна:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>/etc/rc.d/jail stop</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Эх файлын системүүдийг салгах хэрэгтэй:</para>
|
|
|
|
|
<!-- keramida: Shouldn't we suggest a short script-based
|
|
|
|
|
loop here, instead of tediously copying the same commands
|
|
|
|
|
multiple times? -->
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>umount /home/j/ns/s</userinput>
|
|
|
|
|
&prompt.root; <userinput>umount /home/j/ns</userinput>
|
|
|
|
|
&prompt.root; <userinput>umount /home/j/mail/s</userinput>
|
|
|
|
|
&prompt.root; <userinput>umount /home/j/mail</userinput>
|
|
|
|
|
&prompt.root; <userinput>umount /home/j/www/s</userinput>
|
|
|
|
|
&prompt.root; <userinput>umount /home/j/www</userinput></screen>
|
|
|
|
|
|
|
|
|
|
<note>
|
|
|
|
|
<para>Уншигдах, бичигдэх системүүд нь зөвхөн уншигдах системд
|
|
|
|
|
залгагдсан (<filename role="directory">/s</filename>) бөгөөд
|
|
|
|
|
эхлээд салгагдах ёстой.</para>
|
|
|
|
|
</note>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Хуучин зөвхөн уншигдах файлын системийг шилжүүлж шинээр
|
|
|
|
|
сольно. Ямар нэг юм болохоо байхад энэ нь хуучин, зөвхөн уншигдах
|
|
|
|
|
файлын системийн нөөц болон архив маягаар ашиглагдах юм.
|
|
|
|
|
Энд ашиглагдсан нэрлэх аргачлал нь шинэ, зөвхөн уншигдах файлын
|
|
|
|
|
систем үүсгэгдэх үеийнхтэй тохирдог. Зай болон inode-уудыг хэмнэхийн тулд
|
|
|
|
|
&os;-ийн эх портын цуглуулгыг шинэ файлын систем уруу шилжүүлэх хэрэгтэй:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>cd /home/j</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv mroot mroot.20060601</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv mroot2 mroot</userinput>
|
|
|
|
|
&prompt.root; <userinput>mv mroot.20060601/usr/ports mroot/usr</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
<step>
|
|
|
|
|
<para>Энэ үед шинэ, зөвхөн уншигдах загвар бэлэн болох бөгөөд
|
|
|
|
|
үлдсэн цорын ганц ажил нь файлын системүүдийг дахин холбож
|
|
|
|
|
шоронгуудыг эхлүүлэх явдал юм:</para>
|
|
|
|
|
|
|
|
|
|
<screen>&prompt.root; <userinput>mount -a</userinput>
|
|
|
|
|
&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
|
|
|
|
|
</step>
|
|
|
|
|
</procedure>
|
|
|
|
|
|
|
|
|
|
<para>Шоронгууд зөв эхэлсэн эсэхийг шалгахын тулд &man.jls.8;-г ашиглана.
|
|
|
|
|
Шорон бүрт mergemaster-г ажиллуулахаа мартуузай. Тохиргооны файлууд болон
|
|
|
|
|
rc.d скриптүүдийг шинэчлэх хэрэгтэй болно.</para>
|
|
|
|
|
</sect3>
|
|
|
|
|
</sect2>
|
|
|
|
|
</sect1>
|
|
|
|
|
</chapter>
|
|
|
|
|