May dalawang tanong na nakatago sa pariralang ‘patakbuhin ito sa background’. Ang una ay kung makapagsimula nga ba ng privileged na proseso ang user na ito; ang pangalawa ay kung maaaring magpatuloy ang session nang walang sinumang nagta-type sa terminal. Hindi sinasagot ng ampersand ng shell ang alinman, at ang script na nag-iimbak ng sudo password sa isang variable ay mahinang sumasagot sa una at hindi ginagalaw ang pangalawa. Paghiwalayin ang mga ito at magiging madaling ihambing ang mga opsyon.

Ihambing ang tatlong kandidato sa pagmamay-ari, hindi sa kaginhawahan.

Tatlong paraan upang umalis sa terminal, tatlong magkaibang may-ari

Ang pagdaragdag ng ampersand sa isang command ay humihiling sa shell na patakbuhin ito bilang background job, at pag-aari pa rin ng shell na iyon ang trabaho. Maaaring magtanong ang sudo bago pa magsimula ang programa, at OpenVPN ay maaaring magtanong pagkatapos para sa key passphrase o login. Ang paglalagay sa background ng command na naghihintay ng input ay gumagawa ng prosesong naghihintay sa terminal na walang nanonood. Napapalaya ang terminal; hindi ang interaksyon.

Iyon ang pinakamurang opsyon at ang pinakalitong nabibigo, dahil lumilitaw ang prompt sa lugar na iniwan na ng operator.

Ang sudo -b ay hindi tagapangasiwa ng credential

sudo -b pinapatakbo ang command sa background mula sa pananaw ng sudo mismo, na parang ang nawawalang feature at hindi naman. Ayon sa sudo manual, karaniwang hindi maayos ang pag-uugali ng mga interactive na command sa mode na iyon, at hindi kayang pamahalaan ng shell job control ang mga prosesong nililikha nito. Inililipat nito ang proseso nang walang paraan upang sumagot sa mga tanong. Wala itong ibinibigay na passphrase ng private key o login sa gateway.

Kung kailangan ng interaksyon ng koneksyon, ang solusyon ay isang sinusuportahang non-interactive na authentication setup, hindi ibang paraan ng paglunsad ng parehong prompt.

Binabago ng --daemon ang programa, hindi ang login

--daemon hinihiling sa OpenVPN mismo na humiwalay pagkatapos ng initialization. Tandaan ng manual ng bersyon 2.6 na nangyayari ang syslog redirection kapag na-parse ang opsyon, kahit mas huli ang paghiwalay, kaya maaaring tumigil nang lumitaw ang mga mensahe sa terminal nang mas maaga kaysa inaasahan. Walang pinatutunayan ang katahimikan pagkatapos ng puntong iyon tungkol sa tunnel. Magdagdag ng --log o --log-append na tahasan upang mapunta ang output sa lugar na mababasa mo.

Tinatanggal din ng daemon mode ang console nang permanente. Kailangan ng protektadong private key ang askpass sa mode na iyon, at ang mga credential na inilagay mula sa console kasama ng mga cache option ay maaaring mag-iwan ng susunod na reauthentication na walang matatanungan. Suriin ang authentication model laban sa naka-install na bersyon bago ipagpalagay na makakaligtas ang background start sa unang key renewal nito.

Ano ang binibili ng sudo validation at ano ang hindi

sudo -v bini-validate o nire-refresh ang naka-cache na lokal na credential, nag-a-authenticate kung kailangan ito ng patakaran. Hindi nito sinisimulan ang OpenVPN, hindi nag-a-authenticate sa gateway, at hindi ginagarantiyahan na papayagan ang susunod na command sa script. sudo -n ay nangangahulugang kabaligtaran: huwag magtanong, mabigo. Ginagawa nitong tahasan ang lokal na kabiguan sa authorization, na kapaki-pakinabang, at wala itong sinasabi tungkol sa hihilingin ng OpenVPN mamaya.

Wala sa dalawang opsyon ang dahilan para bigyan ang lahat ng command na walang password o ilagay ang administrator password sa isang script.

Mas piliin ang may-aring maaaring obserbahan

Para sa tunnel na pag-aari ng makina, gamitin ang service instance na sinusuportahan ng distribution. Nagbibigay ang naturang may-ari ng start, stop, status at mga log, at nakakaligtas ito kapag natapos ang iyong session. Ang pagsasama-sama ng shell backgrounding, daemonization at restart loop sa isa't isa ay lumilikha ng tatlong may-ari para sa isang tunnel at walang malinaw na sagot kung alin ang tumatakbo.

Anuman ang piliin mo, i-verify ang resource na pinaglilingkuran ng tunnel. Ang matagumpay na start request ay isang pangyayari ng proseso, hindi patunay ng gumaganang koneksyon.

Kaugnay na mga artikulo