Хормын хувилбарууд зэрэг файлын системийн өргөжүүлэлтүүдийн хамтаар FreeBSD нь Файлын системийн хандалт хянах жагсаалтуудын (ACL-ууд) аюулгүй байдлыг санал болгодог.
Хандалт Хянах Жагсаалтууд нь стандарт UNIX® зөвшөөрлийн загварыг маш нийцтэй (POSIX®.1e) аргаар өргөтгөдөг. Энэ боломж нь администраторт илүү төвөгтэй аюулгүй байдлын загвар болон түүний давуу талыг ашиглахыг зөвшөөрдөг.
UFS файлын системүүдэд ACL дэмжлэгийг идэвхжүүлэхийн тулд дараах:
options UFS_ACL
тохируулгыг цөмд эмхэтгэх шаардлагатай. Хэрэв энэ тохируулга эмхэтгэгдээгүй бол ACL-ууд дэмжих файлын системийг холбохыг оролдоход анхааруулах мэдэгдэл дэлгэцэд гардаг. Энэ тохируулга GENERIC цөмд орсон байдаг. ACL-ууд нь файлын систем дээр өргөтгөсөн шинж чанаруудыг идэвхжүүлсэн дээр тулгуурладаг. Өргөтгөсөн шинж чанарууд нь дараа үеийн UNIX файлын систем UFS2-д төрөлхийн дэмжигдсэн байдаг.
Тэмдэглэл: UFS1 дээр өргөтгөсөн шинж чанаруудыг тохируулахад UFS2 дээр тохируулахтай харьцуулбал илүү удирдлагын зардал шаардлагатай байдаг. UFS2 дээрх өргөтгөсөн шинж чанаруудын ажиллагаа нь бас бодитойгоор илүү байдаг. Иймээс UFS2-г UFS1-ийн оронд хандалт хянах жагсаалтуудад ашиглахыг ерөнхийдөө зөвлөдөг.
ACL-ууд нь /etc/fstab файлд нэмэгдэж өгч болох
холбох үеийн удирдлагын acls
тугаар идэвхтэй болдог. Файлын системийн
толгой дахь супер блокийн ACL-ууд тугийг өөрчлөхийн тулд tunefs(8)-ийг
ашиглан шургуу замаар холбох үеийн тугийг
автоматаар зааж өгч болно. Ерөнхийдөө хэд
хэдэн шалтгааны улмаас супер блокийн тугийг
ашиглах нь дээр байдаг:
Холбх үеийн ACL-ууд туг
дахин холболтоор өөрчлөгддөггүй (mount(8) -u
), зөвхөн бүрэн гүйцэд umount(8)
хийгдэж шинэ mount(8)
хийгдсэний дараа болно. Энэ нь бас файлын
системийг ашиглаж байх үед дарааллыг нь өөрчилж
болохгүй гэсэн үг юм.
fstab-д мөр байхгүй байсан ч гэсэн эсвэл төхөөрөмжүүдийн дараалал өөрчлөгдсөн ч гэсэн супер блокийн тугийг тохируулах нь файлын системийг үргэлж ACL-уудыг идэвхтэйгээр холбоход хүргэдэг. Энэ нь файлын системийг ACL-уудыг идэвхжүүлэлгүйгээр санамсаргүйгээр холбохоос хамгаалдаг бөгөөд ингэж санамсаргүй холбох нь ACL-уудыг буруугаар албадаж тэгснээр аюулгүй байдлын асуудлуудад хүргэж болох юм.
Тэмдэглэл: Бид шинэ 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-уудыг getfacl(1) хэрэгслээр харж болно. Жишээ нь test файл дээрх ACL тохируулгуудыг харахын тулд дараах тушаалыг ажиллуулах хэрэгтэй:
% getfacl test #file:test #owner:1001 #group:1001 user::rw- group::r-- other::r--
Энэ файлын ACL тохируулгуудыг өөрчлөхийн тулд setfacl(1) хэрэгслийг ажиллуул. Ажиглаарай:
% setfacl -k test
-k
туг нь тухайн үед
тодорхойлогдсон бүх ACL-уудыг файл эсвэл файлын системээс
арилгана. Илүү дээр арга бол ACL-уудыг ажиллуулахад шаардлагатай
үндсэн талбаруудыг орхидог -b
тугийг ашиглах явдал юм.
% setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
Дээр дурдсан тушаал дээр -m
тохируулга анхдагч ACL
оруулгуудыг өөрчлөхөд хэрэглэгдсэн. Өмнөх
тушаалаар устгагдсан болохоор урьдчилан
тодорхойлсон оруулгууд байхгүй учир энэ нь
анхдагч тохируулгуудыг сэргээж жагсаасан
тохируулгуудаас зааж өгдөг. Хэрэв та систем
дээр байхгүй хэрэглэгч эсвэл бүлэг нэмэх бол
“Invalid argument” буюу Буруу нэмэлт
өгөгдөл гэсэн алдаа stdout уруу
хэвлэгдэнэ гэдгийг санаж байх хэрэгтэй.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай
холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим
захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт
байвал <admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.