Linux Sudo Visudo ile Kullanıcı ve Group Yetkilendirmesi
Linux'ta visudo komutuyla, kullanıcı ve gruplara özel yetkilendirme ayarları yapabilirsiniz. visudo, /etc/sudoers dosyasını düzenlemek için kullanılan güvenli bir araçtır. Bu dosya üzerinde yapılacak hatalar sistemi etkileyebilir, bu nedenle visudo kullanmak önerilir. İşte bu işlemin nasıl yapıldığına dair adımlar:
1. Visudo ile Sudoers Dosyasını Açma
Sudoers dosyasını düzenlemek için şu komutu kullanın:
sudo visudo
2. Kullanıcıya Yetki Verme
Bir kullanıcıya belirli veya tüm komutlar için root yetkisi vermek için aşağıdaki biçimde düzenleme yapabilirsiniz:
Tam Yetki
Bir kullanıcıya tüm komutlar için root yetkisi vermek:
kullanici_adi ALL=(ALL:ALL) ALL
Örnek:
ahmet kullanıcısına tam yetki vermek için:
ahmet ALL=(ALL:ALL) ALL
Belirli Komutlar İçin Yetki
Bir kullanıcıya sadece belirli komutlar için yetki vermek:
kullanici_adi ALL=(ALL:ALL) /usr/bin/komut1, /bin/komut2
Örnek:
ahmet kullanıcısına sadece apt update ve apt upgrade komutları için yetki vermek:
ahmet ALL=(ALL:ALL) /usr/bin/apt update, /usr/bin/apt upgrade
3. Gruplara Yetki Verme
Bir gruba (örneğin developers) yetki vermek için % sembolü kullanılır:
Tam Yetki
%grup_adi ALL=(ALL:ALL) ALL
Örnek:
developers grubuna tam yetki vermek:
%developers ALL=(ALL:ALL) ALL
Belirli Komutlar İçin Yetki
%grup_adi ALL=(ALL:ALL) /path/to/komut1, /path/to/komut2
Örnek:
developers grubuna sadece reboot ve systemctl restart komutları için yetki vermek:
%developers ALL=(ALL:ALL) /sbin/reboot, /bin/systemctl restart
4. Parolasız Sudo Yetkisi Verme
Bir kullanıcıya veya gruba sudo komutlarında parola sormaması için şu yapı kullanılır:
Kullanıcı için:
kullanici_adi ALL=(ALL:ALL) NOPASSWD: ALL
Grup için:
%grup_adi ALL=(ALL:ALL) NOPASSWD: ALL
Belirli Komutlarda Parolasız Yetki:
kullanici_adi ALL=(ALL:ALL) NOPASSWD: /path/to/komut1, /path/to/komut2
5. Sudoers Dosyasını Test Etme
Sudoers dosyasında yapılan düzenlemelerin doğru olup olmadığını test etmek için:
sudo visudo -c
Eğer herhangi bir hata yoksa şu sonucu görürsünüz:
/etc/sudoers: parsed OK
Örnek Sudoers Dosyası
# root kullanıcısı için tam yetki
root ALL=(ALL:ALL) ALL# ahmet kullanıcısı için tam yetki
ahmet ALL=(ALL:ALL) ALL# ayse kullanıcısı için sadece belirli komutlar
ayse ALL=(ALL:ALL) /usr/bin/apt update, /usr/bin/apt upgrade# developers grubu için tam yetki
%developers ALL=(ALL:ALL) ALL# destek grubu için sadece reboot yetkisi, parolasız
%destek ALL=(ALL:ALL) NOPASSWD: /sbin/reboot
Bu şekilde visudo ile kullanıcı ve grup bazlı yetkilendirme yapabilirsiniz.