Ho lokolloa ha lisebelisoa bakeng sa ho hlophisa mosebetsi oa libaka tse ka thoko Bubblewrap 0.5.0 ea fumaneha, hangata e sebelisetsoang ho thibela lits'ebetso tsa basebelisi ba se nang boiketlo. Ha e le hantle, Bubblewrap e sebelisoa ke morero oa Flatpak e le lera la ho arola lits'ebetso tse qalileng ho tsoa ho liphutheloana. Khoutu ea projeke e ngotsoe ka C mme e ajoa tlasa laesense ea LGPLv2+.
Bakeng sa ho itšehla thajana, ho sebelisoa litheknoloji tse tloaelehileng tsa lisebelisoa tsa Linux, tse ipapisitseng le ts'ebeliso ea lihlopha, libaka tsa mabitso, Seccomp le SELinux. Ho etsa ts'ebetso e khethehileng ea ho lokisa setshelo, Bubblewrap e hlahisoa ka litokelo tsa metso (faele e ka phethisoang e nang le folakha ea suid) ebe e hlophisa litokelo bocha kamora hore setshelo se qalisoa.
Ts'ebetso ea libaka tsa mabitso a basebelisi tsamaisong ea sebaka sa mabitso, e u lumellang hore u sebelise li-identifiers tsa hau tse arohaneng ka har'a lijana, ha e hlokehe bakeng sa ts'ebetso, kaha ha e sebetse ka mokhoa o ikhethileng likhatisong tse ngata. karolo e nyane ea bokhoni ba libaka tsa mabitso a basebelisi - ho se kenyelletse li-identifiers tsohle le ts'ebetso tikolohong, ntle le ea hajoale, ho sebelisoa mekhoa ea CLONE_NEWUSER le CLONE_NEWPID). Bakeng sa tšireletso e eketsehileng, mananeo a sebelisoang tlas'a Bubblewrap a hlahisoa ka mokhoa oa PR_SET_NO_NEW_PRIVS, o thibelang ho fumanoa ha litokelo tse ncha, ka mohlala, haeba folakha ea setuid e le teng.
Ho itšehla thajana boemong ba tsamaiso ea faele ho finyelloa ka ho theha sebaka se secha sa mabitso ka ho sa feleng, moo karohano ea metso e se nang letho e entsoeng ka tmpfs. Haeba ho hlokahala, likarolo tsa kantle tsa FS li hokahantsoe le karohano ena ka mokhoa oa "mount -bind" (mohlala, ha e qala ka khetho ea "bwrap -ro-bind / usr / usr", karohano ea / usr e fetisetsoa ho sistimi e kholo. ka mokgwa wa ho bala feela). Bokhoni ba marang-rang bo lekanyelitsoe ho fihlella sehokelo sa loopback ka ho itšehla thajana ka stack ea marang-rang ka CLONE_NEWNET le lifolakha tsa CLONE_NEWUTS.
Phapang ea mantlha ho tsoa ho projeke e ts'oanang ea Firejail, eo hape e sebelisang mohlala oa ho qala setuid, ke hore ho Bubblewrap sethala sa ho theha setshelo se kenyelletsa feela bokhoni bo hlokahalang, le mesebetsi eohle e tsoetseng pele e hlokahalang bakeng sa ho sebelisa lits'ebetso tsa graphical, ho sebelisana le komporo le likopo tsa ho sefa. ho Pulseaudio, e fetiselitsoe lehlakoreng la Flatpak mme e phethiloe ka mor'a hore litokelo li tsosolosoe. Ka lehlakoreng le leng, Firejail e kopanya mesebetsi eohle e amanang le faele e le 'ngoe e sebetsang, e leng se etsang hore ho be thata ho hlahloba le ho boloka tšireletso ka tekanyo e nepahetseng.
Phatlalatso e ncha e fana ka likhetho tse latelang: "--chmod" ho fetola litumello, "--clearenv" ho hlakola mefuta e fapaneng ea tikoloho (ntle le PWD), le "--perms" ho hlalosa litumello tse sebelisoang ha ho etsoa ts'ebetso "--bind -data", "- dir", "--file", "--ro-bind-data" le "--tmpfs". Tlhahlobo e ntlafetseng ea mathata a hlahang ha ho nyoloha ho hlōleha ka mokhoa oa ho kopanya. Ts'ehetso e ekelitsoeng bakeng sa ho phethela taelo ka ho tobetsa tab bakeng sa zsh.
Source: opennet.ru