sudo, &, -b или --daemon: како да го ставите OpenVPN клиентот во позадина
Амперсандот ја ослободува терминалната сесија, не најавувањето. Споредете sudo -b, --daemon и услужна инстанца според тоа кој го поседува процесот и кој одговара на барањата.
Во фразата „пушти го во позадина“ се кријат две прашања. Првото е дали овој корисник воопшто смее да стартува привилегиран процес; второто е дали сесијата може да продолжи без никој да пишува во терминал. Амперсандот во школката не одговара на ниту едно, а скриптата што чува sudo лозинка во променлива одговара лошо на првото и го остава второто недопрено. Одвојте ги и опциите стануваат лесни за споредба.
Споредете ги трите кандидати според сопственоста, а не според удобноста.
Три начини да го напуштите терминалот, три различни сопственици
Додавањето амперсанд на команда бара од школката да ја изврши како позадинска задача, а задачата и понатаму и припаѓа на таа школка. sudo може да праша дури пред програмата да започне, а OpenVPN може потоа да праша за лозинка на клуч или најавување. Ставање команда што очекува внес во позадина создава процес што чека терминал што никој не го гледа. Терминалот се ослободува; интеракцијата не.
Тоа е најевтината опција и онаа што не успева најзбунувачки, бидејќи барањето се појавува на место што операторот веќе го напуштил.
sudo -b не е ракувач со акредитиви
sudo -b ја извршува командата во позадина од гледна точка на самиот sudo, што звучи како функцијата што недостасува и не е. Според упатството за sudo, интерактивните команди обично се однесуваат лошо во тој режим, а контролата на задачите на школката не може да управува со процесите што ги создава. Тој го преместува процесот без да му даде начин да одговара на прашања. Ништо во него не обезбедува лозинка за приватен клуч или најава на порта.
Ако врската бара интеракција, решението е поддржана неинтерактивна поставеност за автентикација, а не друг начин да се стартува истото барање.
--daemon ја менува програмата, не најавувањето
--daemon бара од самиот OpenVPN да се оддели по иницијализацијата. Упатството за верзија 2.6 забележува дека пренасочувањето на syslog се случува при разгледување на опцијата, иако одделувањето се случува подоцна, па пораките можат да престанат да се појавуваат во терминалот порано од очекуваното. Тишината по таа точка не докажува ништо за тунелот. Додајте експлицитна --log или --log-append за да излезот стигне некаде каде што можете да го прочитате.
Режимот на демон исто така трајно ја отстранува конзолата. Заштитен приватен клуч во тој режим бара askpass , а акредитивите внесени од конзола заедно со опциите за кеширање можат да остават подоцнежна повторна автентикација без место да праша. Проверете го моделот за автентикација со инсталираната верзија пред да претпоставите дека позадинското стартување ќе го преживее првото обновување на клучот.
Што добива sudo валидацијата и што не
sudo -v валидира или освежува ги кешираните локални акредитиви, автентикувајќи се ако политиката го бара тоа. Не го стартува OpenVPN, не се автентикува со портата и не гарантира дека подоцнежната команда во скриптата е дозволена. sudo -n значи спротивното: не прашувај, туку не успевај. Тоа го прави локалниот неуспех на авторизација експлицитен, што е корисно, и не кажува ништо за тоа што OpenVPN ќе го побара подоцна.
Ниту една од опциите не е причина за доделување команди без лозинка на сите или за внесување администраторска лозинка во скрипта.
Претпочитајте сопственик што може да се набљудува
За тунел во сопственост на машина, користете ја услужната инстанца што ја поддржува дистрибуцијата. Таков сопственик обезбедува стартување, запирање, статус и дневници, и преживува по завршувањето на вашата сесија. Составувањето на позадинското извршување на школката, демонизацијата и циклусот за рестартирање еден околу друг создава три сопственици за еден тунел и нема јасен одговор кој работи.
Што и да изберете, проверете го ресурсот за кој постои тунелот. Успешното барање за стартување е настан на процесот, а не доказ за работна врска.