Disk şifreleme ile nosuid bağlaması aynı fikrin varyasyonları gibi kulağa gelir ve hiçbir ilgileri yoktur. Biri durağan durumdaki verileri korur, diğeri ise bir program başladığı anda çekirdeğin ayrıcalık bitine saygı duyup duymayacağına karar verir. Beklediği kimliğe ulaşamayan yardımcı ikincisinden şikayet etmektedir. Birincisinin sorumlu olduğu varsayımı, insanları hiç bozulmamış istemcileri yeniden kurmaya gönderir.

İlgisiz İki Özellik

Disk şifreleme, makine kapalıyken blokları kimin okuyabileceğini yanıtlar. Bağlama seçeneği, biri dosyayı çalıştırdığında çekirdeğin dosyanın izin bitleriyle ne yapacağını yanıtlar. Birincideki hiçbir şey ikinciyi kısıtlamaz ve tamamen şifrelenmiş bir dizüstü bilgisayar tüm kısıtlamalar yerindeyken bir dosya sistemi bağlayabilir.

İkisini tek bir özellik olarak okumak, şifrelenmiş bir ev dizininin root erişimini engellediği teorisini üretir. Bu teori, iki belirti aynı makinede göründüğü için ayakta kalır, ortak bir nedeni olduğu için değil.

Geçişi Gerçekte Ne Bastırır

execve başvuru sayfası, set-user-ID’li bir çalıştırılabilir dosyanın yeni sürecin etkin kimliğini dosyanın sahibine nasıl değiştirdiğini açıklar. Aynı sayfa bu geçişi bastıran koşulları ve grup kimlikleri için eşdeğerini listeler: no_new_privs ayarı, nosuid ile bağlanmış bir dosya sistemi ve izlenen bir süreç. Dosya yetenekleri de aynı koşullar altında yok sayılır. Bu dört kural bu türdeki neredeyse her raporu kapsar.

Bu liste, ls’in yazdırdığı modun neden asla yetkilendirmenin tamamı olmadığını açıklar. Hangi koşulun belirli bir hata iletisine yol açtığını söylemez ve uygulama aynı sözcüklerle ilgisiz bir kimlik bilgisi işlemi bildiriyor olabilir. Bir sonuca varmadan önce tam programı, başlatıcıyı ve hata dizisini not edin.

Desteklenen paketin kurduğu çalıştırılabilir dosyayı, sahibini, gerçek yolunu ve onu barındıran dosya sisteminin ilkesini belirleyin. İndirme klasöründe duran bir kopya, modu ne derse desin, kurulu yardımcı değildir.

Ne Yapılmamalı

Doğrulanmamış bir ikili dosyaya set-user-ID bitleri koymak ve kısıtlama kaybolana kadar onu oradan oraya taşımak bir onarım değildir. Anlamadığınız bir ilkeyi denetleyemediğiniz bir ayrıcalıkla değiştirir ve aynı tekniğin bir yardımcıya uygulanması bilinen bir yükseltme yoludur. nosuid’i bir bağlamadan kaldırmak daha kötüdür, çünkü yalnızca birini değil o dosya sistemindeki her programı etkiler.

Desteklenen yol, istemcinin belgelenmiş yardımcı veya hizmet kurulumudur; bunu bir yönetici yapar ve ikili dosyayı ilkenin beklediği yere koyar. Böylece iki yerine tek bir ayrıcalık mekanizması kalır.

Gerçek Başlatma Bağlamını Doğrulayın

Yetkili bir düzeltmeden sonra yardımcıyı root kabuğundan değil, ürünün çalıştırdığı gibi çalıştırın. root olarak elde edilen başarı normal bir kullanıcının izlediği yol hakkında hiçbir şey kanıtlamaz ve bu iki bağlam arasındaki fark tam olarak hatanın konusudur.

Ardından yardımcının var olma nedenini oluşturan ağ işlemini doğrulayın. Başlayan ama arayüzü yapılandıramayan bir yardımcı sorunu bir aşama ileri taşımıştır, çözmemiştir.

findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper

Bağlama seçeneklerini ve yardımcının sahipliğini aynı nota yazın. Aksi halde bunu ayıklayacak sonraki kişi şifreleme teorisini baştan tekrarlayacaktır.

İlgili makaleler