VPN düğmesi yöneticide çalışıyor, diğer herkeste başarısız oluyor, bu yüzden biri sudoers dosyasına bir satır ekliyor. O satır genellikle çözmek için yazıldığı sorundan daha uzun yaşıyor ve çoğu zaman düğmenin ihtiyacından fazla yetki veriyor. İlkeyi düzenlemeden önce, desteklenen bağlantı sahibinin işi zaten yapıp yapamadığını kontrol edin. Aşağıdaki üç koşul, sudo'nun işin içinde olup olmadığına karar verir.

Koşul 1: desteklenen sahip bunu sudo olmadan yapabilir

Çoğu Linux masaüstünde ağ yöneticisi VPN bağlantılarına zaten sahiptir ve yetkilendirmesi sudo yerine polkit üzerinden geçer. Bağlantıyı kaldırma izni olan kullanıcı bunu herhangi bir root kuralı olmadan komut satırından yapabilir. Düğmenin ayrıcalık gerektirdiğini varsaymadan önce yöneticinin neye izin verdiğini kontrol edin. Yanıt evet ise, sudoers değişikliği var olmayan bir sorunu çözüyordur.

nmcli connection show
nmcli connection up "Work VPN"

Yönetici reddederse nedenini okuyun: eksik bir polkit kuralı, başka bir kullanıcıya ait bağlantı veya kullanıcının okuyamadığı bir yerde saklanan profil. Bunların her birinin sudo kuralından daha dar, desteklenen bir düzeltmesi vardır. Ayrıcalık yükseltme son çaredir, ilk değil.

Koşul 2: kural tek bir çalıştırılabilir dosyayı ve bağımsız değişkenlerini adlandırır

Sudo gerçekten gerekiyorsa, kural tam komutu ve mümkün olduğunda kullanabileceği bağımsız değişkenleri adlandırmalıdır. Kullanıcının bir sarmalayıcı betiği çalıştırmasına izin veren kural, yalnızca o betiğin izinleri kadar güvenlidir, çünkü kullanıcı root'un yürüteceği şeyi düzenleyebilir. Komuttan sonra joker karakter içeren kural, aynı sorunun daha kısa biçimidir.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Komut zincirindeki her yolu kontrol edin: ikili dosya, çağırdığı betik, okuduğu yapılandırma dosyası ve aralarındaki her dizin. Bunlardan herhangi biri kullanıcı tarafından yazılabilirse, daraltılmış kural pratikte sınırsız root demektir. Bağımsız değişkenler de önemlidir, çünkü yapılandırma yolu kabul eden bir komut kullanıcının denetlediği bir dosyaya yönlendirilebilir. Kuralı düğme için değil, işlem için yazın.

Komutun çalışması için kullanıcı denetimindeki bir dosya gerekiyorsa durun. O zaman tasarım yanlıştır ve hiçbir sudoers sözdizimi onu güvenli kılamaz.

Koşul 3: yalnızca sizin satırınız değil, tüm ilke ayrıştırılır

Dosyayı kilitleyen ve sözdizimini denetleyen düzenleyiciyle doğrulayın ve bir parçayı değil, birleştirilmiş ilkeyi doğrulayın. Kendi başına ayrıştırılan bir dosya yine de içe aktarma sırasını bozabilir veya davranışı değiştirecek şekilde bir kuralı çoğaltabilir.visudo kılavuzu hem kilitleyen düzenleyiciyi hem de burada kullanılan yalnızca denetim kipini belgeler.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Denetim başarısız olduğunda dosyayı ve satırı bildirir ve asıl yararlı kısım o rapordur. Bilinen bir hatayı zorla kaydetmek yerine amaçlanan değişikliği düzenleyici üzerinden düzeltin, çünkü bozuk bir ilke tüm yöneticileri aynı anda kilitleyebilir. Ekleme dizinindeki dosyalar da kılavuzun istediği sahipliğe ve kipe ihtiyaç duyar, yoksa yok sayılır veya reddedilirler. Sözdizimi yalnızca ilk kapıdır: geçtikten sonra kuralı yeniden okuyun ve gerçekte neye izin verdiğini sorun.

Değişikliğin çalışmasının tek yolu sözdizimi denetimini kapatmaksa durun. Bu bir ilke değil, yeniden başlatmayı bekleyen bir kesintidir.

Kurtarma: hâlâ çalışan bir oturumu koruyun

Kaydetmeden önce yetkili bir yönetici oturumunun zaten açık olduğundan ve makineye ikinci bir yol bulunduğundan emin olun. Sudoers hatası onu düzeltme yeteneğinizi elinizden alabilir ve masaüstü düğmesi bu riske değmez. Sudo zaten bozuksa, kendi yolunuzu uydurmak yerine sistemin belgelenmiş kurtarma yolunu kullanın.

sudo -n true
id

Pkexec gibi alternatifler kendi kurulumlarına ve ilkelerine bağlıdır, bu yüzden garantili ikinci bir root istemi değildir. Yerel yetkilendirmeyi VPN sırrının sağlanmasından da ayrı tutun: sudo kuralı olmayan bir sır aracısını açamaz ve ağ geçidinin MFA'sını karşılamaz. Düzeltmeden sonra normal hesabı yalnızca amaçlanan işlemi yaparken test edin, ardından yöneticinin olağan denetimlerini kullanın.

Karar, hangi koşulun sudo'yu haklı çıkardığını, kuralın neyi adlandırdığını, tüm ilkenin ayrıştırıldığını ve aksi halde nasıl kurtaracağınızı söyleyebildiğinizde sona erer. Yönetici erişiminize mal olan ayrıcalıklı bir başlatıcı kötü bir takastır ve genellikle kaçınılabilir.

İlgili makaleler