เบเบฒเบ™เบ›เปˆเบญเบ Bubblewrap 0.4.0, เบŠเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง

เบกเบตเปƒเบซเป‰ เบเบฒเบ™เบ›เปˆเบญเบเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปƒเบซเบกเปˆ เบŸเบญเบ‡เบ™เป‰ เบณ 0.4.0, เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเปƒเบ™ Linux เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”. เปƒเบ™เบ—เบฒเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, Bubblewrap เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเป‚เบ„เบ‡เบเบฒเบ™ Flatpak เป€เบ›เบฑเบ™เบŠเบฑเป‰เบ™เป€เบžเบทเปˆเบญเปเบเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบ›เบตเบ”เบ•เบปเบงเบญเบญเบเบˆเบฒเบเปเบžเบฑเบเป€เบเบฑเบ”. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™ C เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ LGPLv2+.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง, เป€เบ—เบเป‚เบ™เป‚เบฅเบเบต virtualization container Linux เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ cgroups, namespaces, Seccomp เปเบฅเบฐ SELinux. เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เปƒเบ™เบเบฒเบ™เบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบšเบฑเบ™เบˆเบธ, Bubblewrap เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเบ”เป‰เบงเบเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบฎเบฒเบ (เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบ—เบธเบ‡ suid) เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ•เบฑเป‰เบ‡เบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เปƒเบซเบกเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบ–เบทเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰ namespaces เบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบš namespace, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบ•เบปเบงเบฅเบฐเบšเบธเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปƒเบ™ containers, เปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบซเบผเบฒเบเป†เบเบฒเบ™เปเบˆเบเบขเบฒเบ (Bubblewrap เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡ a. เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ namespaces เบœเบนเป‰เปƒเบŠเป‰ - เป€เบžเบทเปˆเบญเบเบปเบเป€เบงเบฑเป‰เบ™เบ•เบปเบงเบฅเบฐเบšเบธเบœเบนเป‰เปƒเบŠเป‰ เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฒเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เบเบปเบเป€เบงเบฑเป‰เบ™เบญเบฑเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป‚เปเบ” CLONE_NEWUSER เปเบฅเบฐ CLONE_NEWPID เบ–เบทเบเปƒเบŠเป‰). เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก
เป‚เบ›เบฃเปเบเบก Bubblewrap เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เป‚เปเบ” PR_SET_NO_NEW_PRIVS, เป€เบŠเบดเปˆเบ‡เบซเป‰เบฒเบกเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบกเบตเบ—เบธเบ‡ setuid เบขเบนเปˆ.

เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเปƒเบ™เบฅเบฐเบ”เบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบกเปˆเบ™เบชเปเบฒเป€เบฅเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบชเป‰เบฒเบ‡ namespace mount เปƒเบซเบกเปˆเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปƒเบ™เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบฎเบฒเบเบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰ tmpfs. เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™ FS เบžเบฒเบเบ™เบญเบเปเบกเปˆเบ™เบ•เบดเบ”เบเบฑเบšเบžเบฒเบ—เบดเบŠเบฑเบ™เบ™เบตเป‰เปƒเบ™เป‚เบซเบกเบ” "mount โ€”bind" (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เบ•เบปเบงเบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบทเบญเบ "bwrap โ€”ro-bind / usr / usr", / usr partition เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบ•เปเปˆเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ•เบปเป‰เบ™เบ•เป. เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบญเปˆเบฒเบ™โ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ™เบฑเป‰เบ™โ€‹)โ€‹. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เบทเบเบˆเบณเบเบฑเบ”เปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ loopback เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบœเปˆเบฒเบ™เบ—เบธเบ‡ CLONE_NEWNET เปเบฅเบฐ CLONE_NEWUTS.

เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™ เบ„เบธเบเป„เบŸ, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง setuid, เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™ Bubblewrap เบŠเบฑเป‰เบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ container เบ›เบฐเบเบญเบšเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบฅเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบฒเบŸเบดเบ, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš desktop เปเบฅเบฐเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบเบฒเบ™เป‚เบ—เป„เบ›เบซเบฒ Pulseaudio เปเบกเปˆเบ™ outsourced Flatpak เปเบฅเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบš. เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, Firejail เบฅเบงเบกเป€เบญเบปเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเปƒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบฅเบฐเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž. เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก.

เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก namespaces เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ namespaces pid. เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡ namespaces, เบ—เบธเบ‡ "--users", "--users2" เปเบฅเบฐ "-pidns" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก.
เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป‚เปเบ” setuid เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰เป‚เปเบ”เปเบเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเบดเบ”เบฎเบฒเบ, เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™.
namespaces เบœเบนเป‰เปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš (เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ Debian เปเบฅเบฐ RHEL/CentOS) เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ เบเบฒเบ™เบ‚เบนเบ”เบฎเบตเบ” เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ เบเบฑเบ‡เป€เบซเบผเบทเบญ เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญ เบชเปเบฒเบฅเบฑเบšเบ‚เบญเบšเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ” "namespaces เบœเบนเป‰เปƒเบŠเป‰". เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปƒเบซเบกเปˆเบ‚เบญเบ‡ Bubblewrap 0.4 เบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฑเบš musl C library เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ glibc เปเบฅเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เบฐเบซเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™ namespace เปƒเบซเป‰เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบดเบ•เบดเปƒเบ™เบฎเบนเบšเปเบšเบš JSON.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™