Bọ́tìnnì VPN nílò sudo: dín òfin kù, ṣàyẹ̀wò ìlànà náà
Bọ́tìnnì lórí desktop kì í ṣe ìdí fún root láìsí ọ̀rọ̀ ìpamọ́. Ṣàyẹ̀wò bóyá olùṣàkóso nẹ́tíwọ́kì lè ṣe é fúnra rẹ̀, dín àṣẹ kan kù, kí o sì ṣàyẹ̀wò gbogbo ìlànà sudo.
Bọ́tìnnì VPN ń ṣiṣẹ́ fún alábòójútó, ó sì ń kùnà fún gbogbo ẹlòmíràn, nítorí náà ẹnìkan ń fi ìlà kún sudoers. Ìlà yẹn sábà máa ń gbé pẹ́ ju ìṣòro tí wọ́n dá a fún lọ, ó sì máa ń fún ní àṣẹ tó pọ̀ ju ohun tí bọ́tìnnì nílò lọ. Kí o tó ṣàtúnṣe ìlànà náà, ṣàyẹ̀wò bóyá ẹni tó ni ìsopọ̀ tí wọ́n ń gbà lè ṣe iṣẹ́ náà tẹ́lẹ̀. Àwọn ìpinnu mẹ́ta tó wà nísàlẹ̀ yìí ni yóò pinnu bóyá sudo kópa rárá.
Ìpinnu 1: ẹni tí wọ́n ń gbà lè ṣe é láìsí sudo
Lórí ọ̀pọ̀ desktop Linux, olùṣàkóso nẹ́tíwọ́kì ti ni àwọn ìsopọ̀ VPN tẹ́lẹ̀, àṣẹ rẹ̀ sì ń gba polkit kọjá sudo. Olùmúlò tí wọ́n fún ní àṣẹ láti gbé ìsopọ̀ sókè lè ṣe é láti orí ìlà àṣẹ láìsí òfin root kankan. Ṣàyẹ̀wò ohun tí olùṣàkóso ń gbà kí o tó rò pé bọ́tìnnì nílò àṣẹ àkànṣe. Bí ìdáhùn bá jẹ́ bẹ́ẹ̀ ni, ìyípadà sudoers ń yanjú ìṣòro tí kò sí.
nmcli connection show
nmcli connection up "Work VPN"
Bí olùṣàkóso bá kọ̀, ka ìdí: òfin polkit tó ṣẹ́ kù, ìsopọ̀ tí olùmúlò mìíràn ni, tàbí profáìlì tí wọ́n fi pamọ́ síbi tí olùmúlò kò lè kà á. Ọ̀kọ̀ọ̀kan wọ́n ní àtúnṣe tí wọ́n ń gbà tó sún mọ́ ju òfin sudo lọ. Gbígbé àṣẹ ga ni ọ̀nà ìkẹyìn, kì í ṣe èkínní.
Ìpinnu 2: òfin náà dárúkọ fáìlì kan tí wọ́n ń ṣiṣẹ́ àti àwọn àríyànjiyàn rẹ̀
Bí sudo bá nílò ní ti gidi, òfin yẹ kí ó dárúkọ àṣẹ gbòòrò náà àti, níbi tó bá ṣeé ṣe, àwọn àríyànjiyàn tí ó lè lò. Òfin tí ń jẹ́ kí olùmúlò ṣiṣẹ́ script ìbòjú kan wà ní ààbò tó tó àwọn àṣẹ script yẹn, nítorí olùmúlò lè ṣàtúnṣe ohun tí root yóò ṣe. Òfin tí ó ní ààmì gbogbo-ǹkan lẹ́yìn àṣẹ ni ìṣòro kan náà ní ìrísí kúkúrú.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
Ṣàyẹ̀wò gbogbo ọ̀nà nínú ẹ̀wọ̀n àṣẹ: bínárìì, script tí ó ń pè, fáìlì ìṣètò tí ó ń kà àti fódà èyíkéyìí tó wà láàrin wọn. Bí olùmúlò bá lè kọ sóra èyíkéyìí nínú wọn, òfin tí wọ́n dín kù náà ni root láìní ààlà ní ti gidi. Àwọn àríyànjiyàn pẹ̀lú ṣe pàtàkì, nítorí àṣẹ tí ó gba ọ̀nà ìṣètò lè darí sí fáìlì tí olùmúlò ń ṣàkóso. Kọ òfin fún iṣẹ́ náà, kì í ṣe fún bọ́tìnnì.
Dúró bí àṣẹ náà bá nílò fáìlì tí olùmúlò ń ṣàkóso láti ṣiṣẹ́. Nígbà náà àpẹẹrẹ náà kò tọ́, kò sì sí ìṣètò sudoers tí yóò sọ ọ́ di ààbò.
Ìpinnu 3: gbogbo ìlànà ni wọ́n ń ṣàyẹ̀wò, kì í ṣe ìlà rẹ nìkan
Ṣàyẹ̀wò pẹ̀lú olùṣàtúnṣe tí ń tì fáìlì pa àti ń ṣàyẹ̀wò ìṣètò, kí o sì ṣàyẹ̀wò ìlànà tí wọ́n ti kó jọ dípò ẹ̀ka kan. Fáìlì tí ń ṣàyẹ̀wò fúnra rẹ̀ ṣì lè ba ìtòlẹ́sẹẹsẹ ìkójọ jẹ́ tàbí ó tún òfin ṣe lọ́nà tí yóò yí ìhùwàsí padà.ìwé ìtọ́nisọ́nà visudo ṣàlàyé olùṣàtúnṣe tí ń tì pa àti ipò ṣàyẹ̀wò-nìkan tí wọ́n ń lò níbí.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
Ṣàyẹ̀wò náà ń sọ fáìlì àti ìlà nígbà tí ó bá kùnà, ìròyìn yẹn sì ni apá tó wúlò. Ṣàtúnṣe ìyípadà tí wọ́n ní lọ́kàn nípasẹ̀ olùṣàtúnṣe dípò kí o fi agbára fi àṣìṣe tí a mọ̀ pamọ́, nítorí ìlànà tí ó bàjẹ́ lè ti gbogbo alábòójútó pa kúrò lẹ́ẹ̀kan náà. Àwọn fáìlì nínú fódà ìkójọ pẹ̀lú nílò ẹ̀tọ́ àti ipò tí ìwé ìtọ́nisọ́nà béèrè, bí bẹ́ẹ̀ kọ́ wọ́n máa pà wọ́n tì tàbí kí wọ́n kọ̀ wọ́n. Ìṣètò ni ẹnubodè àkọ́kọ́ nìkan: tí ó bá kọjá, ka òfin náà lẹ́ẹ̀kan sí i kí o sì béèrè ohun tí ó ń gbà ní ti gidi.
Dúró bí ọ̀nà kan ṣoṣo láti mú kí ìyípadà ṣiṣẹ́ bá jẹ́ pípa ṣàyẹ̀wò ìṣètò. Ìyẹn kì í ṣe ìlànà, ìdálẹ́sẹ̀ ni tí ń dúró de àtúnbẹ̀rẹ̀.
Ìmúpadàbọ̀: pa ìpàdé kan tí ó ṣì ń ṣiṣẹ́ mọ́
Kí o tó fi pamọ́, rí i dájú pé ìpàdé ìṣàkóso tí wọ́n fọwọ́ sí ti ṣí tẹ́lẹ̀ àti pé ọ̀nà kejì wà láti wọ inú ẹ̀rọ náà. Àṣìṣe sudoers lè gba agbára rẹ láti tún un ṣe, bọ́tìnnì lórí desktop kò sì tó ewu yẹn. Bí sudo bá ti bàjẹ́ tẹ́lẹ̀, lo ọ̀nà ìmúpadàbọ̀ tí wọ́n kọ sílẹ̀ fún ẹ̀rọ náà dípò kí o ṣe tìrẹ.
sudo -n true
id
Àwọn àyànfẹ́ bí pkexec sinmi lórí ìfisọ́lẹ̀ àti ìlànà wọn fúnra wọn, nítorí náà wọn kì í ṣe ìbeèrè root kejì tí wọ́n dá ààbò fún. Tọ́jú àṣẹ àdúgbò lọ́tọ̀ kúrò nínú fífúnni ní àṣírí VPN pẹ̀lú: òfin sudo kò lè ṣí aṣojú àṣírí tí kò sí, kò sì tẹ́ MFA ti ẹnubodè lọ́rùn. Lẹ́yìn àtúnṣe, dán àkọsílẹ̀ dédé wò ní ṣíṣe iṣẹ́ tí wọ́n ní lọ́kàn nìkan, kí o sì lo àwọn ìṣàkóso dédé ti olùṣàkóso.
Ìpinnu dópin nígbà tí o bá lè sọ ìpinnu wo ló dá sudo láre, ohun tí òfin ń dárúkọ, pé gbogbo ìlànà ni wọ́n ń ṣàyẹ̀wò, àti bí o ṣe máa mú padà bí kò bá rí bẹ́ẹ̀. Olùgbékalẹ̀ aláṣẹ tí ó ná ọ ní àǹfààní ìṣàkóso jẹ́ òwò burú, ó sì sábà ṣeé yẹ̀ sí.