Saya telah mengambil Linux (Fedora 10, kemudian 11) selama beberapa bulan terakhir (dan sangat menikmatinya - itu seperti menemukan komputer lagi, begitu banyak hal untuk dipelajari).
Saya telah menambahkan pengguna saya ke baris terakhir file / etc / sudoers seperti yang ditunjukkan di bawah ini, sehingga saya tidak dimintai kata sandi ketika saya menjalankan perintah sudo:
MyUserName ALL = (ALL) NOPASSWD: ALL
Sekarang setiap kali saya mengeksekusi perintah menggunakan sudo, itu berhenti sejumlah waktu sebelum benar-benar melakukan tugas (~ 10 detik). Mengapa ini terjadi dan bagaimana saya memperbaikinya? Saya menjalankan Sudo versi 1.7.1 pada Fedora 11 x86 64.
linux
permissions
sudo
anon
sumber
sumber
Jawaban:
Saya mengajukan pertanyaan ini pada SO dan dipindahkan di sini. Yang mengatakan saya tidak lagi memiliki kemampuan untuk mengedit pertanyaan seolah-olah saya memilikinya, atau bahkan menerima jawaban yang benar, tetapi ini ternyata menjadi alasan sebenarnya mengapa dan bagaimana menyelesaikannya:
Ditemukan di sini Pengguna "rohandhruva" di sana memberikan jawaban yang benar:
sumber
sudo
perintah harus melihat hostname agar dapat berfungsi? Apa hubungannya dengan nama host sayasudo echo hello
? Bagaimanapun, terima kasih atas jawabannyaPastikan daemon syslog Anda berfungsi dengan benar; ini menyebabkan masalah bagi saya.
Jalankan perintah berikut
Apakah perintah kembali dalam jumlah waktu yang wajar?
Apakah 'Hello world' muncul di
/var/log/syslog
?Jika ini bukan masalahnya, daemon syslog telah macet. Restart itu akan memperbaiki masalah Anda.
sumber
service rsyslog restart
service rsyslog restart
memperbaiki perintah sudo saya yang lambat.Apakah salah satu file / direktori yang perlu dibaca pada mount jaringan, atau entah bagaimana memicu pembacaan dari perangkat usb lambat? Coba strace dan lihat di mana lambatnya; jika terlalu cepat, lakukan
Setiap baris akan mulai dengan waktu yang diambil sejak memasuki syscall sebelumnya.
(Sudo awal tampaknya diperlukan; Saya tidak tahu berapa banyak yang akan mengganggu hasil.)
sumber
Baru-baru ini saya menemukan bahwa saya memiliki masalah yang sama. Tidak ada penundaan sudo dan kemudian tiba-tiba, sekitar penundaan 10-20 detik. Saya menentukan masalah spesifik menggunakan:
Seperti dirimu sendiri:
Dan kemudian temukan di mana panggilan sistem tergantung.
Dalam kasus SAYA, saya menemukan bahwa itu tergantung pada terjemahan DNS, ternyata salah satu DNSen dalam daftar saya
/etc/resolv.conf
sangat buzy atau rusak. Jadi saya mengubah urutan resolusi dan beberapa hal bekerja dengan cepat lagi.sumber
hosts
baris di /etc/nsswitch.conf saya. Saya telah menambahkan "resoluskan dns" sebagai awalan kehosts
nilai. Ketika saya menghapus awalan ini, sudo cepat lagi.Saya tidak yakin tentang Fedora, tetapi saya telah menggunakan sistem lain tempat sudo akan memeriksa dari mana Anda masuk, yang jika DNS Anda tidak diatur dengan baik dapat memakan waktu lama hingga habis. Ini juga dapat dilihat saat SSH'ing masuk ke mesin - dibutuhkan waktu lama untuk menghasilkan prompt.
sumber
Saya menangani masalah yang sama, saya memeriksa /var/log/auth.log dan syslog untuk kesalahan. Ternyata server LDAP saya tidak dapat dijangkau dan memperlambat semuanya.
Saya tidak lagi menggunakan autent berbasis LDAP, jadi saya menghapus semua referensi "ldap" dari /etc/nsswitch.conf
Sejak itu semuanya bekerja seperti pesona lagi.
sumber
Dalam hal ini, ditemukan nama host (yang dikonfigurasi dalam
/etc/sysconfig
/ jaringan) tidak ada dalam/etc/hosts
file; jadi setelah menambahkan file yang disebutkan sebelumnya, file segera terbuka.sumber
Saya memiliki masalah yang sama, saya memperbaikinya dengan menempatkan kedua nama host (mis. Mybox) dan hasil lengkap dari perintah hostname (mybox.mydomain.com). Ini jelas benar. Pergi dari 2 menit untuk membuka / etc / hosts ke akses instan.
sumber
Sel SELinux
Jika perintah sudo yang sama lambat hanya dalam daemon dan cepat pada baris perintah, maka itu kemungkinan disebabkan oleh SELinux . (SELinux = modul kernel Linux Enhanced NSA Security, diaktifkan di Fedora secara default.)
Kasus khas adalah server http dan skrip khusus untuk manajemen server, dibatasi pada
sudoers
:Biasanya dalam kasus ini bahwa tidak ada tentang SELinux yang dilaporkan dalam log audit
ausearch -m avc -ts today
, tetapi skrip berjalan cepat jika kita menonaktifkan sementara penegakan olehsetenforce 0
. (lalu kembali aktifkan olehsetenforce 1
)Satu-satunya pesan yang relevan di log sistem (jurnalcrl) adalah ini setelah penundaan 25 detik:
Logging dari semua pesan SElinux "jangan-audit" yang dibungkam dapat diaktifkan oleh
semodule -DB
dan dinonaktifkan kembali olehsemodule -B
.(Saya harap saya segera menulis modul kebijakan SELinux untuk kasus ini di sini atau metode dari jawaban ini dapat digunakan.)
sumber
fprintd
(otentikasi sidik jari) pelakunya. Menghapusfprintd
danfprintd-pam
menyelesaikan masalah untuk saya.Dari melihat
sudoers
file sampel yang saya miliki, saya percaya seharusnya ada spasi setelahNOPASSWD:
bit.sumber
Periksa file / etc / hosts Anda dan pastikan Anda memiliki entri untuk 127.0.0.1
( sumber )
sumber
Setelah memperbaiki masalah host, pastikan Anda menghapus cache DNS yang buruk jika Anda menjalankan aplikasi cache DNS seperti nscd:
sumber
Bagi saya itu adalah krb5-user / config / locales sedang diinstal. Saya perhatikan ini dengan memeriksa /var/log/auth.log. Menggunakan apt-get remove untuk menghapus instalasi paket-paket itu. Jangan hapus paket-paket itu jika Anda menggunakan komputer yang membutuhkan kerberos (pam_krb5) jelas.
sumber
Apakah Anda menggunakan LDAP untuk otentikasi?
Jika demikian, Anda mungkin ingin menggunakan kebijakan bind lunak. Di /etc/ldap/ldap.conf (atau /etc/ldap.conf):
sumber
Sepertinya Anda memiliki semacam batas waktu dalam rantai otentikasi Anda. Periksa bagaimana sudo mencoba mengotentikasi dan mengawasi kemacetan.
sumber
Case Systemd
Bagi saya, sistem saya sudah kehabisan memori dan banyak proses macet. Sistem saya berbasis di sekitar systemd dan sesuatu di sana telah crash. Sulit bagi saya untuk mengingat semua yang saya lakukan, tetapi:
systemctl status <any.service>
akan habissudo reboot
(berbasis systemd)Larutan
Restart memperbaiki masalah saya, tetapi bagi saya hanyalah bandaid. Anda masih perlu mencari tahu mengapa Anda kehabisan memori / macet.
sumber