nosuid VPN સહાયકને root બનતા કેમ અટકાવે છે
એન્ક્રિપ્ટેડ હોમ અને nosuid માઉન્ટ બે અલગ ગુણધર્મો છે. સહાયકને વિશ્વસનીય ઇન્સ્ટોલ પથ અને તેના વિશેષાધિકાર બિટનું સન્માન કરતું લોન્ચ સંદર્ભ જોઈએ.
ડિસ્ક એન્ક્રિપ્શન અને nosuid માઉન્ટ એક જ વિચારની વિવિધતા જેવા સંભળાય છે, અને તેમનો કોઈ સંબંધ નથી. એક આરામમાં રહેલા ડેટાને રક્ષે છે, અને બીજું નક્કી કરે છે કે પ્રોગ્રામ શરૂ થાય તે ક્ષણે કર્નલ વિશેષાધિકાર બિટનું સન્માન કરશે કે નહીં. જે સહાયક તેની અપેક્ષિત ઓળખ સુધી પહોંચી શકતો નથી તે બીજા વિશે ફરિયાદ કરે છે. પહેલું જ જવાબદાર છે એવી ધારણા લોકોને એવા ક્લાયન્ટ ફરી ઇન્સ્ટોલ કરવા મોકલે છે જે ક્યારેય બગડ્યા ન હતા.
બે અસંબંધિત ગુણધર્મો
ડિસ્ક એન્ક્રિપ્શન જવાબ આપે છે કે મશીન બંધ હોય ત્યારે બ્લોક કોણ વાંચી શકે. માઉન્ટ વિકલ્પ જવાબ આપે છે કે કોઈ ફાઇલ ચલાવે ત્યારે કર્નલ તેના મોડ બિટ સાથે શું કરશે. પહેલામાં કંઈ પણ બીજાને મર્યાદિત કરતું નથી, અને સંપૂર્ણ એન્ક્રિપ્ટેડ લેપટોપ બધા પ્રતિબંધો સાથે ફાઇલ સિસ્ટમ માઉન્ટ કરી શકે છે.
બંનેને એક ગુણધર્મ તરીકે વાંચવાથી એ સિદ્ધાંત ઊભો થાય છે કે એન્ક્રિપ્ટેડ હોમ root પ્રવેશ અટકાવે છે. એ સિદ્ધાંત ટકે છે કારણ કે બંને લક્ષણ એક જ મશીન પર દેખાય છે, એટલા માટે નહીં કે તેમનું કારણ એક છે.
સંક્રમણને ખરેખર શું દબાવે છે
execve સંદર્ભ વર્ણવે છે કે કેવી રીતે set-user-ID ધરાવતી એક્ઝિક્યુટેબલ ફાઇલ નવી પ્રક્રિયાની અસરકારક ઓળખ ફાઇલના માલિકની બનાવે છે. એ જ પૃષ્ઠ એ શરતોની યાદી આપે છે જે એ સંક્રમણને દબાવે છે અને જૂથ ઓળખકર્તાઓ માટે સમકક્ષ શરતો: no_new_privs સેટિંગ, nosuid સાથે માઉન્ટ કરેલી ફાઇલ સિસ્ટમ, અને ટ્રેસ થતી પ્રક્રિયા. એ જ શરતોમાં ફાઇલ ક્ષમતાઓ અવગણવામાં આવે છે. એ ચાર નિયમો આ પ્રકારના લગભગ દરેક અહેવાલને આવરી લે છે.
એ યાદી સમજાવે છે કે ls છાપે છે તે મોડ ક્યારેય સમગ્ર અધિકૃતિની વાર્તા નથી. તે તમને કહેતું નથી કે કઈ શરતે ચોક્કસ નિષ્ફળતા સંદેશ સર્જ્યો, અને એપ્લિકેશન એ જ શબ્દોમાં અસંબંધિત ઓળખપત્ર ક્રિયાની જાણ કરી શકે છે. નિષ્કર્ષ કાઢતા પહેલાં ચોક્કસ પ્રોગ્રામ, લોન્ચર અને ભૂલ ક્રમ નોંધો.
સમર્થિત પેકેજે ઇન્સ્ટોલ કરેલી એક્ઝિક્યુટેબલ ફાઇલ, તેનો માલિક, તેનો વાસ્તવિક પથ અને તેને ધરાવતી ફાઇલ સિસ્ટમની નીતિ ઓળખો. ડાઉનલોડ ફોલ્ડરમાં પડેલી નકલ ઇન્સ્ટોલ થયેલો સહાયક નથી, તેનો મોડ શું કહે તે ગમે તે હો.
એ વિશે શું ન કરવું
ચકાસાયેલી ન હોય તેવી બાઇનરી પર set-user-ID બિટ મૂકવા અને પ્રતિબંધ અદૃશ્ય થાય ત્યાં સુધી તેને ઠેકાણે ઠેકાણે ખસેડવું એ સમારકામ નથી. તે તમે ન સમજ્યા હો તેવી નીતિને એવા વિશેષાધિકારથી બદલે છે જેનું તમે ઓડિટ કરી શકતા નથી, અને સહાયક પર લાગુ કરાયેલી એ જ ટેકનિક જાણીતો એસ્કેલેશન માર્ગ છે. માઉન્ટમાંથી nosuid દૂર કરવું વધુ ખરાબ છે, કારણ કે તે એ ફાઇલ સિસ્ટમના દરેક પ્રોગ્રામને અસર કરે છે, ફક્ત એકને નહીં.
સમર્થિત માર્ગ એ ક્લાયન્ટનું દસ્તાવેજીકૃત સહાયક અથવા સેવા ઇન્સ્ટોલેશન છે, જે વ્યવસ્થાપક કરે છે અને બાઇનરીને ત્યાં મૂકે છે જ્યાં નીતિ તેની અપેક્ષા રાખે છે. આમ બેને બદલે એક જ વિશેષાધિકાર પદ્ધતિ રહે છે.
વાસ્તવિક લોન્ચ સંદર્ભની પુષ્ટિ કરો
અધિકૃત સુધારા પછી સહાયકને root શેલમાંથી નહીં, પરંતુ ઉત્પાદન જે રીતે ચલાવે છે તે રીતે ચલાવો. root તરીકેની સફળતા સામાન્ય વપરાશકર્તા જે માર્ગ લે છે તે વિશે કંઈ પણ સાબિત કરતી નથી, અને એ બે સંદર્ભો વચ્ચેનો તફાવત એ જ છે જે નિષ્ફળતાનો વિષય હતો.
પછી સહાયક જે નેટવર્ક ક્રિયા માટે છે તેની પુષ્ટિ કરો. શરૂ થાય પણ ઇન્ટરફેસ ગોઠવી શકતું નથી તેવું સહાયક સમસ્યાને એક તબક્કો આગળ ખસેડ્યું છે, ઉકેલ્યું નથી.
findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper
માઉન્ટ વિકલ્પો અને સહાયકની માલિકી એક જ નોંધમાં લખો. નહીં તો આને ડિબગ કરનાર આગલી વ્યક્તિ એન્ક્રિપ્શનનો સિદ્ધાંત ફરીથી શરૂઆતથી દોહરાવશે.