logo

Linux sudo

giriiş

Linux sudo komutu şu anlama gelir: Süper Kullanıcının Yaptığı . Genellikle süper kullanıcının yürütmesine izin verilen birkaç komutun öneki olarak uygulanır.

Komuta diğer komutların önüne eklersek, o komutu yüksek ayrıcalıklarla çalıştırır. Başka bir deyişle, kullanıcının, süper kullanıcı gibi diğer kullanıcılar gibi, uygun yetkilendirmeyle birlikte bir komut yemesine izin verecektir.

Seçeneğe eşittir 'yönetici olarak çalıştır' Windows'ta. Sudo seçeneği birden fazla yöneticiye sahip olmamızı sağlar. Sudo komutunu uygulayabilen kullanıcıların, sudoers dosyası içindeki girişin şu konumda konumlandırılmış olması gerekir: '/etc/sudoers/' .

Not: Dosyayı görüntülemek veya düzenlemek için sudo komutunu uygulamamız gerekir. Dosyayı düzenlemek için 'visudo' komutunun uygulanması önerilir.

Sudo komutu, varsayılan olarak, kullanıcıların kendilerini bir root parolasıyla değil, kullanıcının parolası olan bir parolayla doğrulamasını gerektirir.

Sudo komutunun sözdizimi

Sudo komutunun sözdizimi aşağıda belirtilmiştir:

 sudo OPTION... COMMAND 

Sudo komutundaki seçenek

Sudo komutundaki önemli seçeneklerden bazıları aşağıda açıklanmıştır:

1.-İçinde: Anlamı versiyon . Bu seçenek, sürüm numarasını yazdırmak ve çıkmak için sudo komutunu etkinleştirir. -V seçeneği, istekte bulunan kullanıcı zaten kök ise, varsayılan sudo listesi duraklamasının gözlemlendiğini yazdırır.

Linux sudo

2.-l: Anlamı liste . Bu seçenek, kullanıcıya geçerli ana bilgisayar üzerinden izin verilen çeşitli komutların yazdırılmasına yardımcı olacaktır.

Mevcut kullanıcının her komutu sudo olarak uygulayabildiğini gösterir.

Python'da yeni satır
Linux sudo

3. -h veya -help: h anlamına gelir yardım bu seçenekte. Bu seçenek, kullanım ve çıkış mesajını yazdırmak için sudo komutunu etkinleştirir.

Linux sudo

4.-in: Anlamı doğrulamak . Sudo komutu kullanıcının zaman damgasını güncelleyecekse, doğrulama işlemi gerekirse kullanıcının şifresini soracaktır. Sudo komutunun zaman aşımını diğer 5 dakika boyunca uzatır ancak bir komutu yürütmez. Herhangi bir sonuç sağlamaz.

5.-k: Anlamı öldürmek . Bu seçenek, kullanıcının sudo'ya gönderdiği zaman damgasını geçersiz kılar. Bu nedenle, sudo komutunun bir sonraki çalıştırılışında bir parola gerekecektir. -k seçeneği herhangi bir parolaya ihtiyaç duymaz ve kullanıcıların sudo komutunun izinlerini .çıkış Yap dosya.

6.-b: Anlamı arka plan . Bu seçenek, sağlanan komutları arka planda yürütmesi için sudo komutunu bilgilendirir.

Not: Bu seçeneği uygularsak, süreci değiştirmek için kabuk işi kontrolünü uygulayamayız.

Linux sudo

7.-K: Bu seçenek -k seçeneğiyle aynıdır. Ancak şunu ifade eder kesinlikle öldür . Bu seçenek kullanıcının zaman damgasının tamamen kaldırılması için uygulanır. Aynı zamanda herhangi bir şifreye ihtiyaç duymaz.

8.-p: Anlamı çabuk . Bu seçenek, parola istemini (varsayılan) geçersiz kılmamıza ve özel bir parola uygulamamıza olanak tanır. Aşağıdaki gibi yüzde birkaç kaçışa izin verilir:

  • %u, çağrıyı yapan kullanıcının oturum açma adına geliştirildi.
  • %U kullanıcının oturum açma adına geliştirildi
  • %h, herhangi bir etki alanı adı olmadan ana bilgisayar adına (yerel) geliştirildi.
  • %H, etki alanı adıyla ana bilgisayar adına (yerel) geliştirildi (yalnızca makinenin ana bilgisayar adı tamamen nitelendiğinde)
  • %% (ardışık iki karakter) tek bir % karakterine bölünebilir.
Linux sudo

9.-n: Bu seçenek komutu şifre sormadan çalıştıracaktır. Sudo komutunun parola sormasını istemediğimiz birkaç komutu arka plan görevleri olarak (veya kabuk betiğinin içinde) yürütmek istiyorsak çok kullanışlıdır. Bu seçenek etkileşimli olmayan ifadesinin kısaltmasıdır.

boyut yazı tipi lateks

10.-in: Anlamı kullanıcı . Bu seçenek, sudo komutunun kullanıcı olarak root dışında açıklanan komutları yürütmesini sağlar. Bir belirtmek için kullanıcı kimliği Kullanıcı adı yerine şunu kullanabiliriz: #uid .

11.-H: Anlamı EV . Bu seçenek bir ayarlayabilir HOME ortam değişkeni bizim ana dizin passwd dosyasında açıklandığı gibi kök kullanıcının. Sudo komutu varsayılan olarak HOME'u değiştirmez.

12.-s: Şunu ifade eder: kabuk . Bu seçenek, bir aracılığıyla tanımlanan kabuğu çalıştırır. SHELL ortam değişkeni ayarlandığında veya bu kabuk, içinde açıklandığı gibi şifre dosya.

13.-S: Anlamı standart . Bu seçenek, sudo komutunun şifreyi terminal cihazı yerine standart giriş yoluyla okumasını sağlar.

14.-: Bu seçenek, sudo komutunun, komut satırındaki bağımsız değişkenleri işlemeyi durdurması gerektiğini gösterir. En çok -s bayrağıyla birlikte kullanıldığında faydalıdır.

15.-a: Anlamı Kimlik Doğrulama Türü . Bu seçenek, bir kullanıcı doğrulanıyorsa, sudo komutunun, belirtilen kimlik doğrulama türünü kullanmasına olanak sağlar. /etc/login/.config .

Sistem yöneticisi, sudo'ya özgü kimlik doğrulama yöntemlerinin listesini aşağıdakileri ekleyerek açıklayabilir: 'otomatik sudo' içeriye giriş /etc/login/.config .

Linux sudo

Sudo Komutunda Ortam Değişkenleri

Sudo komutu tarafından uygulanan ortam değişkenlerinden bazıları şunlardır:

Evet Hayır. Etiket Tanım
1. EDİTÖR VISUAL düzeltilmediğinde -e modu (sudoedit) içerisinde kullanılabilecek varsayılan bir düzenleyicidir.
2. EV -H veya -s modunda (veya sudo komutu -enable-shell-sets-home seçeneğiyle oluşturulduğunda) kullanıcının ana dizinine (hedef) ayarlanacaktır.
3. YOL Seçenek, yani secure_path sudoers sabitlendiğinde aklı başında değere ayarlanır.
4. KABUK -s seçeneğiyle çalıştırılacak kabuğu belirlemek için kullanılabilir.
5. SUDO_COMMAND Sudo komutu tarafından yürütülen bir komuta ayarlanır.
6. SUDO_PROMPT Şifre istemi olarak kullanılabilir (varsayılan).
7. SUDO_USER Sudo komutunu isteyen kullanıcının oturum açma bilgilerini ayarlar.
8. SUDO_UID Sudo komutunu isteyen kullanıcının kullanıcı kimliğini ayarlar.
9. SUDO_GID Sudo komutunu isteyen kullanıcının kimliğini ayarlar.
10. GÜNEY_PS1 Ayarlanırsa PS1 değerine sabitlenir.
on bir. KULLANICI Kullanıcıya göre ayarlanır (seçenek, yani -u tanımlanmadıkça kök).
12. GÖRSEL Bu varsayılan bir düzenleyicidir ve -e modunun (sudoedit) içinde kullanılır.

Sudo komutunun geçmişi

Cliff Spencer ve Robert Coggeshall asıl alt sistemi 1980 yılında SUNY/Buffalo'da Bilgisayar Bilimleri Bölümü'nde yazdılar. Robert Coggeshall, sudo'yu Colorado Boulder Üniversitesi'ne yanında taşıdı. Özellikler ve kod, 1986-1993 yılları arasında Mühendislik Fakültesi ve Colorado Boulder Üniversitesi Bilgisayar Bilimleri Bölümü'nün BT üyeleri ve Todd C. Miller ile birlikte uygulamalı bilimler tarafından büyük ölçüde değiştirildi.

10 ml ne kadar

En son sürüm, halka açık olarak 1994'ten beri Todd .C Miller (OpenBSD geliştiricisi) tarafından yönetilmektedir ve 1999'dan beri ISC tarzı lisansla paylaşılmaktadır.

Thomas Claburn, Microsoft'un sudo ayrıcalığına sahip olduğu gerçeğine yanıt olarak Kasım 2009'da bu tür belirsizliklerin abartılı olduğunu belirtti. Dar anlamda, iddialar sudo yaklaşımı yerine belirli bir GUI'ye göre çerçevelendi.

Sudo komutunun tasarımı

Kullanıcılar, su komutunun aksine, gerektiğinde süper kullanıcı yerine şifrelerini sudo'ya sağlayabilirler. Erişilebilir kullanıcıların, diğer hesabın şifresinin gizliliğini bozmadan nitelikli ayrıcalıkları kullanmalarına izin verir.

  • Yapılandırma dosyası kullanıcının erişimine izin verdiğinde, kimlik doğrulamanın ardından sistem talep edilen komutu ister.
  • Sudo komutu, kullanıcının çağrı haklarını sözde terminal başına bir ek süre (genellikle 5 dakika) ile korudu ve kullanıcının, tekrar herhangi bir şifre vermek zorunda kalmadan talep edilen kullanıcı olarak çeşitli ardışık komutları yürütmesine izin veriyor.
  • Sudo komutu, çalıştırılan her komutun bir denetim ve güvenlik özelliği olarak günlüğe kaydedilmesi için yapılandırılmış olabilir.
  • Bir kullanıcı, yapılandırma dosyasında listelenmeden sudo komutunu çağırmak için çekim yaptığında, bu kullanıcıya çekimin kaydedildiğini bildiren bir istisna örneği sunulur.
  • Sisteme bir giriş kaydedilecek ve kök kullanıcıya e-posta yoluyla bilgi verilecektir.

Sudo komutunun yapılandırılması

/etc/sudoers dosya, bir kök kullanıcının veya listelenen diğer kullanıcının haklarını içerirken, bir dizi komutu çalıştırma iznine sahip kullanıcı gruplarını veya kullanıcıların listesini içerir. Program parola gerektirecek şekilde yapılandırılmış olabilir.

Sudo komutunun etkisi

Birkaç sistem dağıtımında, sudo komutu, çeşitli yönetim işlemleri için süper kullanıcının farklı bir oturum açmasının (varsayılan) kullanımının yerini almıştır; en önemlisi, birkaç Apple'ın macOS ve Linux dağıtımlarında.

Birkaç istismarı önler ve aynı zamanda yönetici komutlarının daha korumalı bir şekilde günlüğe kaydedilmesine izin verir.

RBAC

Sudo komutu, SELinux ile işbirliği içinde rol tabanlı erişim kontrolü dahilinde çeşitli roller türleri arasında geçiş için kullanılabilir.

Benzer programlar ve araçlar

Visudo, sudo'nun yapılandırma dosyasının hatasız bir şekilde düzenlenmesine izin veren bir komut satırı yardımcı programıdır. Sözdizimi ve akıl sağlığı kontrolleri gerçekleştirir ve aynı zamanda kilitlerle birlikte birden fazla eşzamanlı düzenlemeyi de engeller.

Runas programı Microsoft Windows'ta aynı performansı kolaylaştırır; ancak geçerli uzun komut satırlarını bir alt öğeye, ortam değişkenlerine veya dizinlere aktaramaz.

Çocuğun herhangi bir kullanıcı gibi yürütülmesine yardımcı olurken genel yükseltmeyi desteklemez. Windows için, bu durum ayrıntılarının her birini aktarabilen ve çocuğu başka bir kullanıcı veya yükseltilmiş olarak başlatabilen gerçek bir sudo ve su eklenir. Hamilton C kabuğu .

GUI sudo için kullanılabilir ( gksudo özellikle) ancak Debian'da kullanımdan kaldırıldı ve artık Ubuntu'da da bulunmuyor. Diğer çeşitli kullanıcı arayüzleri doğrudan sudo üzerinde tasarlanmamıştır, ancak aşağıdaki gibi idari hedefler için aynı ayrıcalık yükseltmeyi (geçici) kolaylaştırır Mac OS X Yetkilendirme Hizmetleri, Microsoft Windows İçinde Kullanıcı Hesabı Denetimi , Ve Unix benzeri işletim sistemlerinde pkexec .

java örneği

OpenBSD'nin 5.8 sürümünden bu yana (Ekim 2015), bağış yapmak gecerli. OpenBSD'nin temel sistemindeki sudo komutunun yerine geçeceği belirtildi.

bash else if

onun vs. sudo

Daha klasik bir Linux kurulumuna alışkınsak o zaman root ayrıcalıklarını kazanmak için su komutunu uygulamaya da alışığız. Kök olarak etkin bir şekilde oturum açmak için su komutunu da verebiliriz (kökün evi bizim evimiz olur).

Bu tür dağıtımları kullanarak rota kullanıcısı olarak da giriş yapabiliriz. Ancak root kullanıcı olarak oturum açmak iyi bir fikir değildir. Eğer su komutuna bağlı ve root kullanıcı girişine izin veren bir dağıtım uyguluyorsak, standart kullanıcımız olarak giriş yapın ve su komutunu root kullanıcıya verin.

Büyük olasılıkla, sudo tabanlı dağıtımları kullanarak kök kullanıcı olarak oturum açamayacağımızı fark edeceğiz. Hatta Ubuntu gibi bazı dağıtımlarda root kullanıcısının hesabı devre dışı bırakılmıştır.

Root kullanıcı olarak giriş yapıp root kullanıcı olmak için su komutunu kullanamıyoruz. Yapabileceğimiz, yönetici ayrıcalıkları kazanmak için sudo komutunu kullanarak bu komutları vermektir.

sudo komutunun kullanımı

Linux'ta yönetim uygulamalarını yürütmenin iki farklı yolu vardır. Ya su komutunu kullanarak süper kullanıcıyı ya da kök kullanıcıyı değiştirebiliriz ya da sudo komutundan faydalanabiliriz.

Terminalde geçirdiğimiz zamanı değerlendirdiğimizde sudo oldukça sık kullanacağımız önemli komutlardan biridir. Kök kullanıcı olarak oturum açmak yerine sudo komutunu kullanmak daha korumalıdır çünkü tek bir kullanıcıya, kök parolasını bilmeden yalnızca birkaç yönetici ayrıcalığı verebiliriz.

Bunu nasıl uygulayacağımız hangi dağıtımı kullandığımıza bağlıdır. Birkaç dağıtım kök kullanıcıya izin verir (örneğin OpenSUSE, Red Hat , veya Fedora ), ancak birkaçı bunu beğenmiyor (beğenmiyor) Debian Ve ubuntu ).

Sudo komutunu kullanmak en temel haliyle basittir. Örneğin, bir yazılım parçasını yüklemek için dpkg'ı çalıştırmamız gerekiyor. Eğer sadece çalıştırırsak dpkg -i yazılım.deb komutunu standart kullanıcı olarak kullanırsak, kullanıcının komutu çalıştırma iznine sahip olmadığını belirten bir hata mesajı alırız.

Bu nedenle varsayılan olarak standart kullanıcılar bir Linux makinesine çeşitli uygulamalar yükleyemezler. Linux makinesine herhangi bir uygulama yüklemek istiyorsak, süper kullanıcı ayrıcalıklarına sahip olmamız gerekir.

Bunun yerine şunu çalıştıracağız: sudo dpkg -i yazılım.deb Kurulumu başarıyla yürütebilmemiz için komut.

Sudo komutunu yükleme

Sudo komutunun paketi çoğu Linux dağıtımına önceden yüklenmiştir. Paketin sistemimize kurulduğunu doğrulamak için aşağıdaki adımların izlenmesi gerekmektedir:

  • Öncelikle terminalimizi açıyoruz.
  • Sudo yazıp enter butonuna tıklayın.
  • Sistemimizde sudo paketi kuruluysa kısa bir mesaj gösterecektir.
  • Aksi halde sudo komutu bulunamadı şeklinde bir mesajla bilgilendireceğiz.
  • Eğer paket kurulu değilse over Distribution paket yöneticisini uygulayarak bu paketi kolaylıkla kurabiliriz.

Sudo'yu Fedora ve CentOS'a yükleyin

 $ yum install sudo 

Sudo'yu Debian ve Ubuntu'ya yükleyin

 $ apt install sudo 

Linux sudo

Sudo Güncelleme Komutu

Linux sudo