14.7. Хэрэглэгчдэд хязгаарлалт хийх
Өмнөх | Бүлэг 14. Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт | Дараах

## 14.7. Хэрэглэгчдэд хязгаарлалт хийх

FreeBSD нь хэрэглэгчдийн систем хэрэглэх боломжийг нь хязгаарлах боломжтой байдаг. Эдгээр хязгаарлалт нь хоёр хэсэгт хуваагддаг: дискний хуваарилалт, тэгээд бусад нөөцийн хязгаарлалтууд.

Дискийн хуваарилалт нь хэрэглэгчийн диск хэрэглэх хэмжээг зааглаж өгдөг бөгөөд тухай бүрд уг хэмжээг тооцож бодолгүй шуурхай шалгах боломж өгдөг. Хуваарилалт нь Хэсэг 19.15, «Файлын системийн ноогдлууд» бүлэгт авч хэлэлцэгдсэн.

Бусад нөөцийн хязгаарлалтуудад Процессор, санах ойн хэмжээ болон бусад хэрэглэгчийн хэрэглэх нөөцүүд ордог. Эдгээр нь нэвтрэх ангилал ашиглаж заагдаж өгдөг бөгөөд энд одоо ярих болно.

Нэвтрэх ангилал нь `/etc/login.conf`-д заагдсан байгаа. Нарийвчилсан ойлголт энэ бүлэгт ороогүй, гэхдээ login.conf(5) гарын авлагад тодорхой бичигдсэн байгаа. Хэрэглэгч бүрд нэвтрэх ангилал заагдсан байдаг гэж хэлэхэд хангалттай (анхдагч утга нь `default`), бөгөөд нэвтрэх ангилал бүр өөртөө тодорхой нэвтрэх чанаруудыг агуулсан байдаг. Нэвтрэх чанар гэдэг нь ``нэр`=`утга`` гэсэн хослол бөгөөд үүний `нэр` нь бидний мэдэх хэрэглэгчийн нэр ба `утга` нь `нэр`тэй хамаатай боловсруулагдсан мөр байдаг. Нэвтрэх ангилал ба чанарыг тохируулах нь харьцангуй амархан бөгөөд мөн login.conf(5) дотор тодорхой бичигдсэн.

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

FreeBSD ердийн үед шууд `/etc/login.conf` файлыг уншдаггүй, харин түргэн хайж харахад илүүгээр нь `/etc/login.conf.db` өгөгдлийн бааз файлыг уншдаг. `/etc/login.conf`-д засвар хийх бүртээ `/etc/login.conf.db` файлыг шинэчлэх ёстой бөгөөд ингэхийн тулд дараах тушаалыг гүйцэтгэх хэрэгтэй:

`#` `cap_mkdb /etc/login.conf`

Нөөцийн хязгаарлалт нь энгийн нэвтрэх чанараас хоёр замаар ялгардаг. Эхнийх нь, хязгаарлалт бүр зөөлөн (одоогийн) ба хатуу хязгаарлалт гэж байдаг. Зөөлөн хязгаарлалт нь хэрэглэгчээр юм уу програмаар тохируулагдаж болдог бөгөөд хатуу хязгаарлалтаас дээгүүр биш. Харин хатуу хязгаарлалт нь хэрэглэгчээр доошоо тохируулагдаж болох боловч хэзээ ч дээшлэгдэж чадахгүй. Хоёр дахь нь, ихэнх нөөцийн хязгаарлалт нь тусгай хэрэглэгчдийн процесс дээр хэрэгжигдэх бөгөөд харин хэрэглэгч дээр бүхлээрээ хэрэгжигдэхгүй. Тэмдэглэж хэлэхэд, хэдийгээр эдгээр ялгаанууд нь онцгой хязгаарлалт хийх үед голлох боловч нэвтрэх чанарын үндсэн хүрээнд хэрэгжигдэхгүй. (өөрөөр хэлбэл, эдгээр нь үнэхээр онцгой нэвтрэх чанарын тохиолдол биш).

Тэгэхээр, элдвийг нуршилгүйгээр, энгийн байнга хэрэглэгддэг нөөцийн хязгаарлалтуудыг доор жагсаав (үлдсэн хязгаарлалтуудыг мөн тэдгээрийн нэвтрэх чанаруудыг нь login.conf(5)-с харна уу).

`coredumpsize`

  Програмаар үүсгэгдсэн core файлын хэмжээний хязгаар нь мэдээж дискний хэрэглэх хязгаарт багтана. (`файлын хэмжээ`, эсвэл диск хуваарилалт г.м). Тэгсэн хэдий ч, энэ нь дискний хэрэглэх хэмжээг хянахад хэрэглэгддэг нэг их чухал биш тохируулга: core файлыг хэрэглэгчид өөрсдөө үүсгэдэггүй бөгөөд тэдгээрийг дандаа устгаад байдаггүй учир үүгээр тохируулсан үед том програм (жишээ нь, emacs) ажиллахдаа core файл үүсч диск дүүрэхээс сэргийлж болох юм.

`cputime`

  Энэ нь хэрэглэгчийн процесс хэрэглэж болох хамгийн их процессорын давтамж юм. Хэтрүүлж хэрэглэсэн процесс цөмөөс устгагддаг.

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

  Энэ нь процессорын давтамж дээр тавигдсан хэрэглээний хязгаар бөгөөд top(1) ба ps(1)-н зарим талбарт харагддаг процессорын хувийг заасан заалт биш.

`filesize`

  Энэ хэмжээ нь хэрэглэгчийн хэрэглэж болох хамгийн их файлын хэмжээ. диск хуваарилалтаас ялгаатай нь, энэ хязгаарлалт нь файл бүрд тавигддаг бөгөөд хэрэглэгчийн эзэмшдэг бүх файлд биш.

`maxproc`

  Энэ нь хэрэглэгчийн ажиллуулж болох хамгийн их процессийн тоо юм. Үүнд нүүрэн талын болон ар талын процессууд багтана. Мэдээж, энэ нь `kern.maxproc`-д заагдсан sysctl(8) системийн хязгаараас хэтэрч болохгүй. Мөн тэмдэглэж хэлэхэд, үүнийг хэтэрхий багаар тохируулбал хэрэглэгчийн олон дахин нэвтэрч орох, дамжуулах хоолой ашиглах зэрэг бүтээмжид нөлөөлөх болно. Том програмыг хөрвүүлэх гэх мэт зарим гүйцэтгэл нь мөн олон процесс шаарддаг.

`memorylocked`

  Энэ нь ямар нэг процесс санах ойд mlock(2) ашиглан түгжсэн санамж шаардах үед хязгаарлах хамгийн их санах ойн хэмжээ юм. Зарим amd(8) гэх мэт системийн ноцтой програмууд нь үндсэн санах ойг түгждэг бөгөөд swap хийх үед системийн зохицуулалтанд тусалдаггүй.

`memoryuse`

  Энэ нь ямар нэг процесс ямар ч үед хэрэглэж болох хамгийн их санах ойн хэмжээ. Энэ нь үндсэн санах ой болон swap зай хоёуланд хамаатай. Санах ойн хязгаарлалт бүгдийг нь хийдэггүй ч эндээс эхлэх нь зөв эхлэлд тооцогдоно.

`openfiles`

  Энэ нь процессийн нээж болох файлуудын хамгийн их хэмжээ. FreeBSD дээр сокет, мөн IPC сувгууд нь файл хэлбэрээр хэрэглэгддэг болохоор үүнийг маш багаар тохируулахаа тун болгоомжлох хэрэгтэй. Систем даяар хязгаарлахын тулд `kern.maxfiles`-д зааж өгнө sysctl(8).

`sbsize`

  Энэ нь сүлжээнд хэрэглэгдэх санах ойн хязгаар буюу хэрэглэгчийн хэрэглэж болох mbufs юм. Энэ нь сүлжээний холболтыг хязгаарлахад ерөнхийдөө хэрэглэгдэж болно.

`stacksize`

  Энэ нь процессийн хэрэглэх стек санах ойн ихсэж болох хамгийн их хэмжээ. Энэ нь програмын хэрэглэж болох санах ойн хэмжээг хязгаарлахад хангалттай биш. Голдуу бусад хязгаарлалтуудтай хамтарч хэрэглэгдэх хэрэгтэй.

Нөөцийн хязгаарлалтыг тохируулж байхдаа бусад зарим зүйлсийг санаж байх хэрэг байдаг. Зарим энгийн зөвлөгөө, санал мөн төрөл бүрийн тайлбаруудыг доор жагсаав.

- Систем эхлэх үед `/etc/rc`-с ажилладаг процессууд нь `дэмон` нэвтрэх төрөлд багтдаг.

- Хэдийгээр ихэнх хязгаарлалтуудыг агуулсан `/etc/login.conf` файл системтэй цуг ирдэг ч гэсэн зөвхөн систем удирдагч та л таны системд ямар нь хамаатайг мэднэ. Тохируулгыг хэт их болговол системээ буруу хэрэглэгчдэд нээж өгөх бөгөөд хэрэв хэт багаар тохируулбал бүтээмжид хэт нарийдна.

- Xorg хэрэглэгчид бусад хэрэглэгчдийг бодвол илүү их нөөцөөр хангагдах хэрэгтэй. Xorg нь өөрөө маш их нөөц авдаг бөгөөд бас хэрэглэгчдэд олон програмыг зэрэг ажиллуулах боломж өгдөг.

- Маш олон хязгаарлалт нь хэрэглэгч дээр бүхэлд нь биш харин нэгж процессууд дээр тавигддаг гэдгийг санах хэрэгтэй. Жишээлбэл, `openfiles` тохируулгыг 50 гэвэл, энэ нь хэрэглэгчийн ажиллуулж буй процесс болгон 50 файл нээж болно гэсэн үг. Тийм болохоор, хэрэглэгчийн нээж болох файлуудын нийт хэмжээ нь `openfiles`-н утгыг `maxproc`-н утгаар үржүүлж гарна. Энэ нь мөн санах ойн хэрэглээнд бас хэрэгжинэ.

Нөөцийн хязгаарлалт ба нэвтрэх ангилал, мөн ерөнхий нэвтрэх чанаруудын тухай нэмэлт мэдээллийг харгалзах гарын авлага: cap_mkdb(1), getrlimit(2), login.conf(5) нараас харна уу.

Өмнөх | Дээш | Дараах
14.6. Бүртгэлд өөрчлөлт хийх | Эхлэл | 14.8. Бүлэг

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

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