Varsayım kolayca benimsenir ve fark edilmesi zordur: bir VPN bağlantı kancası root olarak çalışır, bu yüzden başlattığı bağlama da root olarak düzenlenmelidir. Bu akıl yürütme, masaüstü kullanıcısının açamadığı bir ekip dizini, tetikleyici hizmet yeniden başladığında kaybolan bir bağlama ve kimsenin yanıtlayamadığı bir bağlamda kimlik doğrulama istemi üretir. Kanca ile bağlama iki farklı iştir ve yalnızca birinin ayrıcalığa ihtiyacı vardır.

Efsane: ağ ayrıcalığı mount ayrıcalığı demektir

Bir arabirimi yükseltmek ile bir dosya sunucusunda kimlik doğrulamak ilgisiz yeteneklerdir ve genellikle farklı hesaplara aittir. VPN bileşeninin yolları ve arabirimleri değiştirmek için yeterli ayrıcalığa ihtiyacı vardır. Dosya sunucusu hesabının bir anahtara veya parolaya, ana makine anahtarı hakkında bir karara ve bağlanacak bir ev dizinine ihtiyacı vardır. İkinci işin kimlik bilgilerini birinci kimliğe vermek, bir ağ hizmetinin kullanıcının anahtarını tutmasıyla sonuçlanmasının yoludur.

Tek kullanıcılı bir dizüstü bilgisayarda bunlar aynı hesap olabilir ve bu tesadüf bir tasarım değildir.

Ayrıcalıklı bir kanca bağlamayı yaptığında üç şey sessizce ters gider. Bağlama root'a aittir, kullanıcının aracısı o ortamda yoktur ve hatalar ilgilenen oturumda değil ağ hizmetinin günlüğünde görünür. Bunların hiçbiri bağlama komutuna seçenek eklemekle düzeltilmez. İş, kimliğe sahip oturuma verilerek düzeltilir.

Bağlama neden oturum açmış kullanıcıya aittir

Bir SSHFS bağlaması, onu oluşturan sürece ait bir FUSE bağlamasıdır ve erişim üst dizinin kipine değil bu sahipliğe uyar. Başvuru, bağlama noktası kendisine ait olan normal bir kullanıcı önerir ve root süreci tarafından oluşturulan bir bağlamanın diğer herkes için elverişsiz olmasının nedeni tam olarak budur. Bağlama noktasındaki izin değişikliği bunu düzeltmez, çünkü engel bağlamanın kendi sahibidir.

Kullanıcı oturumunun içinde elle bir temel çizgiyle başlayın: ev dizini altında var olan boş bir bağlama noktası, sunucuda yetkili bir hesap ve onaylanmış sürecinizle zaten doğrulanmış bir ana makine anahtarı. Bir kez elle bağlayın ve kullanın, çünkü bu herhangi bir otomasyon yokken kimlik yolunun çalıştığını kanıtlar. Komutun neye ihtiyaç duyduğunu not edin: hesap adı, dışa aktarma yolu ve özel ana makine adı. Otomatik sürüm için tam olarak bu bağlamı koruyun, çünkü çalışan bir elle bağlama tetikleyicinin yeniden üretmesi gereken spesifikasyondur.

sshfs [email protected]:/exports/team "$HOME/mnt/team"

O satırdaki her adı ve yolu yer tutucu olarak değerlendirin, hesap ve dışa aktarma dahil. Bir VPN hesabı parolası otomatik olarak depolama hesabının kimlik bilgisi değildir.

Tetikleyici oturumdan ne istemeli

Desteklenen düzen, ağ olayından kullanıcı oturumuna bir istek olup ödünç alınmış bir kimlik bilgisi değildir. Tetikleyiciyi kastettiğiniz bağlantıyla sınırlayın, ad veya UUID ile, tesadüfen tun0 adını taşıyan herhangi bir arabirimle değil. Bu tek değişiklik ikinci bir profilin, bir test tünelinin veya bir iş arkadaşınızın hata ayıklama oturumunun bağlama başlatmasını engeller.

Oturum tarafındaki eylem amaçlanan mevcut bağlamayı aramalı ve ardından tek bir sınırlı deneme yapmalıdır.

Her yoklamada yeniden denemeyin ve sunucuya ulaşılamadığı sürece kimlik bilgisi istemeye devam etmeyin, çünkü ikisi de geçici bir kesintiyi hesap kilidine dönüştürür. Gözetimsiz bir hizmet, kendi onaylanmış kimlik bilgilerine ve kendi yürütme bağlamında kendi ana makine doğrulama düzenine sahip ayrı bir tasarımdır ve birinin grafik aracıyı açtığına güvenemez. Kodun nerede yaşayacağını seçmeden önce ikisinden hangisini inşa ettiğinize karar verin. Buradaki karışıklığın çoğu birini inşa edip diğerini beklemekten kaynaklanır.

Bağlantıyı kesmek bir dosya sistemi olayıdır, kanca olayı değil

Planlanmış bir bağlantı kesme, dosya işlemlerini bitirmeli ve bağlayan kullanıcının oturumundan o dosya sistemi türü için desteklenen komutla bağlantıyı çözmelidir. Bir kancanın hızla dönmesi için ayırmayı zorlamak, uygulamaların çalışma dizinini ve kullanıcıların otomasyona güvenini kaybetmesinin yoludur. Meşgul bir bağlama, dosyayı kapatmak veya yazmayı durdurmak gibi uygulama düzeyinde bir karar gerektirir, daha güçlü bir sinyal değil. Kancanın çıkış durumu optimize edilen şey değildir.

fusermount3 -u "$HOME/mnt/team"

Beklenmeyen kayıp farklı bir durumdur ve SSHFS, kesintiye uğramış bir işlemin taşıma yeniden bağlanırken bloke olabileceğini belgeler.

Yeniden bağlanma seçeneği taşımayı geri yükler ve o yeniden bağlanmadan önce açılan dosyalar hâlâ hata döndürebilir ve yeniden açılmaları gerekebilir. Geri dönen bir VPN, önceki tanıtıcılar veya kaydedilmemiş iş hakkında hiçbir şey kanıtlamaz. Bir kesinti sırasında istediğiniz davranışı seçin — duraklatma, hata gösterme veya bilerek yeniden bağlama — ve herhangi bir şey ona bağlı olmadan önce tek kullanımlık dosyalarla test edin.

İlgili makaleler