Linux’ta Kullanıcı Yetkilendirme ve Sudo Politikaları
Linux’ta Kullanıcı Yetkilendirme ve Sudo Politikaları
Linux sistemlerinde kullanıcı yetkilendirmesi, güvenli erişim ve yönetim süreçlerinin temel bileşenidir. Yetkilendirme, bir kullanıcının hangi kaynaklara erişebileceğini ve hangi komutları çalıştırabileceğini belirler. Özellikle çok kullanıcılı sunucu ortamlarında, sudo politikaları yönetici haklarının güvenli şekilde paylaşılmasını sağlar.
- Kullanıcı Yetkilendirmesi Nedir?
- Linux’ta Kullanıcı Türleri
- Kullanıcı Yönetimi Temelleri
- Dosya ve Dizin İzinleri
- İzinleri Değiştirme
- Sudo Nedir?
- Sudoers Dosyası
- Örnek Sudo Yetkilendirmeleri
- Sudo Grupları ve Politika Yönetimi
- Loglama ve Denetim
- Güvenli Sudo Uygulamaları
- sudo Timeout Süresi Ayarlama
- sudo Alias Kullanımı
- LDAP ve Merkezi Yetkilendirme
- sudo ve PAM Güvenliği
- Sonuç
Kullanıcı Yetkilendirmesi Nedir?
Yetkilendirme (authorization), bir kullanıcının sistem üzerinde belirli eylemleri yapabilmesi için gereken izinlerin tanımlanmasıdır. Linux’ta bu izinler dosya sistemi, kullanıcı grupları ve sudo kuralları üzerinden yönetilir.
Linux’ta Kullanıcı Türleri
- Root Kullanıcısı: Sistemde tüm işlemleri yapma yetkisine sahip süper kullanıcı.
- Normal Kullanıcı: Kısıtlı izinlerle sisteme erişen kullanıcılar.
- Sistem Kullanıcıları: Servis ve uygulamaların çalışması için oluşturulmuş özel hesaplar.
Kullanıcı Yönetimi Temelleri
# Yeni kullanıcı oluşturma sudo adduser ali # Kullanıcıyı gruba ekleme sudo usermod -aG sudo ali # Kullanıcı silme sudo deluser ali
Yönetici (sudo) grubuna eklenen kullanıcılar, sınırlı root yetkileriyle komut çalıştırabilir.
Dosya ve Dizin İzinleri
Her dosya veya dizin üç temel erişim kategorisine sahiptir:
- Owner (sahip)
- Group (grup)
- Others (diğerleri)
İzin türleri ise read (r), write (w) ve execute (x) olarak tanımlanır.
# Örnek izin gösterimi ls -l -rwxr-xr-- 1 ali users 1024 Jan 30 10:00 backup.sh
İzinleri Değiştirme
chmod 750 backup.sh chown ali:users backup.sh
Bu örnekte dosya yalnızca sahibi tarafından yazılabilir, grup tarafından çalıştırılabilir, diğer kullanıcılar erişemez.
Sudo Nedir?
sudo (superuser do), bir kullanıcının root yetkileriyle belirli komutları çalıştırmasını sağlayan bir araçtır. Bu sayede root hesabına doğrudan giriş yapılmadan yönetimsel işlemler güvenli biçimde gerçekleştirilir.
Sudoers Dosyası
Sudo politikaları /etc/sudoers dosyasında veya /etc/sudoers.d/ altındaki dosyalarda tanımlanır. Düzenlemek için:
sudo visudo
Bu komut, söz dizimi hatalarına karşı güvenli düzenleme sağlar.
Örnek Sudo Yetkilendirmeleri
# Kullanıcıya tüm komutlar için izin ali ALL=(ALL:ALL) ALL # Yalnızca belirli komutlara izin ahmet ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/apt update # Parolasız sudo yetkisi backup ALL=(ALL) NOPASSWD: /usr/bin/rsync, /usr/bin/tar
Sudo Grupları ve Politika Yönetimi
- “sudo” veya “wheel” grubuna dahil kullanıcılar yönetici haklarına sahiptir.
- Politikalar genellikle grup bazlı tanımlanır.
- Kurumsal sistemlerde, LDAP veya Active Directory ile merkezi kullanıcı yönetimi tercih edilir.
Loglama ve Denetim
Tüm sudo işlemleri varsayılan olarak /var/log/auth.log dosyasında saklanır:
sudo cat /var/log/auth.log | grep sudo
Bu kayıtlar, kim hangi komutu ne zaman çalıştırdı bilgisini içerir.
Güvenli Sudo Uygulamaları
- Root hesabını doğrudan kullanmayın; sudo üzerinden yetkilendirme yapın.
- “NOPASSWD” kullanımlarını yalnızca otomatik işlemlerde tercih edin.
- sudoers dosyasını doğrudan düzenlemeyin; visudo kullanın.
- Yetkileri görev bazında (least privilege principle) verin.
sudo Timeout Süresi Ayarlama
Sudo oturum süresini belirlemek için:
Defaults timestamp_timeout=5
Bu ayar, sudo kimlik doğrulamasının 5 dakika boyunca geçerli olmasını sağlar.
sudo Alias Kullanımı
Belirli komut gruplarını alias olarak tanımlayabilirsiniz:
Cmnd_Alias WEB = /usr/bin/systemctl restart nginx, /usr/bin/systemctl restart apache2 admin ALL=(ALL) WEB
LDAP ve Merkezi Yetkilendirme
Büyük organizasyonlarda kullanıcı politikaları LDAP veya Active Directory üzerinden yönetilir. PAM (Pluggable Authentication Module) entegrasyonu ile kullanıcı doğrulaması merkezi hale getirilebilir.
sudo ve PAM Güvenliği
Sudo kimlik doğrulama mekanizması PAM modülleriyle entegredir. Ek güvenlik katmanları eklemek için:
/etc/pam.d/sudo auth required pam_tally2.so deny=3 unlock_time=300
Bu ayar, 3 başarısız giriş denemesinden sonra 5 dakika süreyle kullanıcıyı kilitler.
Sonuç
Linux kullanıcı yetkilendirmesi ve sudo politikaları, sistem güvenliğinin bel kemiğidir. Doğru yapılandırıldığında, kullanıcılar görev odaklı erişim yetkisine sahip olurken sistem bütünlüğü korunur. Kurumsal ortamlarda merkezi yönetim, loglama ve PAM güvenliği birlikte uygulanmalıdır. Daha profesyonel sistem yönetimi için HostLigo’nun Linux Hosting ve Premium VDS çözümleri güçlü ve güvenli altyapı sağlar.