Neden sudo deniyor?


30

Neden sudoterminal komutunu idari olarak yapmak için kullanıyoruz ? Neden adminya da başka bir şey değil? Bir nedeni var mı sudo?


19
Oku sudo ls"do, süper kullanıcı olarak ls" (ve, aptalca, anımsatıcılar komutları hatırlamak için önemli olan değil) "(ve hayır, muhtemelen bu demektir s cadı u ser ve bunu göz önüne alındığında, suaraç kullanıcı geçiş Ama eski güzel buluyorum.; -))
Rmano

1
superuser admin'den çok daha iyi :) Cevap verdiğiniz için teşekkür ederiz.
Mohammad

2
Yaptığın o sudo voodoo. :)
Shadur

14
Eğlenceli gerçek: İtalyanca'da (I) tersudo demektir . Ben yorumlamak ister olarak yanlış komutunu vererek ve tüm verileri silerek korkusuyla terleme . Bu , yalnızca komutların önüne eklemeniz gerektiğini unutmamanıza yardımcı olur 1) Gereklidir 2) Ne yaptığınızı biliyorsunuz 3) Yazım hatalarından kaçınmak için komut satırını dikkatlice yazdınız ve okudunuz (özellikle zor alanlar yakalamak ve gerçekten çok beklenmedik sonuçlara yol açabilir). sudo Xsudo
Bakuriu

2
@Roño su başlangıçta “süper kullanıcı” anlamına geliyordu , “yedek kullanıcı” daha sonra geldi .
Gilles 'SO- kötülük'

Yanıtlar:


32

Gönderen Vikipedi :

sudo, kullanıcıların başka bir kullanıcının (normalde süper kullanıcı veya kök) güvenlik ayrıcalıklarıyla programları çalıştırmalarına izin veren Unix benzeri bilgisayar işletim sistemleri için bir programdır. Adı "su" (yerine kullanıcı) ve "yapmak", veya harekete geçme işlemidir.

Su komutundan farklı olarak, kullanıcılar genellikle root şifresi yerine sudo'ya kendi şifrelerini sağlarlar. Kimlik doğrulamasından sonra ve / usr / local / etc / sudoers (bazen / etc / sudoers'da bulunur) yapılandırma dosyası kullanıcı erişimine izin veriyorsa, sistem istenen komutu çağırır. Sudoers yapılandırma dosyası, bunlarla sınırlı olmamak üzere, büyük miktarda bir yapılandırılabilirliği mümkün kılar: kök komutları yalnızca çağrı yapan terminalden etkinleştirmek; belirli komutlar için şifre gerektirmemek; kullanıcı veya grup başına şifre istemek; her seferinde bir şifrenin tekrar girilmesini gerektiren veya belirli bir komut satırı için hiçbir zaman bir şifre gerektirmeyen. Ayrıca, değişken argümanlarına veya çoklu komutlara izin verecek şekilde yapılandırılabilir ve hatta normal ifadelere sahip komutları da destekler.

Doğrudan kullanıcı girişi olmadan, süper kullanıcı (yönetici) ayrıcalıklarına sahip geçici bir kerelik komutudur.


11
Wiki kısmı doğru. "Mac Su" ile ilgili yorum doğru değil. Mac'ler de var sudove suBSD ve Linux yaptığımız gibi,.
daviewales

@Virusboy Merhaba, Bu konuyu denediğim için üzgünüm. Ama bilmeliyim ki ubuntu 14.04'ü Toshiba M840 i3-3110M ile kullanmak kolay mı. Teşekkür ederim.
Bonn,

Herhangi bir bilgisayarda kolaydır
Virusboy

21

xkcd: Sandviç

Sudo'dan önce çoğu yönetici root kullanıcısı olarak oturum açtı, çünkü tüm haklarınız olduğu gibi sisteminizi yapılandırmanın kolay bir yolu. Ancak, küçük bir hata veya yanlış bir internet bağlantısı ve tüm sisteminiz etkilenebilir veya tehlikeye girebilir.

Bu sorun nedeniyle, sudo ortaya çıktı . Amaç idari ayrıcalıkları sadece kısa bir süre için ve sadece gerektiğinde kullanmaktı. Ayrıca, bu kullanıcının başka bir hesaba giriş yapmasını önler. Bu açıkça sistem güvenliğini artıracaktı .

Ubuntu altında , sisteminizin güvenliğini arttırmayı seçerler. Böylece 'sudo' yolunu izlemeye karar verdiler. Kök kullanıcı devre dışı; Buna gerek yoktur ve özellikle bir kullanıcının X arayüzü üzerinden kök kullanıcı ile oturum açma riski yoktur. Ayrıca, yetkili kullanıcılar için her komutun sudo ile başlatılmasına izin vermişlerdir. İşin güzel yanı, güçlü kullanıcıların kök hesaba erişebilmeleri.

Dezavantajları sudo:

  • Size hangi komutları sudo aracılığıyla izin veriyorsunuz?
  • Yönetici ayrıcalığı gerektiren her komuttansudo önce yazmanız gerekir.
  • Sık sık şifreyi yeniden yazmanız gerekir .

Ne sudodemek istiyorsun? Adı, "su" (yerine kullanıcı) ve "do" nin bir birleşimidir.

Neden sudodeğil admin? Bence sudoaraçları adminbelirli bir süre için ve bunu sadece gerektiğinde.

Windows ortamından gelen insanlar neden olmadığını admin bilmeliler :)

Kaynaklar: Site
Resmi: xkcd


Peki neden rodo denmiyor?
JamesRyan

3
“Sudo öncesi” paragrafınız yanlış. Arasında hiçbir fark yoktur suve sudobu bağlamda, kimlik bilgileri kullanılan iki arasındaki tek fark. Daha güvenli olmak sudoyerine kullanmak su(aslında biraz daha az güvenlidir); sudo'nun ana yararı (ve Ubuntu'nun bunu seçmesinin nedeni) kullanıcı için basitliktir (hatırlanması gereken tek şifre).
Gilles 'SO- kötülük'

11

Linux Vakfı'nın bir ürünü olan Linux.com'dan:

Sudo, " yerine kullanıcı yapmak " ya da " süper kullanıcı yapmak " anlamına gelir (nasıl bakmak istediğinize bağlı olarak). Sudo'nun yaptığı şey Linux dağıtımları için inanılmaz derecede önemli ve çok önemli. Etkili olarak, sudo, kullanıcının bir programı başka bir kullanıcı olarak çalıştırmasına (çoğunlukla kök kullanıcı) izin verir.

[Vurgu madeni.] Kaynak


3

süper kullanıcı yapmak

Süper kullanıcı olmak için bir emir var.

$ su
# apt-get install somehorror
# exit
$

sudo bunu bir seferde yapmanıza izin verir ve sihir güçlerinizden feragat etmeyi unutmayın.

$ sudo apt-get install somehorror

2
su("yedek kullanıcı") herhangi bir kullanıcı olmanıza izin verir : bir kullanıcı adını argüman olarak belirleyebilirsiniz.
David Richerby

1
Aslında, ikisi tam olarak aynı değildir, ancak çoğu durumda benzerdir. Fakat sudo temel olarak süper kullanıcı ayrıcalıklarına sahip bir program çalıştırmanıza izin verir, fakat normal ortamınızı aynı tutar. su aslında sizi süper kullanıcı ortamıyla süper kullanıcı haline getirir.
Marty Fried '

3

Neden "admin" olmadığına - ya da daha dolaylı olarak, neden su "switchUser" ya da onun gibi bir şey değil - Geleneksel Unix komutları, Unix'in kökenleriyle ilgili tarihsel nedenlerden ötürü asgari kısaltma olma eğilimindedir.

En temel sebepten ötürü, aynı sebepten geri dönmemiz gerekiyor, buna Unix denir. Unix'in büyük kısmı, çok kullanıcılı ilk çoklu görevli işletim sistemlerinden biri olan MIT Multics'ten ilham alıyordu. (Unix, kime sorduğuna ve şu anki ruh hallerine bağlı olarak adını "Multics'in tekili" veya "kısır Multics" olarak alır.)

Multics'in diğer yenilikleri arasında, gerçek dosya konumunu dizin bilgisinden ayırma ve tek bir dosyanın birden fazla isme sahip olması kavramını ortaya koydu. ("Linkler", Unix terimlerinde.) Multics bundan tam olarak faydalandı; Çoğu Multics komutunun her ikisi de ALongNameThatIsImpossibleToType ve ASNTOECR'ye sahiptir (yalnızca uzmanların hatırlayabileceği kısa bir ad). Deneyimler, uzun isimlerin gerçekten çok fazla kullanıcı dostu olmadıklarını gösterdi, çünkü gerçekçi olarak, o zamanlar tüm kullanıcılar hızlı bir şekilde "uzmanlar" oldu ve neredeyse hiç kimse uzun isimleri kullanmadı. Unix, Multics'in bazı tasarımlarını benimsediğinde, sadeleştirmelerinden biri kullanılmayan uzun isimleri atmak ve sadece uzman dostu isimleri tutmaktı.

Bu aynı zamanda Unix'in işletim sistemini azaltma felsefesine ve temel komutunu temellerine göre ayarlayarak daha küçük sistemlerde verimli çalışmasına izin veriyor. O günlerde, programcılar hala her baytı ve mümkün olan her bir çevrimi koruyordu. İşlemciler inanılmaz derecede yavaştı, terminal hızları da oldukça yavaştı ve bellek çok daha pahalıydı (ve yavaştı ve varsa küçük önbellekleri vardı). Sistem komutlarını minimum seviyede tutmak, gerçekte (eğer varsa) gerçek kaynakları korumamış olabilir, ancak zamanın zihniyeti için "doğru" hissetti.

Kullanıcı dostu komut isimleri konusunda ısrar ediyorsanız, Unix cevabı "Bir kabuk betiği yazmayı biliyorsunuz; kendiniz uygulayın." Öğrenmeyi ve / veya kodlamayı sevmiyorsanız, Unix'ten memnun olmayacaksınız ve başka bir şey kullanmalısınız. ”


3

" Süper kullanıcı " su ilk başta türetilmiş olsun, olmasın, verdiğiniz kullanıcı adı bir üst kullanıcı olmak zorunda olmadığından yanlış. Aynı işlemi kullanarak başka bir kullanıcı olarak komutları çalıştırmak için sudo -u.

" Yedek kullanıcı " daha doğrudur, ancak tıknazdır. Beni bir vekil öğretmen hakkında düşündürüyor.

Bu yüzden subasitçe "kullanıcı değiştir" ve sudoböylece "kullanıcı değiştir" yapmayı tercih ediyorum .


1
Her zaman tot süper kullanıcı yapmak ama kullanıcı sesi daha doğru yerine
BeyondProgrammer

1

Gönderen Sudo web :

"Sudo nedir?

Sudo (su "do"), bir sistem yöneticisinin, bazı kullanıcılara (veya kullanıcı gruplarına) komutları ve bağımsız değişkenlerini denetlerken bir veya daha fazla komutun kök veya başka bir kullanıcı olarak çalıştırılmasını sağlama yetkisi vermesine izin verir. ."

"Sudo, ilk kez 1980'de Bob Coggeshall ve Cliff Spencer tarafından SUNY / Buffalo'daki Bilgisayar Bilimleri Bölümünde tasarlandı ve uygulandı. 4.1BSD çalıştıran VAX-11 / 750'de çalıştı. , Gretchen Phillips, John LoVerso ve Don Gworek, 1985 yılının Aralık ayında Usenet haber grubundaki net.sources'te gönderildi. "

Bununla birlikte, herhangi bir kanıt olduğuna inanmasam da, adın bir tür inek programcı şakası olduğuna her zaman inandım. "Su" (super user) "do" komutuna sahipsiniz ancak aslında süper bir kullanıcı değilsiniz - "doo" yu "doh" a çevirin ve "sudo" ifadesi "sahte" gibi görünüyor / sahte , sahte).


-2

Çoğu kişi, "süper kullanıcının yaptığı" nın bir karışımı olduğu cevabını verdi. Bunu sevdim, ancak bunun yerine "ikame kullanıcı yapmak" anlamına geldiğini söylemek daha doğru olabilir çünkü -u bayrağıyla olduğu gibi "ne yapacağınızı" seçebilirsiniz.

Ayrıca psuedonym kelimesiyle ilgili bir oyun olarak düşünüyorum çünkü -u bayrağını kullanan bir başkası, kök veya başka bir kullanıcı gibi davranabilirsiniz.


3
Eh, soru neden bu şekilde adlandırılmıştı, backronyms ve / veya anımsatıcılar için değil, bu yüzden ... [kaynak belirtilmeli]
derobert 16

Ayrıca varsayılan hedef kullanıcı olmak zorunda değildir root(böyle olması veya uid 0 ile en az bir etmek için mantıklı ve genellikle olsa), bkz runas_defaultiçinde sudoers.
Stéphane Chazelas

"backronyms" kullanımı ve siteyi yanlış cevaplardan uzak tutmak için @derobert +1.
üç bardak

@sch teşekkürler, bunu bilmiyordum.
üç bardak
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.