1. sudo Komutu Nedir?
sudo (superuser do) komutu, Linux ve Unix tabanlı sistemlerde yetkili kullanıcıların (genellikle root) izinleri ile komut çalıştırmasına olanak tanır.
Özellikle sistem dosyalarını değiştirme, paket yükleme, servis başlatma/durdurma gibi yönetici yetkisi gerektiren işlemlerde kullanılır.
su komutundan farkı:
- su doğrudan kullanıcıyı değiştirirken,
- sudo yalnızca belirtilen komutu yönetici yetkileri ile çalıştırır.
2. Temel Kullanım
sudo [seçenekler] komut
örnek
sudo apt update
Bu komut paket listesini günceller, ancak normal kullanıcı yetkisi ile çalıştırıldığında izin verilmez.
3. Sık Kullanılan Argümanlar
Argüman | Açıklama |
---|---|
-u <kullanıcı> | Belirtilen kullanıcı olarak komut çalıştırır |
-k | Önceden girilen parolayı unutturur, tekrar parola ister |
-l | Kullanıcının çalıştırabileceği komutları listeler |
-v | Parola doğrulamasını yeniler (oturumu uzatır) |
-b | Komutu arka planda çalıştırır |
-s | Belirtilen shell ile komut çalıştırır |
-i | root kullanıcısı olarak tam interaktif shell başlatır |
-H | HOME ortam değişkenini hedef kullanıcının ev dizinine ayarlar |
4. Örnek Kullanımlar
4.1. Yönetici Yetkisi ile Komut Çalıştırma
sudo systemctl restart nginx
Açıklama: nginx servisinin yeniden başlatılmasını sağlar.
4.2. Başka Bir Kullanıcı Olarak Komut Çalıştırma
sudo -u postgres psql
Açıklama: postgres kullanıcısı ile PostgreSQL terminalini açar.
4.3. Arka Planda Yönetici Yetkisi ile Komut Çalıştırma
sudo -b ./script.sh
Açıklama: Script’i root yetkisiyle arka planda çalıştırır.
4.4. Sudo Yetkilerini Listeleme
sudo -l
Açıklama: Kullanıcının çalıştırabileceği sudo komutlarını listeler.
4.5. Tam Root Shell Açmak
sudo -i
Açıklama: root kullanıcısı ile tam yetkili bir oturum açar.
5. sudoers Dosyası
- sudo yetkileri /etc/sudoers dosyasında tanımlanır.
- Düzenlemek için:
sudo visudo
Not: Yanlış düzenleme sistemde güvenlik sorunlarına veya erişim kaybına yol açabilir.
6. İpuçları
- sudo ile çalıştırılan komutlar /var/log/auth.log dosyasına kaydedilir.
- Parola girildikten sonra varsayılan olarak 5 dakika süreyle tekrar parola istenmez (bu süre timestamp_timeout ile değiştirilebilir).
- Birden fazla komutu root olarak çalıştırmak için sudo -i ile oturum açmak daha pratiktir.