Sudo, yani “kullanıcı yerine yapmak”, belirli kullanıcı veya gruplara root yetkisiyle komut gerçekleştirmesini sağlar.
Sudo, su nun alternatifi olarak kullanılıyor. su dan farklı olarak, root shell açmak yerine tek komutluk root yetkisi sağlamaktadır. Sadece gerektiğinde root yetkisi kullanmanızı sağlar.
Sudo ayrıca diğer kullanıcılar gibi komut yazmanıza da olanak sağlar. Ek olarak kullanılan komutları ve başarısız girişleri kayıt altına alır(loglar).
## Kurulum
Pacman üzerinden kurulum için sudo paketini kurmanız yeterli.
## Kullanım
sudo yu kullanmak için öncelikle ayarlamaları yapmalısınız. Aşağıda ayarlamaları detaylı bir şekilde anlattım.
Örnek olarak, pacman i kullanmak için:
sudo pacman -Syu
Detaylı kullanımı öğrenmek için
man sudo
## Ayarlamalar
### Ayarları Görüntüleme
sudo -ll komutu ile şuanki ayarlamaları görebilirsiniz. Bir kullanıcı için ayarlamaları görmek istiyorsanız komutun sonuna kullanıcı adını eklemeniz yeterli.
### Visudo Kullanımı
Sudo için ayarlamaları tutan dosya: /etc/sudoers. her zaman visudo komutu ile bu dosyayı düzenlemeniz gerekiyor. visudo komutu sudoers dosyasını kilitleyip, geçici bir dosyaya kaydedip, ayar dosyasının uygun düzende olup olmadığını kontrol edip /etc/sudoers dosyasına kopyalar.
Visudo için varsayılan editor vidir. Nano ile visudo kullanmak istiyorsanız EDITOR ortam değişkenini güncellemelisiniz.
EDITOR=nano visudo
### Örnek Ayarlar
Bir kullanıcının sudo komutu ile root yetkisine sahip olmasına izin vermek için şu satırı eklemelisiniz:
KULLANICI_ADI ALL=(ALL) ALL
wheel grubundaki tüm kullanıcıların sudo erişimi olması için:
%whell ALL=(ALL) ALL
sudo komutu kullanılırken şifre sormasını istemiyorsanız:
Defaults:KULLANICI_ADI !authenticate
Kullanıcının belli başlı komutları kullanabilmesi için:
KULLANICI_ADI ALL=/usr/bin/halt,/usr/bin/pacman -Syu
### Sudoers Varsayılan Dosya İzinleri
sudoers dosyasının sahibi ve grubu 0 olarak tanımlanmalıdır. Dosya izinleri 0440 olarak belirtilmelidir. Bu izinler varsayılan olarak ayarlanır. Eğer bir durumdan dolayı bu izinleri değiştirirseniz, tekrardan eski haline döndürmelisiniz. Aksi takdirde sudo çalışmayacaktır.
chown -c root:root /etc/sudoers
chmod -c 0440 /etc/sudoers
### Bazı Ortam Değişkenleri Tutmak
sudo komutu kullanılırken bazı ortam değişkenlerini tutmak isteyebilirsiniz. Bunun için sudoers dosyasında:
Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"
Bu ayarlama ile ftp_proxy http_proxy https_proxy no_proxy ortam değişkenleri duracaktır.