Pardus Sudo Yetkilendirmesi ve Kullanıcı Yönetimi: /etc/sudoers Yapılandırma Rehberi
Pardus sudo yetkilendirmesi, Linux dünyasında ve Pardus’ta “Tanrı Modu” olarak bilinen Root haklarıyla sistemin kalbine erişim sağlamanın anahtarıdır. Güvenlik gereği günlük işlerimizi standart kullanıcıyla yürütürken, sisteme müdahale (paket yükleme, disk biçimlendirme vb.) gerektiğinde komutun başına sudo (SuperUser DO) ekleriz.
Peki, yeni oluşturduğunuz bir kullanıcı sudo yazdığında “Kullanıcı sudoers dosyası içinde değildir. Bu olay raporlanacaktır.” hatası alırsa ne yapmalısınız? Veya bir script çalıştırırken sürekli şifre sormasından nasıl kurtulursunuz?
Bu rehberde, Pardus 25 üzerinde kullanıcı yetkilendirmesini, grupları ve /etc/sudoers dosyasının visudo ile güvenli yapılandırmasını A’dan Z’ye inceliyoruz.
Bölüm 1: En Basit Yöntem – Kullanıcıyı “Sudo” Grubuna Eklemek
Pardus sudo yetkilendirmesini bir ev kullanıcısıysanız ve sadece “Ben de yönetici olmak istiyorum” diyorsanız, karmaşık dosya ayarlarıyla uğraşmadan yapabilirsiniz. Pardus’ta sudo grubuna dahil olan herkes yönetici sayılır.
Adım 1.1: Mevcut Yönetici ile Giriş Yapın
Terminali açın. Aşağıdaki komutu yazarak, yetki vermek istediğiniz kullanıcıyı gruba ekleyin:
sudo usermod -aG sudo kullanici_adi

(Burada parduslab yerine yetki vereceğiniz hesabın adını yazın. Örn: pc01)
Adım 1.2: Oturumu Kapatıp Açın
Bu işlem anında geçerli olmaz. Kullanıcının yeni yetkilerini alabilmesi için Oturumu Kapat (Log Out) yapıp tekrar girmesi veya bilgisayarı yeniden başlatması şarttır.
Bölüm 2: İleri Seviye – /etc/sudoers Dosyası ve Visudo
Eğer bir sunucu yönetiyorsanız veya “Bu kullanıcı sadece güncelleme yapsın ama sistemi kapatamasın” gibi özel kurallar istiyorsanız, /etc/sudoers dosyasını düzenlemelisiniz.
KRİTİK UYARI: Bu dosyayı asla nano veya gedit gibi normal editörlerle açmayın! Eğer bir harf hatası yaparsanız, sudo yetkinizi tamamen kaybedersiniz ve sistemi kurtarma modunda açmak zorunda kalırsınız.
Her zaman visudo komutunu kullanın. Bu araç, dosyayı kaydetmeden önce sözdizimi (syntax) hatası olup olmadığını kontrol eder.
Visudo Editörünü Açma
Terminalde şu komutu girin:
sudo visudo
Karşınıza /etc/sudoers dosyasının içeriği gelecektir.
Bölüm 3: Sudoers Dosyasını Yapılandırma Senaryoları
Dosyanın en altına inerek aşağıdaki senaryolara göre satırlar ekleyebilirsiniz.
Senaryo A: Belirli Bir Kullanıcıya Tam Yetki Verme
Kullanıcıyı gruba eklemek yerine buradan yetki vermek isterseniz:
ahmet ALL=(ALL:ALL) ALL
Anlamı: Ahmet kullanıcısı, tüm bilgisayarlarda, tüm kullanıcılar adına, tüm komutları çalıştırabilir.
Senaryo B: Şifresiz Sudo Kullanımı (NOPASSWD)
Sürekli şifre girmekten yoruldunuz mu? Veya arka planda çalışan bir scriptiniz mi var?
ahmet ALL=(ALL) NOPASSWD: ALL
Anlamı: Ahmet kullanıcısı, sudo komutunu kullandığında asla şifre sorulmaz. (Güvenlik riski içerir, dikkatli kullanın!)
Senaryo C: Sadece Belirli Komutlara İzin Verme
Ahmet kullanıcısı sistemi güncelleyebilsin (apt update), ama program silemesin veya sistemi kapatamasın istiyorsunuz.
ahmet ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgradeCode language: JavaScript (javascript)
Anlamı: Ahmet sadece güncelleme komutlarını şifresiz çalıştırabilir. Başka bir komut (örn: sudo rm) denerse “Erişim Reddedildi” hatası alır.
Bölüm 4: Sudo Şifre Zaman Aşımını Değiştirmek
Varsayılan olarak Pardus’ta sudo şifresini bir kez girdiğinizde, 15 dakika boyunca tekrar sormaz. Bu süreyi uzatmak veya kısaltmak isteyebilirsiniz.
sudo visudo ile dosyayı açın ve Defaults env_reset satırını bulup sonuna şunu ekleyin:
Defaults env_reset, timestamp_timeout=30

(Bu ayar süreyi 30 dakikaya çıkarır. Eğer 0 yaparsanız her seferinde şifre sorar, -1 yaparsanız o oturum boyunca bir daha sormaz.)
Bölüm 5: Yanlışlıkla Sudo Yetkisini Kaybettim, Ne Yapacağım?
Eğer yanlış bir ayar sonucu sudo komutu çalışmıyorsa:
- Bilgisayarı yeniden başlatın.
- GRUB ekranında “Gelişmiş Seçenekler” (Advanced Options) menüsüne girin.
- “Recovery Mode” (Kurtarma Kipi) seçeneğini seçin.
- Açılan menüde “Root – Drop to root shell prompt” satırına gelin.
- Ekranın altındaki komut satırına şu komutu yazarak dosya sistemini yazılabilir yapın:
mount -o remount,rw / visudoyazarak hatanızı düzeltin veyausermodile kendinizi tekrar gruba ekleyin.rebootyazarak çıkın.
Sonuç
sudo yetkisi büyük bir güçtür ve büyük sorumluluk gerektirir. Ev kullanıcısıysanız kendinizi sudo grubuna eklemek yeterlidir. Ancak bir kurumda Pardus istemci grubu yönetiyorsanız, visudo kullanarak “En Az Ayrıcalık İlkesi”ne (Least Privilege) göre ince ayar yapmak, sistem güvenliğinizin sigortasıdır.
Sıkça Sorulan Sorular
“Kullanıcı sudoers dosyası içinde değildir” hatası alıyorum, en hızlı çözüm nedir?
Mevcut bir yönetici hesabıyla giriş yapın ve terminale sudo usermod -aG sudo KULLANICI_ADINIZ yazın. Ardından bilgisayarı yeniden başlatın.
su komutu ile sudo arasındaki fark nedir?
sudo, kendi şifrenizle geçici olarak yönetici yetkisi almanızı sağlar. su (Switch User) ise doğrudan hedef kullanıcının (genellikle root) şifresini isteyerek o kullanıcıya dönüşmenizi sağlar. Güvenlik açısından sudo önerilir.
Bir kullanıcıdan sudo yetkisini nasıl alırım?
Kullanıcıyı sudo grubundan çıkarmanız gerekir: sudo deluser kullanici_adi sudo. Bu işlemden sonra kullanıcının oturumunu kapatıp açması gerekir.
Sudo şifresini girerken ekranda neden yıldız (*) veya karakter görünmüyor?
Bu bir güvenlik önlemidir (Linux geleneği). Siz klavyeden şifreyi yazıyorsunuz ancak arkanızdaki kişi şifrenin uzunluğunu tahmin edemesin diye ekranda hiçbir şey görünmez. Yazıp Enter’a basmanız yeterlidir.
visudo kullanmadan dosyayı nano ile düzenlersem ne olur?
Eğer bir sözdizimi hatası yaparsanız (bir virgül bile eksik olsa), kaydettiğiniz anda sistemdeki hiç kimse sudo kullanamaz hale gelir. visudo ise kaydetmeden önce “Hata var, kaydetmiyorum” diyerek sizi uyarır ve sistemi korur.
Tüm sudo işlemlerini (kim ne zaman ne yaptı) loglayabilir miyim?
Pardus varsayılan olarak sudo kullanımlarını /var/log/auth.log dosyasına kaydeder. Terminalden grep sudo /var/log/auth.log komutuyla kimin hangi komutu çalıştırdığını görebilirsiniz.
Alias (Takma Ad) kullanarak komut grupları oluşturabilir miyim?
Evet. visudo içinde Cmnd_Alias YAZILIM = /usr/bin/apt, /usr/bin/dpkg şeklinde bir grup tanımlayıp, sonra kullanıcıya sadece YAZILIM grubunu kullanma yetkisi verebilirsiniz. Bu sayede her komutu tek tek yazmanıza gerek kalmaz.