ืžื ื’ื ื•ืŸ ื‘ื™ื“ื•ื“ ื“ื•ืžื” ืœ-plegde and unveil ืžืคื•ืชื— ืขื‘ื•ืจ FreeBSD

ืขื‘ื•ืจ FreeBSD, ืžื•ืฆืข ื”ื˜ืžืขื” ืฉืœ ืžื ื’ื ื•ืŸ ื‘ื™ื“ื•ื“ ื™ื™ืฉื•ืžื™ื, ื”ืžื–ื›ื™ืจ ืืช ืงืจื™ืื•ืช ื”-plegde ื•ื—ืฉื™ืคื” ืœืžืขืจื›ืช ืฉืคื•ืชื—ื• ืขืœ ื™ื“ื™ ืคืจื•ื™ืงื˜ OpenBSD. ื‘ื™ื“ื•ื“ ื‘-plegde ืžื•ืฉื’ ืขืœ ื™ื“ื™ ืื™ืกื•ืจ ื’ื™ืฉื” ืœืฉื™ื—ื•ืช ืžืขืจื›ืช ืฉืื™ื ืŸ ื‘ืฉื™ืžื•ืฉ ื‘ืืคืœื™ืงืฆื™ื”, ื•ื‘ื—ืฉื™ืคื” ืขืœ ื™ื“ื™ ืคืชื™ื—ืช ื’ื™ืฉื” ืกืœืงื˜ื™ื‘ื™ืช ืจืง ืœื ืชื™ื‘ื™ ืงื‘ืฆื™ื ื‘ื•ื“ื“ื™ื ืฉื”ืืคืœื™ืงืฆื™ื” ื™ื›ื•ืœื” ืœืขื‘ื•ื“ ืื™ืชื. ืขื‘ื•ืจ ื”ืืคืœื™ืงืฆื™ื” ื ื•ืฆืจืช ืžืขื™ืŸ ืจืฉื™ืžื” ืœื‘ื ื” ืฉืœ ืฉื™ื—ื•ืช ืžืขืจื›ืช ื•ื ืชื™ื‘ื™ ืงื‘ืฆื™ื, ื•ื›ืœ ืฉืืจ ื”ืฉื™ื—ื•ืช ื•ื”ื ืชื™ื‘ื™ื ืืกื•ืจื™ื.

ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื”ืื ืœื•ื’ื™ ืฉืœ Plegde ืœ-Unveil ืฉืžืคื•ืชื— ืขื‘ื•ืจ FreeBSD ืžืกืชื›ื ื‘ืืกืคืงืช ืฉื›ื‘ื” ื ื•ืกืคืช ื”ืžืืคืฉืจืช ืœืš ืœื‘ื•ื“ื“ ื™ื™ืฉื•ืžื™ื ืžื‘ืœื™ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ืฉืœื”ื ืื• ืขื ืฉื™ื ื•ื™ื™ื ืžื™ื ื™ืžืœื™ื™ื. ื ื–ื›ื™ืจ ื›ื™ ื‘-OpenBSD, plegde ื•- unveil ืžื›ื•ื•ื ื•ืช ืœืื™ื ื˜ื’ืจืฆื™ื” ื”ื“ื•ืงื” ืขื ื”ืกื‘ื™ื‘ื” ื”ื‘ืกื™ืกื™ืช ื•ืžืฉืžืฉื•ืช ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ื”ืขืจื•ืช ืžื™ื•ื—ื“ื•ืช ืœืงื•ื“ ืฉืœ ื›ืœ ืืคืœื™ืงืฆื™ื”. ื›ื“ื™ ืœืคืฉื˜ ืืช ืืจื’ื•ืŸ ื”ื”ื’ื ื”, ืžืกื ื ื™ื ืžืืคืฉืจื™ื ืœืš ืœื•ื•ืชืจ ืขืœ ืคื™ืจื•ื˜ ื‘ืจืžื” ืฉืœ ืงืจื™ืื•ืช ืžืขืจื›ืช ื‘ื•ื“ื“ื•ืช ื•ืœืชืคืขืœ ืžื—ืœืงื•ืช ืฉืœ ืงืจื™ืื•ืช ืžืขืจื›ืช (ืงืœื˜/ืคืœื˜, ืงืจื™ืืช ืงื‘ืฆื™ื, ื›ืชื™ื‘ืช ืงื‘ืฆื™ื, ืฉืงืขื™ื, ioctl, sysctl, ื”ืฉืงืช ืชื”ืœื™ืš ื•ื›ื•'). . ื ื™ืชืŸ ืœืงืจื•ื ืœืคื•ื ืงืฆื™ื•ืช ื”ื’ื‘ืœืช ื’ื™ืฉื” ื‘ืงื•ื“ ื”ืืคืœื™ืงืฆื™ื” ื›ืืฉืจ ืคืขื•ืœื•ืช ืžืกื•ื™ืžื•ืช ืžื‘ื•ืฆืขื•ืช, ืœื“ื•ื’ืžื”, ื ื™ืชืŸ ืœืฉืœื•ืœ ื’ื™ืฉื” ืœืฉืงืขื™ื ื•ืœืงื‘ืฆื™ื ืœืื—ืจ ืคืชื™ื—ืช ื”ืงื‘ืฆื™ื ื”ื“ืจื•ืฉื™ื ื•ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ ืœืจืฉืช.

ื”ืžื—ื‘ืจ ืฉืœ ื”ื ืžืœ ืฉืœ plegde and unveil ืขื‘ื•ืจ FreeBSD ืžืชื›ื•ื•ืŸ ืœืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœื‘ื•ื“ื“ ื™ื™ืฉื•ืžื™ื ืฉืจื™ืจื•ืชื™ื™ื, ืฉืขื‘ื•ืจื ืžื•ืฆืข ื›ืœื™ ื”ืขื–ืจ ื”ื•ื•ื™ืœื•ืŸ, ื”ืžืืคืฉืจ ืœืš ืœื”ื—ื™ืœ ื›ืœืœื™ื ื”ืžื•ื’ื“ืจื™ื ื‘ืงื•ื‘ืฅ ื ืคืจื“ ืขืœ ื™ื™ืฉื•ืžื™ื. ื”ืชืฆื•ืจื” ื”ืžื•ืฆืขืช ื›ื•ืœืœืช ืงื•ื‘ืฅ ืขื ื”ื’ื“ืจื•ืช ื‘ืกื™ืกื™ื•ืช ื”ืžื’ื“ื™ืจื™ื ืžื—ืœืงื•ืช ืฉืœ ืงืจื™ืื•ืช ืžืขืจื›ืช ื•ื ืชื™ื‘ื™ ืงื‘ืฆื™ื ื˜ื™ืคื•ืกื™ื™ื ืกืคืฆื™ืคื™ื™ื ืœื™ื™ืฉื•ืžื™ื ืžืกื•ื™ืžื™ื (ืขื‘ื•ื“ื” ืขื ืกืื•ื ื“, ืื™ื ื˜ืจืืงืฆื™ื” ื‘ืจืฉืช, ืจื™ืฉื•ื ื•ื›ื•'), ื•ื›ืŸ ืงื•ื‘ืฅ ืขื ื›ืœืœื™ ื’ื™ืฉื” ืœื™ื™ืฉื•ืžื™ื ืกืคืฆื™ืคื™ื™ื.

ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช ืฉืœ ื”ื•ื•ื™ืœื•ืŸ ื›ื“ื™ ืœื‘ื•ื“ื“ ืืช ืจื•ื‘ ื›ืœื™ ื”ืฉื™ืจื•ืช ืฉืœื ื”ืฉืชื ื•, ืชื”ืœื™ื›ื™ ืฉืจืช, ื™ื™ืฉื•ืžื™ื ื’ืจืคื™ื™ื ื•ืืคื™ืœื• ื”ืคืขืœื•ืช ืฉืœืžื•ืช ืฉืœ ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื”. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื•ื•ื™ืœื•ืŸ ื‘ืฉื™ืœื•ื‘ ืขื ืžื ื’ื ื•ื ื™ ื”ื‘ื™ื“ื•ื“ ื”ืžืกื•ืคืงื™ื ืขืœ ื™ื“ื™ ืชืช-ื”ืžืขืจื›ื•ืช ื”ื›ืœื ื•ื”ืงืคืกื™ืงื•ื. ืืคืฉืจ ื’ื ืœืืจื’ืŸ ื‘ื™ื“ื•ื“ ืžืงื•ื ืŸ, ื›ืืฉืจ ื™ื™ืฉื•ืžื™ื ืฉื”ื•ืฉืงื• ื™ื•ืจืฉื™ื ืืช ื”ื›ืœืœื™ื ืฉื ืงื‘ืขื• ืขื‘ื•ืจ ื™ื™ืฉื•ื ื”ืื‘, ื•ืžืฉืœื™ืžื™ื ืื•ืชื ื‘ื”ื’ื‘ืœื•ืช ื‘ื•ื“ื“ื•ืช. ื—ืœืง ืžืคืขื•ืœื•ืช ื”ืงืจื ืœ (ืžืชืงื ื™ ืื™ืชื•ืจ ื‘ืื’ื™ื, POSIX/SysV IPC, PTYs) ืžื•ื’ื ื•ืช ื‘ื ื•ืกืฃ ืขืœ ื™ื“ื™ ืžื ื’ื ื•ืŸ ืžื—ืกื•ื ื”ืžื•ื ืข ื’ื™ืฉื” ืœืื•ื‘ื™ื™ืงื˜ื™ ืœื™ื‘ื” ืฉืื™ื ื ื ื•ืฆืจื™ื ืขืœ ื™ื“ื™ ื”ืชื”ืœื™ืš ื”ื ื•ื›ื—ื™ ืื• ื”ืื‘.

ืชื”ืœื™ืš ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื”ื‘ื™ื“ื•ื“ ืฉืœื• ืขืœ ื™ื“ื™ ืงืจื™ืืช curtainctl ืื• ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื•ืช plegde() ื•- unveil() ืฉืœ libcurtain, ื‘ื“ื•ืžื” ืœืืœื• ืฉื ืžืฆืื•ืช ื‘-OpenBSD. ื›ื“ื™ ืœืขืงื•ื‘ ืื—ืจ ืžื ืขื•ืœื™ื ื‘ื–ืžืŸ ืฉื”ืืคืœื™ืงืฆื™ื” ืคื•ืขืœืช, ืžืกื•ืคืง ื”-sysctl 'security.curtain.log_level'. ื”ื’ื™ืฉื” ืœืคืจื•ื˜ื•ืงื•ืœื™ X11 ื•-Wayland ืžื•ืคืขืœืช ื‘ื ืคืจื“ ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ื”ืืคืฉืจื•ื™ื•ืช "-X"/"-Y" ื•-"-W" ื‘ืขืช ื”ืคืขืœืช ืžืกืš, ืืš ื”ืชืžื™ื›ื” ื‘ื™ื™ืฉื•ืžื™ื ื’ืจืคื™ื™ื ืขื“ื™ื™ืŸ ืœื ืžืกืคื™ืง ืžื™ื•ืฆื‘ืช ื•ื™ืฉ ืœื” ืžืกืคืจ ื‘ืขื™ื•ืช ืœื ืคืชื•ืจื•ืช ( ื‘ืขื™ื•ืช ืžื•ืคื™ืขื•ืช ื‘ืขื™ืงืจ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-X11, ื•ืชืžื™ื›ื” ื‘-Wayland ืžื™ื•ืฉืžืช ื‘ืฆื•ืจื” ื”ืจื‘ื” ื™ื•ืชืจ ื˜ื•ื‘ื”). ืžืฉืชืžืฉื™ื ื™ื›ื•ืœื™ื ืœื”ื•ืกื™ืฃ ื”ื’ื‘ืœื•ืช ื ื•ืกืคื•ืช ืขืœ ื™ื“ื™ ื™ืฆื™ืจืช ืงื•ื‘ืฆื™ ื›ืœืœื™ื ืžืงื•ืžื™ื™ื (~/.curtain.conf). ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืืคืฉืจ ื›ืชื™ื‘ื” ืž-Firfox ืจืง ืœืกืคืจื™ื™ืช ~/Downloads/, ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืงื˜ืข "[firefox]" ืขื ื”ื›ืœืœ "~/Downloads/ : rw +".

ื”ื”ื˜ืžืขื” ื›ื•ืœืœืช ืืช ืžื•ื“ื•ืœ ืœื™ื‘ืช mac_curtain ืœื‘ืงืจืช ื’ื™ืฉื” ื—ื•ื‘ื” (MAC, Mandatory Access Control), ืกื˜ ืชื™ืงื•ื ื™ื ืขื‘ื•ืจ ืœื™ื‘ืช FreeBSD ืขื ื”ื˜ืžืขืช ื”ืžื˜ืคืœื™ื ื•ื”ืคื™ืœื˜ืจื™ื ื”ื“ืจื•ืฉื™ื, ืกืคืจื™ื™ืช libcurtain ืœืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื•ืช plegde ื•ื—ืฉื™ืคื” ื‘ืืคืœื™ืงืฆื™ื•ืช, ื›ืœื™ ื”ืฉื™ืจื•ืช ืฉืœ ื”ื•ื•ื™ืœื•ืŸ, ืงื•ื‘ืฆื™ ืชืฆื•ืจื” ืœื“ื•ื’ืžื”, ืขืจื›ืช ื‘ื“ื™ืงื•ืช ื•ืชื™ืงื•ื ื™ื ืขื‘ื•ืจ ืชื•ื›ื ื™ื•ืช ืžืกื•ื™ืžื•ืช ื‘ื—ืœืœ ื”ืžืฉืชืžืฉ (ืœื“ื•ื’ืžื”, ืœืฉื™ืžื•ืฉ ื‘-$TMPDIR ื›ื“ื™ ืœืื—ื“ ืขื‘ื•ื“ื” ืขื ืงื‘ืฆื™ื ื–ืžื ื™ื™ื). ื‘ืžื™ื“ืช ื”ืืคืฉืจ, ื”ืžื—ื‘ืจ ืžืชื›ื•ื•ืŸ ืœืžื–ืขืจ ืืช ืžืกืคืจ ื”ืฉื™ื ื•ื™ื™ื ื”ืžืฆืจื™ื›ื™ื ืชื™ืงื•ื ื™ื ืœืงืจื ืœ ื•ืœืืคืœื™ืงืฆื™ื•ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”