Барои FreeBSD механизми ҷудокунии барномаҳо, ки ба зангҳои системавии plegde ва uneven монанд аст, ки аз ҷониби лоиҳаи OpenBSD таҳия шудааст, пешниҳод шудааст. Дар plegde, ҷудокунӣ бо роҳи ғайрифаъол кардани зангҳои системавии истифоданашуда ба даст оварда мешавад, дар ҳоле ки дар uneven, он бо роҳи кушодани интихобӣ танҳо ба роҳҳои мушаххаси файлҳое, ки барнома метавонад ба онҳо дастрасӣ пайдо кунад, ба даст оварда мешавад. Барои барнома рӯйхати сафеди зангҳои системавӣ ва роҳҳои файлҳо эҷод карда мешавад, дар ҳоле ки ҳамаи зангҳо ва роҳҳои дигар манъ карда мешаванд.
Муодили FreeBSD-и plegde ва uneveil бо он фарқ мекунад, ки онҳо қабати иловагиеро фароҳам меоранд, ки имкон медиҳад, ки барномаҳо бо тағйироти ҳадди ақал ё тамоман бетағйир ҷудо карда шаванд. Хотиррасон бояд кард, ки дар OpenBSD, plegde ва uneveil барои ҳамгироии зич бо муҳити аслӣ тарҳрезӣ шудаанд ва бо илова кардани эзоҳҳои махсус ба рамзи ҳар як барнома амалӣ карда мешаванд. Барои содда кардани амният, филтрҳо ниёз ба дақиқӣ дар сатҳи инфиродии занги системаро аз байн мебаранд ва имкон медиҳанд, ки синфҳои занги система (вуруд/хуруҷ, хондани файл, навиштани файл, сокетҳо, ioctl, sysctl, оғози раванд ва ғайра) коркард карда шаванд. Функсияҳои маҳдудкунии дастрасӣ метавонанд дар рамзи барнома ҳангоми иҷрои амалҳои мушаххас даъват карда шаванд; масалан, дастрасӣ ба сокетҳо ва файлҳо пас аз кушода шудани файлҳои зарурӣ ва барқарор шудани пайвасти шабакавӣ метавонад баста шавад.
Муаллифи портҳои plegde ва uneven барои FreeBSD қасд дорад, ки қобилияти ҷудо кардани барномаҳои ихтиёриро фароҳам оварад. Барои ин, онҳо утилитаи curtain-ро пешниҳод мекунанд, ки ба қоидаҳое, ки дар файли алоҳида муайян шудаанд, имкон медиҳад, ки ба барномаҳо татбиқ карда шаванд. Конфигуратсияи пешниҳодшуда файлеро дар бар мегирад, ки дорои танзимоти асосӣ мебошад, ки синфҳои занги система ва роҳҳои маъмулии файлро, ки ба барномаҳои муайян хосанд (садо, шабака, сабт ва ғайра), инчунин файлеро бо қоидаҳои дастрасии мушаххаси барнома муайян мекунанд.
Утилитасияи перде метавонад барои ҷудо кардани аксари утилитаҳои тағйирнаёфта, равандҳои сервер, барномаҳои графикӣ ва ҳатто тамоми сессияҳои мизи корӣ истифода шавад. Онро метавон дар якҷоягӣ бо механизмҳои ҷудокунӣ, ки аз ҷониби зерсистемаҳои Jail ва Capsicum пешниҳод карда мешаванд, истифода бурд. Изолятсияи дохилӣ низ имконпазир аст, ки дар он барномаҳои иҷрошаванда қоидаҳои муқарраркардаи барномаи волидайнро мерос мегиранд ва онҳоро бо маҳдудиятҳои инфиродӣ пурра мекунанд. Баъзе амалиётҳои ядро (асбобҳои ислоҳи хатогиҳо, POSIX/SysV IPC, PTY) бо истифода аз механизми монеа, ки дастрасӣ ба объектҳои ядроро, ки аз ҷониби раванди ҷорӣ ё волидайн эҷод нашудаанд, пешгирӣ мекунад, иловатан ҳифз карда мешаванд.
Раванд метавонад изолятсияи худро тавассути даъват кардани curtainctl ё истифодаи функсияҳои plegde() ва uneven(), ки аз ҷониби китобхонаи libcurtain пешниҳод шудаанд, монанд ба функсияҳои OpenBSD танзим кунад. sysctl 'security.curtain.log_level' барои пайгирии басташавӣ ҳангоми иҷрои барнома пешбинӣ шудааст. Дастрасӣ ба протоколҳои X11 ва Wayland алоҳида бо муайян кардани имконоти "-X"/"-Y" ва "-W" ҳангоми оғози curtain фаъол карда мешавад, аммо дастгирии барномаҳои графикӣ ҳанӯз ба қадри кофӣ устувор нест ва як қатор масъалаҳои ҳалношуда дорад (мушкилот асосан ҳангоми истифодаи X11 зоҳир мешаванд, дар ҳоле ки дастгирии Wayland ба таври назаррас беҳтар амалӣ карда мешавад). Истифодабарандагон метавонанд маҳдудиятҳои иловагиро бо эҷоди файлҳои қоидаҳои маҳаллӣ (~/.curtain.conf) илова кунанд. Масалан, барои иҷозат додани навиштан танҳо аз Firefox ба директорияи ~/Downloads/, шумо метавонед бахши "[firefox]"-ро бо қоидаи "~/Downloads/ : rw +" илова кунед.
Ин татбиқ модули ядрои mac_curtain-ро барои назорати дастрасии ҳатмӣ (MAC), маҷмӯи патчҳо барои ядрои FreeBSD, ки коркардкунандагон ва филтрҳои заруриро амалӣ мекунанд, китобхонаи libcurtain-ро барои истифодаи функсияҳои plegde ва unveil дар барномаҳо, утилитаи curtain, файлҳои конфигуратсияи намунавӣ, маҷмӯи санҷишӣ ва патчҳо барои баъзе барномаҳои фазои корбар (масалан, барои истифодаи $TMPDIR барои стандартикунонии коркарди файлҳои муваққатӣ) дар бар мегирад. Муаллиф ният дорад, ки шумораи тағйиротеро, ки талаб мекунанд, ки патчҳои ядро ва барномаҳоро ҳарчи бештар талаб кунанд, кам кунад.
Манбаъ: opennet.ru
