VPN બટનને sudo જોઈએ: નિયમનો દાયરો નક્કી કરો, નીતિ ચકાસો
ડેસ્કટોપનું બટન પાસવર્ડ વગરના root માટે કારણ નથી. તપાસો કે નેટવર્ક મેનેજર પોતે આ કરી શકે છે કે નહીં, એક આદેશનો દાયરો નક્કી કરો, પછી આખી sudo નીતિ ચકાસો.
VPN બટન એડમિનિસ્ટ્રેટર માટે કામ કરે છે અને બાકીના બધા માટે નિષ્ફળ જાય છે, તેથી કોઈ sudoers માં એક લીટી ઉમેરે છે. એ લીટી સામાન્ય રીતે જે સમસ્યા ઉકેલવાની હતી તેના કરતાં વધુ જીવે છે, અને ઘણી વાર બટનને જરૂર હોય તેના કરતાં વધુ અધિકાર આપે છે. નીતિ સંપાદિત કરતાં પહેલાં તપાસો કે સપોર્ટેડ કનેક્શન માલિક આ કામ પહેલેથી કરી શકે છે કે નહીં. નીચેની ત્રણ શરતો નક્કી કરે છે કે sudo સામેલ છે કે નહીં.
શરત 1: સપોર્ટેડ માલિક sudo વગર આ કરી શકે છે
મોટાભાગના Linux ડેસ્કટોપ પર નેટવર્ક મેનેજર પહેલેથી જ VPN કનેક્શનનો માલિક છે, અને તેની અધિકૃતિ sudo ને બદલે polkit દ્વારા જાય છે. જે વપરાશકર્તાને કનેક્શન ઉપર લાવવાની પરવાનગી છે તે કોઈ પણ root નિયમ વગર આદેશ લાઇનથી આ કરી શકે છે. બટનને વિશેષાધિકાર જોઈએ છે એમ માનતા પહેલાં તપાસો કે મેનેજર શું પરવાનગી આપે છે. જવાબ હા હોય તો sudoers નો ફેરફાર એવી સમસ્યા ઉકેલે છે જે અસ્તિત્વમાં નથી.
nmcli connection show
nmcli connection up "Work VPN"
જો મેનેજર ના પાડે, તો કારણ વાંચો: ખૂટતો polkit નિયમ, બીજા વપરાશકર્તાની માલિકીનું કનેક્શન અથવા એવી જગ્યાએ સંગ્રહિત પ્રોફાઇલ જ્યાં વપરાશકર્તા તેને વાંચી શકતો નથી. આમાંથી દરેક માટે sudo નિયમ કરતાં સાંકડો સપોર્ટેડ ઉપાય છે. વિશેષાધિકાર વધારવો છેલ્લો ઉપાય છે, પહેલો નહીં.
શરત 2: નિયમ એક એક્ઝિક્યુટેબલ અને તેના આર્ગ્યુમેન્ટનું નામ લે છે
જો sudo ખરેખર જરૂરી હોય, તો નિયમે ચોક્કસ આદેશ અને, જ્યાં શક્ય હોય ત્યાં, તે વાપરી શકે તેવા આર્ગ્યુમેન્ટનું નામ લેવું જોઈએ. જે નિયમ વપરાશકર્તાને રેપર સ્ક્રિપ્ટ ચલાવવા દે છે તે એ સ્ક્રિપ્ટની પરવાનગીઓ જેટલો જ સુરક્ષિત છે, કારણ કે વપરાશકર્તા root શું ચલાવશે તે સંપાદિત કરી શકે છે. આદેશ પછી વાઇલ્ડકાર્ડ ધરાવતો નિયમ એ જ સમસ્યાનું ટૂંકું સ્વરૂપ છે.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
આદેશની સાંકળમાં દરેક પાથ તપાસો: બાઇનરી, તે જે સ્ક્રિપ્ટને બોલાવે છે, તે જે કન્ફિગરેશન ફાઇલ વાંચે છે અને તેમની વચ્ચેની કોઈ પણ ડિરેક્ટરી. જો તેમાંથી કોઈ વપરાશકર્તા દ્વારા લખી શકાય તેવું હોય, તો મર્યાદિત નિયમ વાસ્તવમાં અમર્યાદિત root છે. આર્ગ્યુમેન્ટ પણ મહત્વના છે, કારણ કે કન્ફિગ પાથ સ્વીકારતો આદેશ વપરાશકર્તા નિયંત્રિત ફાઇલ તરફ વાળી શકાય છે. નિયમ બટન માટે નહીં, કામગીરી માટે લખો.
જો આદેશને કામ કરવા માટે વપરાશકર્તા નિયંત્રિત ફાઇલની જરૂર હોય તો થોભો. ત્યારે ડિઝાઇન ખોટી છે, અને કોઈ sudoers સિન્ટેક્સ તેને સુરક્ષિત બનાવશે નહીં.
શરત 3: આખી નીતિ પાર્સ થાય છે, ફક્ત તમારી લીટી નહીં
જે એડિટર ફાઇલને લૉક કરે છે અને સિન્ટેક્સ તપાસે છે તેની સાથે ચકાસો, અને ટુકડા નહીં, એસેમ્બલ કરેલી નીતિ ચકાસો. જે ફાઇલ એકલી પાર્સ થાય છે તે હજી પણ ઇન્ક્લુડ ક્રમ તોડી શકે છે અથવા નિયમને એવી રીતે નકલ કરી શકે છે જે વર્તન બદલે.visudo મેન્યુઅલ અહીં વપરાયેલ લૉકિંગ એડિટર અને ફક્ત-ચકાસણી મોડ બંનેનું દસ્તાવેજીકરણ કરે છે.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
ચકાસણી નિષ્ફળ જાય ત્યારે ફાઇલ અને લીટી જણાવે છે, અને એ અહેવાલ જ ઉપયોગી ભાગ છે. જાણીતી ભૂલને જબરદસ્તીથી સાચવવાને બદલે એડિટર દ્વારા ઇચ્છિત ફેરફાર સુધારો, કારણ કે તૂટેલી નીતિ એક સાથે બધા એડમિનિસ્ટ્રેટરને બહાર લોક કરી શકે છે. ઇન્ક્લુડ ડિરેક્ટરી હેઠળની ફાઇલોને પણ મેન્યુઅલ માંગે તે માલિકી અને મોડ જોઈએ, નહીં તો તેમને અવગણવામાં આવશે અથવા નકારવામાં આવશે. સિન્ટેક્સ ફક્ત પહેલું દરવાજું છે: તે પસાર થયા પછી નિયમ ફરી વાંચો અને પૂછો કે તે ખરેખર શું પરવાનગી આપે છે.
જો ફેરફાર કામ કરે તેનો એકમાત્ર રસ્તો સિન્ટેક્સ ચકાસણી બંધ કરવી હોય તો થોભો. એ નીતિ નથી, એ રીબૂટની રાહ જોતી અટકાવ છે.
પુનઃપ્રાપ્તિ: હજી કામ કરતું સત્ર રાખો
સાચવતા પહેલાં ખાતરી કરો કે અધિકૃત વ્યવસ્થાપકીય સત્ર પહેલેથી ખુલ્લું છે અને મશીનમાં બીજો રસ્તો અસ્તિત્વમાં છે. sudoers ની ભૂલ તમને તેને સુધારવાની ક્ષમતા છીનવી શકે છે, અને ડેસ્કટોપનું બટન એ જોખમને લાયક નથી. જો sudo પહેલેથી તૂટેલું હોય, તો પોતાનું બનાવવાને બદલે સિસ્ટમનો દસ્તાવેજી પુનઃપ્રાપ્તિ રસ્તો વાપરો.
sudo -n true
id
pkexec જેવા વિકલ્પો પોતાના ઇન્સ્ટોલેશન અને નીતિ પર આધાર રાખે છે, તેથી તે ખાતરીપૂર્વકનું બીજું root પ્રોમ્પ્ટ નથી. સ્થાનિક અધિકૃતિને VPN રહસ્ય પૂરું પાડવાથી પણ અલગ રાખો: sudo નિયમ ગેરહાજર સિક્રેટ એજન્ટને ખોલી શકતો નથી અને ગેટવેના MFAને સંતોષતો નથી. સુધારા પછી સામાન્ય ખાતાને ફક્ત ઇચ્છિત ક્રિયા કરતું પરીક્ષણ કરો, પછી મેનેજરના સામાન્ય નિયંત્રણો વાપરો.
નિર્ણય ત્યારે પૂરો થાય છે જ્યારે તમે કહી શકો કે કઈ શરતે sudo ને ન્યાય આપ્યો, નિયમ શું નામ લે છે, આખી નીતિ પાર્સ થાય છે, અને ન થાય તો તમે કેવી રીતે પુનઃપ્રાપ્ત કરો. જે વિશેષાધિકારપ્રાપ્ત લોન્ચર તમારો વ્યવસ્થાપકીય પ્રવેશ છીનવે છે તે ખરાબ સોદો છે, અને સામાન્ય રીતે તે ટાળી શકાય છે.