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 vi
dir. 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.