Pardus visudo ve Güvenli sudoers Kullanımı

Linux sistem yönetiminde en kritik dosyalardan biri /etc/sudoers dosyasıdır. Bu dosya, hangi kullanıcının hangi yetkilerle komut çalıştırabileceğini belirler. Bu dosyayı doğrudan bir metin editörüyle (nano veya vi gibi) açıp düzenlemek oldukça risklidir; çünkü yapılacak tek bir yazım hatası tüm sistemin sudo yetkisini kaybetmesine neden olabilir. İşte bu noktada visudo devreye girer.


visudo Nedir?

visudo, /etc/sudoers dosyasını güvenli bir şekilde düzenlemek için tasarlanmış bir araçtır. İki temel avantaj sunar:

  1. Sözdizimi Denetimi: Dosyayı kaydederken hata varsa sizi uyarır ve hatalı haliyle kaydetmenize izin vermez.

  2. Dosya Kilitleme: Aynı anda birden fazla kişinin dosyayı düzenlemesini engelleyerek veri kaybını önler.


Temel Kullanım

visudo komutunu çalıştırmak için root yetkisi gerekir:

Bash:
sudo visudo

Varsayılan editör genellikle vi veya nano olur. Eğer editörü değiştirmek isterseniz şu komutu kullanabilirsiniz:

Bash:
sudo EDITOR=nano visudo

sudoers Dosya Yapısı

Bir yetkilendirme satırı genellikle şu formatta olur:

kullanıcı host=(çalıştırılacak_kullanıcı:grup) komut

Örnek Parçalama:

nuri ALL=(ALL:ALL) /usr/bin/apt

  • nuri: Bu kuralın geçerli olduğu kullanıcı.

  • ALL (Birinci): Kuralın geçerli olduğu makineler (Genelde ALL bırakılır).

  • ALL:ALL (Parantez içi): Hangi kullanıcı ve grup yetkileriyle komutun çalıştırılabileceği.

  • /usr/bin/apt: Kullanıcının çalıştırmasına izin verilen spesifik komut.


Sık Kullanılan Senaryolar

1. Bir Kullanıcıya Tam Yetki Verme

Kullanıcının her komutu şifreyle çalıştırmasını sağlar:

Plaintext:
kullanici_adi  ALL=(ALL:ALL) ALL

2. Şifresiz Sudo Yetkisi Verme

Belirli otomasyon scriptleri veya kolaylık için şifre sorma adımını atlar:

Plaintext:
kullanici_adi  ALL=(ALL:ALL) NOPASSWD: ALL

3. Sadece Belirli Bir Komuta İzin Verme

Güvenlik için en çok tercih edilen yöntemdir. Örneğin, bir kullanıcının sadece sistem güncellemelerini yapabilmesini sağlayalım:

Plaintext:
kullanici_adi  ALL=(ALL:ALL) /usr/bin/apt update, /usr/bin/apt upgrade

4. Bir Gruba Yetki Verme

Grup isimlerinin başına % işareti konur. Örneğin admin grubundaki herkesin sudo yetkisi olsun:

Plaintext:
%admin  ALL=(ALL:ALL) ALL

En İyi Pratik: /etc/sudoers.d/ Dizini

Ana /etc/sudoers dosyasını sürekli düzenlemek yerine, her kullanıcı veya yetki grubu için ayrı bir dosya oluşturmak çok daha temiz bir yöntemdir. Linux, /etc/sudoers.d/ klasörü altındaki dosyaları otomatik olarak okur.

Bu klasörde yeni bir kural oluşturmak için:

Bash:
sudo visudo -f /etc/sudoers.d/ozel_yetkiler

Not: Bu klasördeki dosyaların isimlerinde nokta (.) bulunmamalıdır, aksi halde sistem bunları görmezden gelir.


Hata Durumunda Ne Yapılır?

Eğer visudo içinde yanlış bir şey yazıp kaydederseniz, size şöyle bir uyarı verir: >>> /etc/sudoers: syntax error near line 25 <<<

Burada size üç seçenek sunulur:

  • e (edit): Geri dönüp hatayı düzeltmenizi sağlar (En güvenli yol).

  • x (exit without saving): Değişiklikleri kaydetmeden çıkar.

  • Q (quit and save changes): Hatalı haliyle kaydeder (Kesinlikle önerilmez, sudo erişimini bozabilir).


Güvenlik Sertleştirme Tavsiyeleri

/etc/sudoers elle düzenlenmez
✔ Her dosya tek rol içermeli
NOPASSWD sadece etapadmin
✔ Öğrenci → komut bazlı sudo
✔ Gruptan çıkar → yetki otomatik gider


Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Başlangıç Onarma