Kullanıcı eklemek için uygun sudo'ların sözdizimi nedir?


50

/etc/sudoers(Fedora 13) ' deki yorumlara göre :

## Syntax:
##
##    user  MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.

İlgili iki sorum:

  1. ALL=(ALL) ALLAşağıdaki satırdaki ortalama ne anlama geliyor:

    root  ALL=(ALL)   ALL
    
  2. Bu iki çizgiyi test ettim ancak fonksiyonel olarak nasıl farklı olduklarını çözemiyorum:

    superadm    ALL=(ALL)    ALL
    superadm    ALL=ALL
    

Kılavuzu okudum ancak sözdizimi spesifikasyonunu takip etmek zor. Parçanın (ALL) ALLkomut ve etiket özellikleri olduğunu belirledim ancak hala kafamı bulamıyorum.

Yanıtlar:


91

Not: Ben cevap veriyorum 1. Ignacio beri, zaten cevap 2. .

Aşağıdaki sudogirişte:

superadm  ALL=(ALL)   ALL

dört alan var:

  • Birincisi, bazı komut (lar) için yetki verilecek bir kullanıcıyı belirtir.
  • İkincisi nadiren kullanılır. Bu sudo girişinin etkili olacağı bir ana bilgisayar adı listesi. Standart kurulumlarda yalnızca bir ana bilgisayar ilgilidir (localhost), bu nedenle bu alan genellikle olarak bırakılır ALL.
  • Dördüncü alan komutların listesidir superadmyükseltilmiş ayrıcalıklarla çalıştırmak mümkün olacak. ALLtüm komutları ifade eder. Aksi halde, virgülle ayrılmış bir komut listesi kullanın.
  • Üçüncü alan ( (…)isteğe bağlı olan yazılı olan), superadmkullanıcının aşağıdaki komutları olduğu gibi çalıştırabileceği kullanıcıları (ve grupları) belirtir . ALLherhangi bir şeyi seçebilecekleri anlamına gelir (sınırsız). Bu alan atlandı, aynı anlamına gelir (root).

Örnek:

alan   ALL = (root, bin : operator, system) /bin/ls, /bin/kill

Burada alaniki komutu çalıştırmak için izin verilir /bin/lsve /bin/killsıra root(veya bin), gerektiğinde ilave ile operatorveya systemgruplar ayrıcalıkları.

Dolayısıyla , kullanıcı olarak ve bunun gibi grup ayrıcalıklarına sahip alanolmayı seçebilir :lsbinoperator

sudo -u bin -g operator /bin/ls /whatever/directory

-uİhmal edilirse , aynıdır -u root. Eğer -gatlanırsa, hiçbir ek grubu yetkileri verilir.


1
Eh, muhtemelen bu şimdiye kadar en iyi cevap ...
David Betz

1
Bir satır görülmektedir \nkarakter sudoers veya /etc/sudoers.d/your_file_name girişin sonunda zorunludur
ramonrails

Ayrıca, joker karakterleri ana bilgisayar adlarında, yol adlarında ve komut satırı argümanlarında kullanabilirsiniz. Gibi /bin/cat /var/log/messages.?veya /bin/ls /var/log/*daha fazla bilgi burada
Alex

9

Gönderen sudoers(5)adam sayfasında AÇIKLAMA bölüm, Runas_Spec alt bölüm:

İlk Runas_List komut vasıtasıyla olarak çalıştırmak olabilir hangi kullanıcıların gösterir sudo'ın -useçeneği.

...

Runas_Spec belirtilmemişse, komut aynı şekilde çalıştırılabilir rootve grup belirtilemez.

Yani olarak komutları çalıştırmaya çalışırken hiçbir işlevsel fark yoktur rootkullanıldığında değil, yani -ubirlikte sudo. Diğer kullanıcılar gibi komutları çalıştırmaya çalışırken fark önemlidir; ikincisi bunu önleyecektir, ancak eski buna izin verecektir.

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.