Pardus Sistemlerde Profesyonel Yetkilendirme: /etc/sudoers.d/
Linux sistem yönetiminde yetki yönetimi denilince akla gelen ilk dosya /etc/sudoers dosyasıdır. Ancak modern Linux dağıtımlarında, bu ana dosyayı doğrudan düzenlemek yerine /etc/sudoers.d/ dizinini kullanmak çok daha güvenli ve yönetilebilir bir yöntemdir.
Bu makalede, bu dizinin neden var olduğunu, nasıl çalıştığını ve sistem yöneticileri için neden kritik bir öneme sahip olduğunu inceleyeceğiz.
/etc/sudoers.d/ Nedir?
/etc/sudoers.d/ dizini, kullanıcıların ve grupların sudo (superuser do) yetkilerini tanımlayan parçalı yapılandırma dosyalarını barındıran bir klasördür. Ana /etc/sudoers dosyasının en alt kısmında yer alan şu satır sayesinde bu dizindeki dosyalar otomatik olarak işleme alınır:
#includedir /etc/sudoers.d
Not: Buradaki
#işareti bir yorum satırı değildir;sudoyapılandırmasında bir "include" (dahil etme) komutudur.
Neden /etc/sudoers.d/ Kullanmalıyız?
Sistem yöneticilerinin ana dosyayı düzenlemek yerine bu dizini tercih etmelerinin birkaç temel sebebi vardır:
Modülerlik: Her kullanıcı veya uygulama grubu için ayrı bir dosya oluşturabilirsiniz. Örneğin;
bt-ekibi,web-adminlergibi ayrı dosyalar yönetimi kolaylaştırır.Paket Yönetimi: Bir yazılım (örneğin Docker veya bir yedekleme aracı) kurulduğunda, ana dosyayı değiştirmek yerine bu dizine kendi kurallarını içeren bir dosya bırakabilir.
Hata Riskinin Azalması: Ana
/etc/sudoersdosyasında yapılacak bir yazım hatası, sistemdeki tümsudoyetkilerini bozabilir ve sizi sistemin dışında bırakabilir. Parçalı dosyalarda hata yaparsanız, sadece o dosya etkilenir.Otomasyon (Ansible, Puppet, Terraform): Sunucu yapılandırma araçlarıyla yetki dağıtmak, tek bir büyük dosyayı satır satır düzenlemekten çok daha pratiktir.
Pardus ETAP 23’te Neden Önemlidir?
ETAP 23 ortamlarında:
-
👨🏫 Öğretmen
-
👨🎓 Öğrenci
-
🖥️ Akıllı Tahta (Vestel ETAP)
-
🧑💻 Teknik Sorumlu
farklı yetki seviyeleri gerekir.
👉 /etc/sudoers.d/ sayesinde:
-
Öğrenci asla tam yetki alamaz
-
Öğretmen sınırlı sudo kullanır
-
Teknik kullanıcı tam kontrol sağlar
-
Yetkiler LeaderAhenk / paket ile dağıtılabilir
Temel Özellikler
-
/etc/sudoersdosyası tarafından otomatik okunur -
Her yetki ayrı dosyalarda tanımlanabilir
-
Paketler, politikalar ve okul senaryoları için temiz ve güvenli yapı sağlar
-
Hata durumunda ana sudoers dosyasını bozmaz
📂 Örnek dizin yapısı:
Dosya Oluşturma Kuralları ve Güvenlik
/etc/sudoers.d/ içerisine dosya eklerken şu iki kurala mutlaka uymalısınız:
1. Dosya İsimlendirme
Bu dizin altındaki dosyaların isimlerinde nokta (.) bulunmamalıdır ve dosya isimleri tilde (~) ile bitmemelidir. Aksi takdirde sudo bu dosyaları görmezden gelir.
Doğru:
yazilim-ekibiYanlış:
yazilim.ekibi,kullanici.conf
2. Dosya İzinleri
Güvenlik nedeniyle bu dizindeki dosyaların izinleri çok sıkı tutulmalıdır. İzinleri yanlış olan dosyalar sudo tarafından okunmaz.
Dosya sahibi:
root:rootİzinler:
0440(Sadece root tarafından okunabilir)
Uygulama: Yeni Bir Yetki Dosyası Nasıl Oluşturulur?
Bir kullanıcıya şifre sormadan sadece belirli komutları çalıştırma yetkisi vermek istediğimizi varsayalım.
1. Dosyayı visudo ile oluşturun:
Dosyayı doğrudan herhangi bir metin düzenleyici ile açmak yerine visudo komutunu kullanmak, dosya kaydedilmeden önce sözdizimi (syntax) hatası olup olmadığını denetler.
sudo visudo -f /etc/sudoers.d/ozel-yetkiler
2. Yetki kuralını ekleyin:
Dosyanın içine şu satırı ekleyin (örneğin nuri kullanıcısı için):
nuri ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgrade
3. Dosya izinlerini kontrol edin:
Eğer visudo dışında bir yöntemle oluşturduysanız izinleri şu şekilde düzenleyin:
sudo chmod 0440 /etc/sudoers.d/ozel-yetkiler
sudo chown root:root /etc/sudoers.d/ozel-yetkiler
Hata Denetimi
Yaptığınız değişikliklerin geçerli olup olmadığını anlamak için şu komutu kullanabilirsiniz:
sudo visudo -cf /etc/sudoers.d/ozel-yetkiler
Eğer çıktı olarak .../ozel-yetkiler: parsed OK alıyorsanız, her şey yolunda demektir.
Sonuç
/etc/sudoers.d/ dizini, özellikle Pardus gibi kurumsal dağıtımlarda ve sunucu yönetimi süreçlerinde sistemin bütünlüğünü korumak için en iyi yöntemdir. "Clean Code" prensiplerinde olduğu gibi, sistem yapılandırmasında da "Parçala ve Yönet" kuralı hayat kurtarır.
/etc/sudoers.d/ dizini, Pardus ETAP 23 ortamlarında:
✅ Güvenli
✅ Modüler
✅ Yönetilebilir
✅ Kurumsal
bir sudo yetkilendirme yapısı sunar.
Sık Yapılan Hatalar
| Hata | Sonuç |
|---|---|
| Dosya izni 644 | sudo çalışmaz |
| visudo kullanılmaması | Sistem kilitlenebilir |
| Tek dosyada her şey | Yönetilemez yapı |
| NOPASSWD: ALL | Güvenlik açığı |
Güvenlik Kuralları (ALTIN KURALLAR)
🚫 NOPASSWD: ALL kullanmaktan kaçın
🚫 Öğrencilere sudo verme
🚫 Tek dosyada her şeyi toplama
✅ Yetkileri en az ayrıcalık prensibiyle ver
✅ Her rol için ayrı dosya oluştur.
Örnek Senaryolar (ETAP 23 Uyumlu)
1 etapadmin Kullanıcısına Tam Yetki
✔ Teknik sorumlu
✔ Bakım / güncelleme
✔ Sistem yönetimi
2 Öğretmenlere Sınırlı Yetki
✔ Yazıcıyı yeniden başlatabilir
✔ Tahtayı yeniden başlatabilir
❌ Paket kuramaz
❌ Sistem dosyası silemez
3 Öğrenciler İçin Sudo TAMAMEN KAPALI
✔ Güvenli
✔ Sınav ortamı uyumlu
✔ Yetki yükseltme engelli
4 Sadece Yazıcı Servisini Yetkilendirme
5 Otomatik Kapanış Scripti Yetkisi
✔ Script çalışır
❌ Başka root komutu çalışmaz
Yorumlar