sudo, bir kullanıcıya kendi parolasıyla root kullanıcısı yetkisi verebilmeyi sağlar. Peki, terminalde parolanın elemanlarını yıldız (*) ile nasıl gösterebilirsiniz?
Hepimizin az veya çok terminalle haşır neşiriz. Söz konusu terminal olunca en çok çaylakların karşılaştığı ve bazen rahatsız olduğu durum, neden sudo ile komut işletirken terminalde parolaya dair en azından oturum açma ekranında olduğu gibi veya grafik arayüzde parola isteme arayüzü gibi bir belirteçin olmadığıdır.
Bu yazımızda hem bunun nedenini tartışacağız hem de sudo komutu özeline parolamızı yazarken terminalde parolanın elemanlarını yıldız (*) ile göstermeyi öğreneceğiz.
sudo nasıl çalışır?
sudo, root parolası bilinmeksizin, bir kullanıcıya kendi parolasıyla root kullanıcısı yetkisi verebilmeyi sağlayan bir komuttur. Parolayı mevcut terminal ortamından girdi olarak alır, ardından bu komutu gönderen kullanıcının /etc/sudoers dosyasında olup olmadığını kontrol eder. Eğer kullanıcı bulunuyorsa komutu işletirken, kullanıcı bulunmuyorsa bu durumu rapor eder. Bu raporlara /var/log/auth.log yolundaki günlük dosyasından erişilebilir.
sudoers dosyasında değişiklik yapmak
sudoers dosyası daha öncesinde söylediğim gibi sudo’nun kullanımı ve izinleri ile alakalı ayarlamaların yapıldığı dosyadır. Bu dosyayı direk nano ile açmayı denerseniz şöyle bir durumla karşılaşırsınız:
Bu durumu yaşamamak için visudo komutunu kullanarak sudoers dosyasını açacağız. visudo komutu öntanımlı terminal editörü (Pardus için nano) kullanarak sudoers dosyasını açacaktır. visudo komutunu işletelim:
sudo visudo
Dosya gördüğünüz gibi açıldı.
Şimdi Defaults env_reset yazan satıra inerek bu satırı Defaults env_reset,pwfeedback olarak değiştirelim.
Şimdi Ctrl-X yapalım. Çıkan soruyu E ile cevaplayalım. Şimdi başka bir terminal açınca parola girişinin değiştiğini göreceksiniz.
Güvenlik Uyarısı
2009’dan 2018’e kadar 9 senelik süreçte sudo komutunun içerisinde yer almış bir güvenlik açığı, 2018 yılında fark edildi. Bahsi geçen açık, 2009 yılında yayına alınan 1.8.26b1 sürümünden itibaren gözlenmesi sebebiyle 2009 olarak burada belirtiyorum. Bu hata, parolanın tutulduğu arabelleği doğrudan etkilemekte. Parola öncelikle bir yığında tutulur, ardından kontrol edilerek yetki verilir.
sudo’larda pwfeedback etkinleştirilirse, yığın taşması sorunu ayrıcalıksız kullanıcıların kök hesaba yükselmesine izin verebilir. Bütün kullanıcıların arabelleği aşmak için kullanılan veriler üzerinde tam kontrolü olduğundan, yüksek bir güvenlik riski olasılığı vardır.
Bu sebeple pwfeedback kullanmadan önce iki kere düşünün ve kritik sistemlerde kullanmamaya özen gösterin.
Açılış görseli: xkcd (CC by-nc 2.5)