Gumagana ang buton ng VPN para sa administrator at nabibigo para sa lahat ng iba, kaya may nagdaragdag ng linya sa sudoers. Ang linyang iyon ay karaniwang mas matagal pa kaysa sa problemang dapat nitong lutasin, at madalas itong nagbibigay ng higit sa kailangan ng buton. Bago i-edit ang patakaran, tingnan kung kaya na ng sinusuportahang may-ari ng koneksyon ang gawain. Ang tatlong kondisyon sa ibaba ang magpapasya kung may kinalaman ba ang sudo.

Kondisyon 1: kaya ito ng sinusuportahang may-ari nang walang sudo

Sa karamihan ng desktop na Linux, pagmamay-ari na ng network manager ang mga koneksyong VPN, at dumadaan ang awtorisasyon nito sa polkit at hindi sa sudo. Maaaring gawin ito ng isang user na pinapayagang itaas ang koneksyon mula sa command line nang walang anumang tuntunin ng root. Tingnan kung ano ang pinapayagan ng manager bago ipagpalagay na kailangan ng buton ang pribilehiyo. Kung oo ang sagot, nilulutas ng pagbabago sa sudoers ang problemang wala naman.

nmcli connection show
nmcli connection up "Work VPN"

Kung tumanggi ang manager, basahin kung bakit: nawawalang tuntunin ng polkit, koneksyong pag-aari ng ibang user, o profile na naka-imbak sa lugar na hindi mabasa ng user. Bawat isa sa mga ito ay may sinusuportahang pagwawasto na mas makitid kaysa sa tuntunin ng sudo. Ang pagpapataas ng pribilehiyo ay huling paraan, hindi una.

Kondisyon 2: pinapangalanan ng tuntunin ang isang executable at ang mga argumento nito

Kung talagang kailangan ang sudo, dapat pangalanan ng tuntunin ang eksaktong utos at, kung posible, ang mga argumentong maaaring gamitin. Ang tuntuning nagpapahintulot sa user na magpatakbo ng wrapper script ay kasing-ligtas lamang ng mga pahintulot ng script na iyon, dahil maaaring i-edit ng user ang ipapatupad ng root. Ang tuntuning may wildcard pagkatapos ng utos ay parehong problema sa mas maikling anyo.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Tingnan ang bawat landas sa kadena ng utos: ang binary, ang script na tinatawagan nito, ang configuration file na binabasa nito at anumang direktoryo sa pagitan. Kung ang alinman sa mga ito ay maisusulat ng user, ang limitadong tuntunin ay sa praktika walang hanggang root. Mahalaga rin ang mga argumento, dahil ang utos na tumatanggap ng landas ng configuration ay maaaring itutok sa file na kontrolado ng user. Isulat ang tuntunin para sa operasyon, hindi para sa buton.

Huminto kung ang utos ay nangangailangan ng file na kontrolado ng user upang gumana. Kung gayon, mali ang disenyo, at walang sintaks ng sudoers ang makakagawa nitong ligtas.

Kondisyon 3: sinusuri ang buong patakaran, hindi lamang ang linya mo

I-validate gamit ang editor na nagla-lock ng file at sumusuri ng sintaks, at i-validate ang buong patakarang binuo at hindi isang bahagi. Ang file na kayang suriin nang mag-isa ay maaari pa ring makasira ng pagkakasunod-sunod ng pagsasama o makadoble ng tuntunin sa paraang nagbabago ang pag-uugali.manwal ng visudo ay dokumentado ang editor na nagla-lock at ang mode na pagsusuri lamang na ginagamit dito.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Iniuulat ng pagsusuri ang file at linya kapag nabigo ito, at ang ulat na iyon ang kapaki-pakinabang na bahagi. Ayusin ang sinadyang pagbabago sa pamamagitan ng editor sa halip na pilitin ang pag-save ng kilalang error, dahil ang sirang patakaran ay maaaring mag-lock sa lahat ng administrator nang sabay. Ang mga file sa direktoryo ng pagsasama ay nangangailangan din ng pagmamay-ari at mode na hinihingi ng manwal, kung hindi ay papansinin o tatanggihan ang mga ito. Ang sintaks ay unang gate lamang: pagkatapos nitong pumasa, basahin muli ang tuntunin at itanong kung ano talaga ang pinapayagan nito.

Huminto kung ang tanging paraan upang gumana ang pagbabago ay patayin ang pagsusuri ng sintaks. Hindi iyon patakaran, iyon ay pagkaantala na naghihintay ng reboot.

Pagbawi: panatilihin ang sesyon na gumagana pa

Bago mag-save, tiyakin na may bukas nang awtorisadong administratibong sesyon at may pangalawang daan papasok sa makina. Ang pagkakamali sa sudoers ay maaaring mag-alis sa iyo ng kakayahang ayusin ito, at ang buton sa desktop ay hindi katumbas ng panganib na iyon. Kung sira na ang sudo, gamitin ang dokumentadong landas ng pagbawi ng system sa halip na mag-imbento ng sarili.

sudo -n true
id

Ang mga alternatibong gaya ng pkexec ay nakadepende sa sarili nilang pag-install at patakaran, kaya hindi sila garantisadong pangalawang root prompt. Panatilihing hiwalay din ang lokal na awtorisasyon sa pagbibigay ng lihim ng VPN: ang tuntunin ng sudo ay hindi makakabukas ng agent ng lihim na wala, at hindi nito natutugunan ang MFA ng gateway. Pagkatapos ng pagwawasto, subukan ang normal na account na gumagawa lamang ng sinadyang operasyon, pagkatapos ay gamitin ang karaniwang mga kontrol ng manager.

Nagtatapos ang desisyon kapag masasabi mo kung aling kondisyon ang nagbigay-katwiran sa sudo, ano ang pinapangalanan ng tuntunin, na sinusuri ang buong patakaran, at paano ka makakabawi kung hindi. Ang pribilehiyadong launcher na nagkakahalaga sa iyo ng administratibong pag-access ay masamang palitan, at karaniwang maiiwasan ito.

Kaugnay na mga artikulo