«Bunu arka planda çalıştır» ifadesinde iki soru saklıdır. Birincisi, bu kullanıcının ayrıcalıklı bir süreci başlatıp başlatamayacağıdır; ikincisi, kimse terminale yazmadan oturumun sürüp süremeyeceğidir. Kabuk ampersandı ikisine de yanıt vermez ve sudo parolasını bir değişkende saklayan betik birinciye kötü yanıt verip ikinciyi dokunulmadan bırakır. Bunları ayırın, seçenekleri karşılaştırmak kolaylaşır.

Üç adayı kolaylığa göre değil, sahipliğe göre karşılaştırın.

Terminalden ayrılmanın üç yolu, üç farklı sahip

Bir komutun sonuna ampersand eklemek kabuktan onu arka plan işi olarak çalıştırmasını ister ve iş hâlâ o kabuğa aittir. sudo, program başlamadan önce bile sorabilir ve OpenVPN sonradan anahtar parolası veya oturum açma için sorabilir. Girdi bekleyen bir komutu arka plana almak, kimsenin izlemediği bir terminali bekleyen süreç üretir. Terminal serbest kalır; etkileşim kalmaz.

Bu en ucuz seçenektir ve en kafa karıştırıcı biçimde başarısız olanıdır, çünkü istem operatörün çoktan terk ettiği bir yerde belirir.

sudo -b bir kimlik bilgisi işleyicisi değildir

sudo -b komutu sudo'nun kendi bakış açısından arka planda çalıştırır, bu eksik özellik gibi kulağa gelir ama değildir. sudo kılavuzuna göre etkileşimli komutlar o kipte genellikle kötü davranır ve kabuğun iş denetimi oluşturduğu süreçleri yönetemez. Süreci, sorulara yanıt verme yolu vermeden taşır. İçinde özel anahtar parolası veya ağ geçidi oturumu sağlayan hiçbir şey yoktur.

Bağlantı etkileşim gerektiriyorsa çözüm, desteklenen etkileşimsiz bir kimlik doğrulama düzenidir; aynı istemi başlatmanın başka bir yolu değil.

--daemon programı değiştirir, oturum açmayı değil

--daemon başlatmadan sonra ayrılmasını OpenVPN'in kendisinden ister. 2.6 kılavuzu, syslog yönlendirmesinin seçenek ayrıştırılırken gerçekleştiğini, ayrılmanın ise daha sonra olduğunu belirtir, bu yüzden mesajlar terminalde beklenenden erken görünmeyi bırakabilir. O noktadan sonraki sessizlik tünel hakkında hiçbir şey kanıtlamaz. Açık bir --log veya --log-append ekleyin ki çıktı okuyabileceğiniz bir yere düşsün.

Daemon kipi konsolu da kalıcı olarak kaldırır. Korumalı özel anahtar o kipte askpass gerektirir ve konsoldan girilen kimlik bilgileri önbellek seçenekleriyle birleştiğinde sonraki bir yeniden kimlik doğrulamayı soracak yer olmadan bırakabilir. Arka plan başlatmasının ilk anahtar yenilemesini atlatacağını varsaymadan önce kimlik doğrulama modelini kurulu sürümle karşılaştırın.

sudo doğrulamasının ne sağladığı ve ne sağlamadığı

sudo -v önbelleğe alınmış yerel kimlik bilgisini doğrular veya yeniler, ilke gerektiriyorsa kimlik doğrular. OpenVPN'i başlatmaz, ağ geçidine kimlik doğrulamaz ve betikteki sonraki komutun izinli olacağını garanti etmez. sudo -n tersini ifade eder: sorma, başarısız ol. Bu, yerel bir yetkilendirme hatasını açık hale getirir, ki bu yararlıdır ve OpenVPN'in sonradan ne isteyeceği hakkında hiçbir şey söylemez.

Hiçbir seçenek herkese parolasız komutlar vermenin veya yönetici parolasını bir betiğe aktarmanın gerekçesi değildir.

Gözlemlenebilen bir sahibi tercih edin

Makineye ait bir tünel için dağıtımın desteklediği hizmet örneğini kullanın. Böyle bir sahip başlatma, durdurma, durum ve günlükler sunar ve oturumunuz bittiğinde de ayakta kalır. Kabuk arka plan çalıştırmasını, daemonlaştırmayı ve yeniden başlatma döngüsünü birbirinin etrafına kurmak, tek bir tünel için üç sahip yaratır ve hangisinin çalıştığına dair net bir yanıt bırakmaz.

Ne seçerseniz seçin, tünelin var olma nedeni olan kaynağı doğrulayın. Başarılı bir başlatma isteği bir süreç olayıdır, çalışan bir bağlantının kanıtı değildir.

İlgili makaleler