it-swarm-tr.com

Sudo komutunun yürütülmesi neden uzun sürüyor?

Son birkaç aydır Linux'u (Fedora 10, sonra 11) alıyorum (ve çok keyif alıyorum - bilgisayarları yeniden keşfetmek gibi, öğrenecek çok şey var).

Sudo komutunu çalıştırdığımda şifremi sormam için kullanıcımı aşağıda gösterildiği gibi/etc/sudoers dosyasının son satırına ekledim:

MyUserName ALL = (TÜMÜ) NOPASSWD: TÜMÜ

Şimdi Sudo kullanarak her komut çalıştırışımda, görevi gerçekten gerçekleştirmeden önce fark edilir bir süre duraklıyor (~ 10 saniye). Bu neden olabilir ve bunu nasıl düzeltebilirim? Fedora 11 x86 64'te Sudo sürüm 1.7.1 kullanıyorum.

88
Cuga

Bu soruyu SO ve buraya taşındı. neden ve nasıl çözüleceğinin gerçek nedeni olmak için:

Burada bulund Kullanıcı "rohandhruva" orada doğru cevabı verir:

Bu, yükleme işlemi sırasında ana bilgisayar adını değiştirirseniz olur.

Sorunu çözmek için/etc/hosts dosyasını düzenleyin

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 <ADD_YOURS_HERE> 
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <ADD_YOURS_HERE>
130
Cuga

Sistem günlüğünüzün düzgün çalışıp çalışmadığını kontrol edin; bu benim için soruna neden oldu.

Aşağıdaki komutu çalıştırın

logger 'Hello world'
  1. Komut makul bir süre içinde geri dönüyor mu?

  2. 'Merhaba dünya' /var/log/syslog?

Aksi takdirde, sistem günlüğü arka plan programı çökmüştür. Yeniden başlatmak sorununuzu çözecektir.

25
MattB

Ağa bağlı bir bağda okunması gereken dosyalardan/dizinlerden biri mi yoksa bir şekilde yavaş bir USB aygıtından okumayı mı tetikliyor? Askıyı dene ve nerede yavaş olduğunu gör; çok hızlı geçerse,

Sudo strace -r -o trace.log Sudo echo hi

Her satır, önceki sistem çağrısına girilmesinden bu yana geçen zamanla başlayacaktır.

(İlk Sudo gerekli görünüyor; Bunun sonuçları ne kadar bozacağını bilmiyorum.)

11
ysth

Geçenlerde aynı problemi yaşadığımı fark ettim. Sudo gecikmesi olmadı ve sonra aniden, yaklaşık 10-20 saniyelik bir gecikme oldu. Belirli bir sorunu kullanarak belirledim:

 1. chmod u+s /usr/sbin/strace  (as the root user)

Kendiniz olarak:

 1. Sudo -K
 2. strace Sudo /bin/tcsh

Ve sonra sistem çağrılarının nerede asılı kaldığını bulun.

Benim durumumda, bir DNS çevirisinde asılı olduğunu gördüm, görünüşe göre /etc/resolv.conf Listemdeki DNSen'den biri çok buzy ya da kötü gitti. Bu yüzden karar sırasını değiştirdim ve puf işleri tekrar çabucak çalıştı.

9
mdpc

Ben de aynı sorundan, /var/log/auth.log ve syslog hatalarını kontrol ettim. LDAP sunucuma erişilemediği ve her şeyi yavaşlattığı ortaya çıktı.

Artık LDAP tabanlı yetkilendirme kullanmadım, bu nedenle /etc/nsswitch.conf dosyasındaki tüm "ldap" referanslarını kaldırdım

O zamandan beri her şey tekrar bir cazibe gibi çalışıyor.

5
Sakuraba

Belki de, /etc/sysconfig Dosyasında (/etc/hosts/Network içinde yapılandırılan) ana bilgisayar adının bulunmadığı; bu nedenle, daha önce belirtilen bir dosya eklendikten sonra, dosya hemen açılır.

5
Zahid Hussain

Fedora hakkında emin değilim, ancak Sudo'nun oturum açtığınız yeri kontrol edeceği diğer sistemleri kullandım, ki DNS'iniz iyi ayarlanmamışsa zaman aşımına uğrayabilir. Bu aynı zamanda SSH makineye girdiğinde de görülebilir - bir İstemi bulmak zaman alır.

5
Colin Coghill

SELinux kılıfı

Aynı Sudo komutu yalnızca bir arka plan programında yavaşsa ve komut satırında hızlıysa, Büyük olasılıkla SELinux . (SELinux = NSA Güvenlik Geliştirilmiş Linux çekirdek modülü, Fedora'da varsayılan olarak etkindir.)

Tipik bir durum, http sunucusu ve sunucu yönetimi için sudoers ile kısıtlanmış özel bir komut dosyasıdır:

Apache ALL=(root_or_user) NOPASSWD: /full/path/the_safe_command

Bu durumda, SELinux hakkında denetim günlüğünde ausearch -m avc -ts today Hiçbir şey rapor edilmemesi tipiktir, ancak setenforce 0 Tarafından zorla yaptırmayı geçici olarak devre dışı bırakırsak komut dosyası hızla devam eder. (ve ardından setenforce 1 ile etkinleştirin)

Sistem günlüğündeki (journalcrl) yalnızca ilgili iletiler 25 saniye gecikmeden sonradır:

... Sudo [...] pam_systemd (Sudo: session): Oturum oluşturulamadı: Yanıt gelmedi. Olası nedenler şunlardır: uzak uygulama bir yanıt göndermedi, ileti yolu güvenlik ilkesi yanıtı engelledi, yanıt zaman aşımı süresi doldu veya ağ bağlantısı kesildi.
... Sudo [...]: pam_unix (Sudo: session): kullanıcı kökü için oturum açıldı (uid = 0)

Tüm sessiz "dont denetim" SElinux mesajlarının günlüğü semodule -DB Tarafından etkinleştirilebilir ve semodule -B Tarafından tekrar devre dışı bırakılabilir.
(Umarım yakında bu dava için yakında bir SELinux politika modülü yazabilirim veya bu cevap 'dan bir yöntem kullanılabilir.)

3
hynekcer

Benim için krb5-user/config/locals kuruluyordu. Bunu /var/log/auth.log dosyasını inceleyerek fark ettim. Bu paketleri kaldırmak için apt-get remove komutunu kullanarak düzeltti. Açıkça kerberos (pam_krb5) gerektiren bir bilgisayardaysanız bu paketleri kaldırmayın.

1
Halsafar

/ Etc/hosts dosyanızı kontrol edin ve 127.0.0.1 için bir girişiniz olduğundan emin olun.

( kaynak )

1
Ryan Emerle

Herhangi bir Ana Makine sorununu çözdükten sonra nscd gibi bir DNS önbellek uygulaması çalıştırıyorsanız, kötü DNS önbelleğini temizlediğinizden emin olun:

/etc/init.d/nscd force-reload
1
Roger Smith

Örnek sudoers dosyasına baktığımda, NOPASSWD: bit.

1

Kimlik doğrulama zincirinizde bir çeşit zaman aşımı var gibi görünüyor. Sudo'nun nasıl kimlik doğrulaması yapmaya çalıştığını ve darboğazları nasıl izlediğini kontrol edin.

0
towo

Systemd Örneği

Benim için sistemimde bellek kalmamıştı ve birçok işlem çöktü. Sistemim systemd tabanlı ve orada bir şey çökmüştü. Yaptığım her şeyi hatırlamak zor, ama:

  • systemctl status <any.service> zaman aşımı olur
  • Yapamadım Sudo reboot (sistemd tabanlı)

Çözüm

Yeniden başlatma sorunumu çözdü, ama benim için sadece bir bandaiddi. Neden hala bellek bittiğini/çöktüğünü öğrenmeniz gerekiyor.

0
Eric Fossum

Kimlik doğrulaması için LDAP mi kullanıyorsunuz?

Eğer öyleyse muhtemelen bağlama politikası yumuşak kullanmak istiyorsunuz. /Etc/ldap/ldap.conf (veya /etc/ldap.conf) içinde:

bind_policy soft
0
jtimberman