கருவித்தொகுப்பின் புதிய வெளியீடு , லினக்ஸில் தனிமைப்படுத்தப்பட்ட சூழல்களின் வேலையை ஒழுங்கமைக்க வடிவமைக்கப்பட்டுள்ளது மற்றும் சலுகையற்ற பயனர்களின் பயன்பாட்டு மட்டத்தில் செயல்படுகிறது. நடைமுறையில், Bubblewrap ஆனது Flatpak திட்டத்தால் தொகுப்புகளில் இருந்து தொடங்கப்பட்ட பயன்பாடுகளை தனிமைப்படுத்த ஒரு அடுக்காக பயன்படுத்தப்படுகிறது. திட்டக் குறியீடு C இல் எழுதப்பட்டுள்ளது மற்றும் LGPLv2+ இன் கீழ் உரிமம் பெற்றது.
தனிமைப்படுத்துவதற்கு, cgroups, namespaces, Seccomp மற்றும் SELinux ஆகியவற்றின் பயன்பாட்டின் அடிப்படையில் பாரம்பரிய லினக்ஸ் கொள்கலன் மெய்நிகராக்க தொழில்நுட்பங்கள் பயன்படுத்தப்படுகின்றன. ஒரு கொள்கலனை உள்ளமைக்க சலுகை பெற்ற செயல்பாடுகளைச் செய்ய, Bubblewrap ரூட் உரிமைகளுடன் தொடங்கப்பட்டது (ஒரு suid கொடியுடன் இயங்கக்கூடிய கோப்பு) பின்னர் கொள்கலன் துவக்கப்பட்ட பிறகு சிறப்புரிமைகளை மீட்டமைக்கிறது.
நேம்ஸ்பேஸ் அமைப்பில் பயனர் பெயர்வெளிகளை செயல்படுத்துவது, உங்கள் சொந்த தனி அடையாளங்காட்டிகளை கொள்கலன்களில் பயன்படுத்த உங்களை அனுமதிக்கிறது, இது செயல்பாட்டிற்கு தேவையில்லை, ஏனெனில் இது பல விநியோகங்களில் இயல்புநிலையாக செயல்படாது (Bubblewrap ஒரு வரையறுக்கப்பட்ட suid செயல்படுத்தல் என நிலைநிறுத்தப்பட்டுள்ளது. பயனர் பெயர்வெளிகள் திறன்களின் துணைக்குழு - தற்போதையதைத் தவிர, அனைத்து பயனர் மற்றும் செயல்முறை அடையாளங்காட்டிகளையும் சூழலில் இருந்து விலக்க, CLONE_NEWUSER மற்றும் CLONE_NEWPID முறைகள் பயன்படுத்தப்படுகின்றன). கூடுதல் பாதுகாப்பிற்காக, கட்டுப்பாட்டின் கீழ் இயங்கக்கூடியது
Bubblewrap நிரல்கள் PR_SET_NO_NEW_PRIVS பயன்முறையில் தொடங்கப்படுகின்றன, இது புதிய சிறப்புரிமைகளைப் பெறுவதைத் தடுக்கிறது, எடுத்துக்காட்டாக, செட்யூட் கொடி இருந்தால்.
ஒரு புதிய மவுண்ட் நேம்ஸ்பேஸை இயல்பாக உருவாக்குவதன் மூலம் கோப்பு முறைமை மட்டத்தில் தனிமைப்படுத்தப்படுகிறது, இதில் ஒரு வெற்று ரூட் பகிர்வு tmpfs ஐப் பயன்படுத்தி உருவாக்கப்படுகிறது. தேவைப்பட்டால், வெளிப்புற FS பகிர்வுகள் இந்த பகிர்வில் “mount —bind” முறையில் இணைக்கப்படும் (எடுத்துக்காட்டாக, “bwrap —ro-bind /usr /usr” விருப்பத்துடன் தொடங்கப்படும் போது, /usr பகிர்வு பிரதான அமைப்பிலிருந்து அனுப்பப்படும். படிக்க மட்டும் பயன்முறையில்). CLONE_NEWNET மற்றும் CLONE_NEWUTS கொடிகள் வழியாக நெட்வொர்க் ஸ்டாக் தனிமைப்படுத்தலுடன் லூப்பேக் இடைமுகத்தை அணுகுவதற்கு நெட்வொர்க் திறன்கள் வரையறுக்கப்பட்டுள்ளன.
ஒத்த திட்டத்திலிருந்து முக்கிய வேறுபாடு , இது ஒரு செட்யூட் லான்ச் மாடலையும் பயன்படுத்துகிறது, பப்பிள்வ்ராப்பில் கொள்கலன் உருவாக்கும் லேயரில் தேவையான குறைந்தபட்ச திறன்கள் மட்டுமே உள்ளன, மேலும் வரைகலை பயன்பாடுகளை இயக்குவதற்கும், டெஸ்க்டாப்புடன் தொடர்புகொள்வதற்கும், பல்சோடியோவுக்கு அழைப்புகளை வடிகட்டுவதற்கும் தேவையான அனைத்து மேம்பட்ட செயல்பாடுகளும் ஃப்ளாட்பாக் அவுட்சோர்ஸ் செய்யப்பட்டு செயல்படுத்தப்படுகின்றன. சலுகைகள் மீட்டமைக்கப்பட்ட பிறகு. ஃபயர்ஜெயில், மறுபுறம், ஒரு இயங்கக்கூடிய கோப்பில் தொடர்புடைய அனைத்து செயல்பாடுகளையும் ஒருங்கிணைக்கிறது, இது தணிக்கை மற்றும் பாதுகாப்பை பராமரிப்பதை கடினமாக்குகிறது. .
புதிய வெளியீடு, ஏற்கனவே உள்ள பயனர் பெயர்வெளிகள் மற்றும் செயல்முறை பிட் பெயர்வெளிகளில் இணைவதற்கான ஆதரவை செயல்படுத்துவது குறிப்பிடத்தக்கது. பெயர்வெளிகளின் இணைப்பைக் கட்டுப்படுத்த, "--பயனர்கள்", "--பயனர்கள்2" மற்றும் "-pidns" கொடிகள் சேர்க்கப்பட்டுள்ளன.
இந்த அம்சம் செட்யூட் பயன்முறையில் வேலை செய்யாது மற்றும் ரூட் உரிமைகளைப் பெறாமல் வேலை செய்யக்கூடிய தனி பயன்முறையைப் பயன்படுத்த வேண்டும், ஆனால் செயல்படுத்தல் தேவைப்படுகிறது.
கணினியில் பயனர் பெயர்வெளிகள் (டெபியன் மற்றும் RHEL/CentOS இல் இயல்புநிலையாக முடக்கப்பட்டது) மற்றும் சாத்தியத்தை விலக்கவில்லை "பயனர் பெயர்வெளிகள்" கட்டுப்பாடுகள் விளிம்பிற்கு. Bubblewrap 0.4 இன் புதிய அம்சங்களில் glibc க்குப் பதிலாக musl C லைப்ரரியைக் கொண்டு கட்டமைக்கும் திறன் மற்றும் JSON வடிவமைப்பில் உள்ள புள்ளிவிபரங்களைக் கொண்ட கோப்பில் பெயர்வெளித் தகவலைச் சேமிப்பதற்கான ஆதரவு ஆகியவை அடங்கும்.
ஆதாரம்: opennet.ru
