Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

Linux sudo komutu nedir?​


Linux’ta sudo, yetkili bir kullanıcının tek bir komutu geçici olarak başka bir kullanıcının, çoğunlukla root kullanıcısının yetkileriyle çalıştırmasını sağlar. Böylece tüm terminal oturumunu root olarak açmadan yalnızca ihtiyaç duyulan komuta yönetici yetkisi verilir. Yetki, sistemin erişim politikasına bağlıdır; yaygın sudoers politikası kullanıcı ve komut izinlerini belirler.

Örneğin normal kullanıcı olarak şu komutu çalıştırabilirsiniz:

Kod:
sudo id -u

İlk kullanımda kendi kullanıcı parolanız istenebilir. Başarılı sonuç genellikle şöyledir:

Kod:
0

Linux’ta kullanıcı kimliği 0, root kullanıcısını ifade eder. Bu komut sistemde değişiklik yapmaz; yalnızca sudo’nun komutu yetkili olarak çalıştırabildiğini doğrular. Başarısız olursa hata metni, sorunun parola, yetki veya sudo yapılandırmasıyla ilgili olup olmadığını anlamak için sonraki adımdır.

sudo nasıl çalışır?​


sudo komut biçiminde kullanıldığında sudo, mevcut kullanıcı adına ve sistem kurallarına göre erişimi denetler. Politika gerektiriyorsa parola veya başka kimlik doğrulaması yapar ve belirtilen komutu geçici olarak hedef kullanıcının yetkileriyle başlatır. Yaygın sudoers varsayılanında hedef root'tur; yönetici bu varsayılanı değiştirebilir.

Kod:
sudo -u hedef_kullanıcı komut

Sisteminizde nobody hesabı varsa ve politika izin veriyorsa başka kullanıcı kimliğini okumaya örnek:

Kod:
sudo -u nobody id -u

Bu kullanım ancak ilgili işlem için izin verilmişse çalışır. Her sudo kullanıcısının her komutu çalıştırabileceği varsayılmamalıdır; yöneticiler belirli komutları, kullanıcıları veya çalışma koşullarını sınırlayabilir.

Aşağıdaki ayrım, sudo kullanımının sonucunu yorumlamayı kolaylaştırır:

Komut biçimiYetki bağlamıTipik kullanım
komutMevcut kullanıcıNormal işlemler
sudo komutGenellikle rootSistem yönetimi
sudo -u kullanıcı komutBelirtilen kullanıcıFarklı kullanıcı bağlamını deneme

Bu nedenle sudo, dosya izinlerini kalıcı olarak değiştirmez ve mevcut kullanıcıyı sürekli root yapmaz. Yalnızca ilgili komutun işlem süresindeki yetki bağlamını değiştirir. Komut bir alt süreç başlatıyorsa, bu süreçler de çoğunlukla aynı yetkiyi devralabilir.

Güvenli ve uygulanabilir kullanım​


Bir yönetim komutunu çalıştırmadan önce komutun gerçekten yönetici yetkisi gerektirip gerekmediğini kontrol edin. Gerekiyorsa şu sırayı izleyin:

  1. Komutu önce sudo olmadan değerlendirin; örneğin dosya yolunu, seçenekleri ve hedefi kontrol edin.
  2. Yalnızca ihtiyaç duyulan komutun başına sudo ekleyin.
  3. Parola sorulduğunda, terminalde yazılan karakterlerin görünmemesi normaldir; parolayı yazıp Enter tuşuna basın.
  4. Çıktıyı ve hata mesajını kontrol edin. Komut başarılı görünse bile hedef dosya veya hizmet durumunu ayrıca doğrulayın.
  5. İşiniz bitince yönetici yetkisi gerektirmeyen komutları sudo olmadan çalıştırmaya devam edin.

İzin verilen kapsamı görmek için önce salt okunur listeleme kullanabilirsiniz:

Kod:
sudo -l

Bu çıktı, hesabınız için izinli veya yasak komutları ve ilgili politika koşullarını gösterebilir. Listede bir komutun bulunması onu her hedef ve argümanla çalıştırabileceğiniz anlamına gelmez. Örneğin id denemesinin başarılı olması bütün yönetim komutlarına izin verildiğini kanıtlamaz.

Sık yapılan hatalar​


sudo komutunu her sorunda kullanmak​


Sudo, yanlış yazılmış bir komutu da yüksek yetkiyle çalıştırabilir. Bu nedenle özellikle silme, üzerine yazma ve paket yönetimi komutlarında hedefi iki kez kontrol edin. Yetki hatasını çözmek için rastgele sudo eklemek, yanlış yapılandırmayı gizleyebilir.

Root parolasıyla kendi parolasını karıştırmak​


Çoğu yapılandırmada sudo, root parolasını değil sudo çalıştıran mevcut kullanıcının parolasını ister. Ancak dağıtımın veya sistem yöneticisinin kuralları farklı olabilir.

Yetkinin kalıcı olduğunu sanmak​


Bir komutun sudo ile başarılı olması, sonraki komutların otomatik olarak yetkili çalışacağı anlamına gelmez. Her komutta açıkça sudo kullanılmalıdır. Uzun süre açık bir root kabuğuna ihtiyaç varsa bunun ayrı bir yönetim kararı ve daha dikkatli oturum kontrolü gerektirdiğini unutmayın.

Sık sorulan sorular​


sudo bulunamadı hatası ne anlama gelir?​


Sisteminizde sudo kurulu olmayabilir veya çalıştırılan ortamın PATH değişkeninde sudo’nun bulunduğu dizin yer almıyor olabilir. Root erişiminiz varsa dağıtımınızın paket yöneticisiyle sudo paketini kurun; erişiminiz yoksa sistem yöneticisinden yardım alın.

“user is not in the sudoers file” hatası nasıl yorumlanır?​


Mevcut kullanıcıya sudo kullanma izni verilmemiştir. Bu, normal bir kullanıcı parolasıyla aşılabilecek bir hata değildir; root veya yetkili bir sistem yöneticisi hesabının kullanıcıya uygun yetki tanımlaması gerekir.

sudo cd yazınca neden klasörüm değişmiyor?​


Cd kabukta yerleşik komuttur. Sudo doğrudan çalıştıracak ayrı bir cd programı bulamayabilir; başka bir kabuk içinde çalıştırılsa bile o alt sürecin dizini değişir, ana terminalin değil. İzin sorununu aşmak için gelişigüzel root kabuğu açmak yerine gerekli dosya işlemini ve yetkiyi belirleyin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.