Linux üzerinde parolasız `sudo` kurulumu nasıl yapılır?


156

sudoRHEL (Fedora, CentOS, vb.) Veya Ubuntu dağıtımlarında şifresiz erişim nasıl ayarlanabilir ? (Dağıtımlarda aynıysa, bu daha da iyi!)

Ayarlama: yetkisiz erişim endişesi olmayan kişisel ve / veya laboratuar / eğitim ekipmanı (yani, cihazlar kamuya açık olmayan ağlarda ve herhangi bir / tüm kullanıcılar tamamen güvenilirdir ve cihazların içeriği "normal vanilya" dır) .


1
@Richipal'den gelen cevap, en az çabayla en iyi çalışanın aktüel olduğu gerçeğidir: sudoer kuralları ters sırayla uygulanır.
a1an

2
@ A11 kuralları, sudoers dosyasında listelenen sırayla uygulanır ve uygulandıklarında birbirlerini geçersiz kılarlar. Dolayısıyla, bir kuralın hiç değişmesini istemiyorsam, en sonunda uygulanacak ve geçersiz kılınamayacak şekilde dosyayı sonuna doğru koyardım.
rsjethani

Yanıtlar:


173

Medina'nın yorumu sayesinde EDIT : Man sayfasına göre yazabilmelisin

ALL            ALL = (ALL) NOPASSWD: ALL

Tüm kullanıcıların tüm komutları şifre olmadan çalıştırmalarına izin vermek için.


Başvuru için önceki cevabımı bırakıyorum:

Formun bir satırını eklerseniz

%wheel         ALL = (ALL) NOPASSWD: ALL

için /etc/sudoers(kullanarak visudoelbette komutu), bu gruptaki herkes sağlayacak wheelbir şifre sağlamadan herhangi komutları çalıştırın. Bu nedenle, en iyi çözümün tüm kullanıcılarınızı bir gruba koymak ve buna benzer bir satır koymak olduğunu düşünüyorum sudoers- açıkçası wheelkullandığınız asıl grupla değiştirmelisiniz .

Alternatif olarak, bir kullanıcı takma adı tanımlayabilirsiniz.

User_Alias     EVERYONE = user1, user2, user3, ...

ve şunu kullanın:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

/etc/sudoersbir kullanıcıyı her eklediğinizde veya kaldırdığınızda güncellemeniz gerekir .


2
Tüm kullanıcıları belirtmek ALLyerine işe yaramaz mı *? Örneğe bakınız sudoers(5).
medina

1
@ medina: öyle, ben de man sayfasını okurken bunu özledim. Düzenleyeceğim.
David Z,

6
Ubuntu altında, /etc/sudoers.d altında bir dosya oluşturun ve bu girişleri içine koyun, sonra
sudo'ları

1
CentOS7’de bu giriş varsayılan olarak var, yorum yaptı.
killjoy

1
Yalnızca kopyalayarak / yapıştırarak centOS'ta kullanmayı başardı, doğrudan yapılandırmayı yazma girişimlerinin hiçbirinde başarısız oldu. Ancak sonuç alanlar dışında aynı görünüyor ...
MUY Belçika

95

Yukarıdaki çözümleri boşuna değil denedim. Aşağıdaki çözüm benim için çalıştı / etc / sudoers dosyasını düzenleyin ve aşağıdaki satırı ekleyin

username ALL=(ALL) NOPASSWD: ALL

Anahtar diyor son satırdan sonra eklemektir

#includedir /etc/sudoers.d

1
//, Bu, özellikle de bazı uygulamalar sistem kullanıcıları için kendi kurallarını ekleyeceği zaman, Richipal'ı yapmanın daha iyi bir yoludur. Sudoers.d hakkında daha fazla bilgi: sudo.ws/man/1.8.13/sudoers.man.html
Nathan Basanese

1
//, cevabınıza Gearoid Murphy’den gelen bazı teşhisleri eklemek ister misiniz?
Nathan Basanese,

1
Bu açıklama için teşekkürler. #İncludedir /etc/sudoers.d satırından sonra eklemek CentOS 7'de önemli gibi gözükse de, CentOS 6'daki satırda daha önce satırın olması iyi çalışıyor gibi görünüyor.
dmohr

3
% Tekerleğin NOPASSWD'sini göz ardı etmekle ilgili mesele /etc/sudoers.d/USERNAME, grubun NOPASSWD iznini geçersiz kılmaktan kaynaklanıyor gibi görünüyor . NOPASSWD'yi içeriye uygulamak /etc/sudoers.d/USERNAMEsorunu çözer.
eel ghEEz

1
Dahil etme önemli sonra bu büyük ups,
Theodore Howell

27

Bu sayfadaki tüm cevapları faydalı sonuç olmadan denedim. Sonunda bunu anladım, sudo haklarınızı listelemek için bu komutu kullanın:

sudo -l

Bu size şöyle bir çıktı vermelidir:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Kök ayrıcalıklarıyla yapılandırıldığımı ancak hala parolayı ("(ALL) ALL") bekleyen bir sudo kuralına uyan bir grubun (yönetici) bir parçası olduğumu gösteriyor. Bu beni istemeye zorladı. Söz konusu kural yönetici kullanıcılardı:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Bunu bir kez yorumladığımda, şifre olmadan sudo yapabildim. Umarım bu başkasının yararınadır.


1
Ahhh, teşekkürler! Bu beni çıldırtıyordu ... benim durumumda benim kullanıcı "sudo" grubunun yanı sıra "admin" (oluşturduğum) bir parçasıydı ve her birinin izinleri sizin durumunuzda olduğu gibi yanlış eşleşmişti . Şimdi bu şeyler çalışıyor! :)
neezer,

14
Bir satır yorum yorum künt bir araçtır. Bunu duymak ilginizi çekebilir göre "sudo sudoers dosyasını okur ve yukarıdan aşağıya doğru sırayla izinleri uygular dosyasındaki son satırı önceki çatışma üzerine yazacaktır Yani." Ubuntuforums.org/showthread.php?t=1132821 - - ve bu benim için çalıştı.
David J.,

10

İçinde /etc/sudoersdosyanın altına doğru bir örnek var:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

2
Bu örnek benim değildi - ama teşekkürler!
warren

1
Özlü cevabınız gibi
Bay Pei

6

Sudoers dosyasına dokunmadan bunu yapmanın başka bir yolu var.

  • Düzen /etc/pam.d/suve aşağıdaki satırı:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Kullanıcıyı wheelgruba ekleyin .


2

Sudoers dosyasına dokunmadan bunu yapmanın başka bir yolu var.

  • Düzenleyin /etc/pam.d/sudove aşağıdaki satırı ekleyin:

    Yeterli pam_wheel.so güven use_uid
  • Kullanıcıyı wheelgruba ekleyin .

"Sudo" yerine "su" ile ilgili orijinal cevap için "topdog" ve "Daniel Serodio" 'ya atıfta bulunulur. Bunu referans olarak kullandım ve utanmadan kopyaladılar ve yazılarını değiştirdim.


1
Verbatim kopyalamak yerine, onları kredilendirmek daha iyi olur, ancak cevaplarınızın tam olarak ne kadar farklı olduğu konusunda net olacağımı düşünüyorum. Bu parolasız verir varsayalım suşifresiz yanı sıra / yerine, sudo? Daniel'in eklemesi bu arada, sadece biçimlendirme.
mwfearnley
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.