FreeBSD рдХреЛ рд▓рд╛рдЧрд┐ plegde рд░ рдЕрдирд╛рд╡рд░рдг рдЬрд╕реНрддреИ рдПрдХ рдЕрд▓рдЧрд╛рд╡ рд╕рдВрдпрдиреНрддреНрд░ рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫ

FreeBSD рдХреЛ рд▓рд╛рдЧрд┐, рдУрдкрдирдмреАрдПрд╕рдбреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ plegde рд░ рдЕрдирд╛рд╡рд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдиреЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд▓рдЧрд╛рд╡ рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫред рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдорд╛ рдкреНрд░рдпреЛрдЧ рдирдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдирд┐рд╖реЗрдз рдЧрд░реЗрд░, рд░ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓реЗ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╛рдИрд▓ рдорд╛рд░реНрдЧрд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рдкрд╣реБрдБрдЪ рдЦреЛрд▓реЗрд░ рдЕрдирд╛рд╡рд░рдг рдЧрд░реЗрд░ plegde рдорд╛ рдЕрд▓рдЧрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдЧрд░рд┐рдиреНрдЫред рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐, рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рд░ рдлрд╛рдЗрд▓ рдорд╛рд░реНрдЧрд╣рд░реВрдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реЗрддреЛ рд╕реВрдЪреА рдмрдирд╛рдЗрдПрдХреЛ рдЫ, рд░ рдЕрдиреНрдп рд╕рдмреИ рдХрд▓рд╣рд░реВ рд░ рдорд╛рд░реНрдЧрд╣рд░реВ рдирд┐рд╖реЗрдзрд┐рдд рдЫрдиреНред

FreeBSD рдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╕рд┐рдд рднрдЗрд░рд╣реЗрдХреЛ plegde рд░ рдЕрдирд╛рд╡рд░рдгрдХреЛ рдПрдирд╛рд▓рдЧ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╣рдХреЛ рдкреНрд░рд╛рд╡рдзрд╛рдирдорд╛ рдЖрдЙрдБрдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХреЛрдбрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рд╡рд╛ рдиреНрдпреВрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмрд┐рдирд╛ рдЕрд▓рдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ OpenBSD рдорд╛, plegde рд░ unveil рдХреЛ рдЙрджреНрджреЗрд╢реНрдп рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрд╕рдБрдЧ рдХрдбрд╛ рдПрдХреАрдХрд░рдг рд╣реЛ рд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдХреЛрдбрдорд╛ рд╡рд┐рд╢реЗрд╖ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдердкреЗрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕рдВрдЧрдардирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрди, рдлрд┐рд▓реНрдЯрд░рд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рд╡рд┐рддрд░рдг рдЧрд░реНрди рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдХреЛ рдХрдХреНрд╖рд╛рд╣рд░реВ (рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ, рдкрдвреНрдиреЗ рдлрд╛рдЗрд▓рд╣рд░реВ, рдлрд╛рдЗрд▓рд╣рд░реВ рд▓реЗрдЦреНрдиреЗ, рд╕рдХреЗрдЯрд╣рд░реВ, ioctl, sysctl, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг, рдЖрджрд┐) рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред ред рдкрд╣реБрдБрдЪ рдкреНрд░рддрд┐рдмрдиреНрдз рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛрдбрдорд╛ рдХрд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐рдирдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓рд╣рд░реВ рдЦреЛрд▓реЗрд░ рд░ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдкрдЫрд┐ рд╕рдХреЗрдЯрд╣рд░реВ рд░ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

Plegde рдХреЛ рдкреЛрд░реНрдЯрдХрд╛ рд▓реЗрдЦрдХ рд░ FreeBSD рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдирд╛рд╡рд░рдг рдордирдорд╛рдиреА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫ, рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрджрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдЫреБрдЯреНрдЯреИ рдлрд╛рдЗрд▓рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓реЗ рдЖрдзрд╛рд░рднреВрдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рднрдПрдХреЛ рдлрд╛рдЗрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдХреЛ рд╡рд░реНрдЧрд╣рд░реВ рд░ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ (рдзреНрд╡рдирд┐, рд╕рдЮреНрдЬрд╛рд▓ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛, рд▓рдЧрд┐рдЩ, рдЗрддреНрдпрд╛рджрд┐) рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдЗрд▓ рдорд╛рд░реНрдЧрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ, рд╕рд╛рдереИ рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдкрд╣реБрдБрдЪ рдирд┐рдпрдорд╣рд░реВ рднрдПрдХреЛ рдлрд╛рдЗрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

рдкрд░реНрджрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдзреЗрд░реИ рдЬрд╕реЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ, рд╕рд░реНрднрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ, рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ, рд░ рд╕рдореНрдкреВрд░реНрдг рдбреЗрд╕реНрдХрдЯрдк рд╕рддреНрд░рд╣рд░реВрд▓рд╛рдИ рдЕрд▓рдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдкрд░реНрджрд╛ рдЬреЗрд▓ рд░ рдХреНрдпрд╛рдкреНрд╕рд┐рдХрдо рдЙрдкрдкреНрд░рдгрд╛рд▓реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЕрд▓рдЧрд╛рд╡ рд╕рдВрдпрдиреНрддреНрд░ рд╕рдВрдЧ рд╕рдВрдпреЛрдЬрди рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдиреЗрд╕реНрдЯреЗрдб рдЖрдЗрд╕реЛрд▓реЗрд╕рдирд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдкрдирд┐ рд╕рдореНрднрд╡ рдЫ, рдЬрдм рд▓рдиреНрдЪ рдЧрд░рд┐рдПрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрд▓реЗ рдЕрднрд┐рднрд╛рд╡рдХ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХрд╛ рдирд┐рдпрдорд╣рд░реВ рдЗрдирд╣реЗрд░рд┐рдЯ рдЧрд░реНрдЫрдиреН, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВрдХреЛ рд╕рд╛рде рдкреВрд░рдХ рдмрдирд╛рдЙрдБрдЫрдиреНред рдХреЗрд╣реА рдХрд░реНрдиреЗрд▓ рдЕрдкрд░реЗрд╕рдирд╣рд░реВ (рдбрд┐рдмрдЧрд┐рдЩ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ, POSIX/SysV IPC, PTYs) рдердк рд░реВрдкрдорд╛ рдПрдХ рдмрд╛рдзрд╛ рд╕рдВрдпрдиреНрддреНрд░рджреНрд╡рд╛рд░рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЫрдиреН рдЬрд╕рд▓реЗ рдХрд░реНрдиреЗрд▓ рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪрд▓рд╛рдИ рд░реЛрдХреНрдЫ рдЬреБрди рд╣рд╛рд▓рдХреЛ рд╡рд╛ рдЕрднрд┐рднрд╛рд╡рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рджреНрд╡рд╛рд░рд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред

рдПрдЙрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ curtainctl рд▓рд╛рдИ рдХрд▓ рдЧрд░реЗрд░ рд╡рд╛ OpenBSD рдорд╛ рдкрд╛рдЗрдиреЗ рдЬрд╕реНрддреИ libcurtain рдХреЛ plegde() рд░ unveil() рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЖрдлреНрдиреИ рдЕрд▓рдЧрд╛рд╡ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдЫред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдмреЗрд▓рд╛ рд▓рдХрд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди, sysctl 'security.curtain.log_level' рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред рдкрд░реНрджрд╛ рдЪрд▓рд╛рдЙрдБрджрд╛ "-X"/"-Y" рд░ "-W" рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрд░ X11 рд░ Wayland рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдЕрд▓рдЧ рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЕрдЭреИ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдкрдорд╛ рд╕реНрдерд┐рд░ рдЫреИрди рд░ рдзреЗрд░реИ рдЕрдирд╕реБрд▓рдЭреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЫрдиреН ( X11 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдореБрдЦреНрдп рд░реВрдкрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрдЫрдиреН, рд░ Wayland рд╕рдорд░реНрдерди рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдЫ)ред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╕реНрдерд╛рдиреАрдп рдирд┐рдпрдо рдлрд╛рдЗрд▓рд╣рд░реВ (~/.curtain.conf) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рдердк рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рдердкреНрди рд╕рдХреНрдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, Firfox рдмрд╛рдЯ ~/Downloads/ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдорд╛рддреНрд░ рд▓реЗрдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рди, рддрдкрд╛рдИрдВрд▓реЗ "~/Downloads/ : rw +" рдирд┐рдпрдордХреЛ рд╕рд╛рде "[рдлрд╛рдпрд░рдлрдХреНрд╕]" рдЦрдгреНрдб рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ mac_curtain рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓ (MAC, рдЕрдирд┐рд╡рд╛рд░реНрдп рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг), рдЖрд╡рд╢реНрдпрдХ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рд░ рдлрд┐рд▓реНрдЯрд░рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде FreeBSD рдХрд░реНрдиреЗрд▓рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдЪрд╣рд░реВрдХреЛ рд╕реЗрдЯ, plegde рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ libcurtain рдкреБрд╕реНрддрдХрд╛рд▓рдп рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдирд╛рд╡рд░рдг, рдкрд░реНрджрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛, рдЙрджрд╛рд╣рд░рдг рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд╣рд░реВ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдХреЗрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯ рдкрд░реАрдХреНрд╖рдг рд░ рдкреНрдпрд╛рдЪрд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЕрд╕реНрдерд╛рдпреА рдлрд╛рдЗрд▓рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдорд▓рд╛рдИ рдПрдХреАрдХреГрдд рдЧрд░реНрди $TMPDIR рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐)ред рдЬрд╣рд╛рдБ рд╕рдореНрднрд╡ рдЫ, рд▓реЗрдЦрдХрд▓реЗ рдХрд░реНрдиреЗрд▓ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкреНрдпрд╛рдЪрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХрдо рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди