Linux Sudo Visudo ile Kullanıcı ve Group Yetkilendirmesi
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.