ทำไม sudo จึงใช้เวลานานเกินไป


13

ฉันเพิ่งอัปเดตเป็น macOS Sierra 10.12.4 Beta (16E144f) และอาจเป็นสาเหตุที่ทำให้เกิดsudoการล่าช้าถึง 10 นาทีเนื่องจากเป็นการเปลี่ยนแปลงล่าสุดที่ฉันจำได้เมื่อปัญหานี้เกิดขึ้น ฉันไม่เคยต้องรอนานสำหรับโปรแกรมพื้นฐานและมีบางอย่างผิดปกติ คำสั่งสำเร็จในที่สุด แต่หลังจากรอนานเกินไป

ฉันใช้คำถามนี้เป็นข้อมูลอ้างอิง จนถึงตอนนี้ฉันได้ลองเพิ่มชื่อโฮสต์ของฉันที่ท้าย127.0.0.1บรรทัด/etc/hostsด้วยเช่นกัน ฉันตรวจสอบ/etc/resolv.confและฉันมีรายการพิเศษบางอย่างจากเมื่อฉันอยู่ในเครือข่ายที่ต้องการรายการ DNS ด้วยตนเอง แต่ฉันลบพวกเขาและไม่มีความแตกต่าง ฉันใช้networksetup -setdnsserversคำสั่งเพื่อคืนค่าดั้งเดิม อินเทอร์เน็ตยังคงทำงานได้ดี sudoแต่ก็ยังช้ามาก

ฉันลองใช้logger 'test'คำสั่งโดยคิดว่ามันจะเขียนถึง/var/log/system.logแต่ดูเหมือนว่ามันจะลบไฟล์นั้นทั้งหมดแม้ว่ามันจะถูกสร้างขึ้นใหม่ก็ตาม

ฉันหวังว่าจะใช้straceคำสั่งเพื่อดูว่าเกิดอะไรขึ้นในขณะที่sudoวิ่ง แต่คำสั่งนั้นไม่สามารถใช้ได้ใน OS X มีใครเคยพบปัญหานี้ในระบบปฏิบัติการนี้มาก่อนหรือไม่

/var/log/system.log มีข้อความต่อไปนี้ที่อาจเกี่ยวข้อง อีกครั้งคำสั่งจะประสบความสำเร็จในที่สุดตามปกติ:

Feb  1 00:07:39 mycomputer com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Feb  1 00:07:56 mycomputer com.apple.xpc.launchd[1] (com.apple.quicklook[2355]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook
Feb  1 00:08:16 mycomputer System Preferences[1886]: I can not do what i want
Feb  1 00:11:23 mycomputer com.apple.xpc.launchd[1] (com.apple.opendirectoryd[2335]): Service exited with abnormal code: 70
Feb  1 00:12:07 mycomputer syslogd[54]: ASL Sender Statistics
Feb  1 00:16:35 mycomputer com.apple.xpc.launchd[1] (com.apple.opendirectoryd[2395]): Service exited with abnormal code: 70

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


มันมีความสำคัญอย่างไรกับคำสั่งที่คุณเรียกใช้ผ่าน sudo? การประทับเวลาในบันทึกเกี่ยวข้องกับการกระทำของคุณในการดำเนินการ sudo และ sudo ทำงานอย่างไร ฉันเห็น opendirectoryd อยู่ที่นั่นคุณทำงานกับบัญชีท้องถิ่นหรือบัญชีเครือข่ายหรือไม่ จะเกิดอะไรขึ้นถ้าคุณเปลี่ยนผู้ใช้ (หรือตั้งค่าใหม่ในเครื่อง), sudo จะช้าเช่นกัน?
nohillside

ฉันกำลังใช้เบต้าตัวเดียวกันและ sudo นั้นเร็วเหมือนเช่นเคย
nohillside

1
@patrix อาโอเค ใช่มันอาจเป็นอย่างอื่นได้ ใช่มันเกิดขึ้นไม่ว่าฉันจะใช้คำสั่งใดกับ sudo ความล่าช้านั้นสอดคล้องกัน โดยทั่วไปแล้วคำสั่งจะเริ่มรอบบรรทัดบันทึกรอบ ๆcom.apple.quicklookและในที่สุดก็สิ้นสุดที่จุดสิ้นสุดดังนั้นในตัวอย่างนั้นจะใช้เวลาประมาณ 8 นาทีโดยมีข้อความทั้งหมดอยู่ระหว่างนั้น ดูเหมือนว่าข้อความ opendirectoryd จะเกิดขึ้นทุกครั้งที่มันทำงานsudo lsในไดเรกทอรีภายในบ้านของฉัน ตอนนี้ฉันทำงานกับโฟลเดอร์ในเครื่องเท่านั้น ฉันมีผู้ใช้เพียงคนเดียวในคอมพิวเตอร์เครื่องนี้ถึงแม้ว่าฉันจะสามารถเห็นสิ่งที่เกิดขึ้นกับบัญชีใหม่ ...
Spencer Williams

@patrix ฉันเพิ่งสร้างผู้ใช้คนอื่นด้วยสิทธิ์ผู้ดูแลระบบ น่าเศร้าที่บัญชีนั้นมีปัญหาเดียวกัน
Spencer Williams

คำตอบ:


11

คำตอบของ ErikMH ทำให้ฉันมีความคิดที่จะลองเปลี่ยนไฟล์ sudoers ก่อนโดยไม่ต้องย้อนกลับ / อัพเกรดระบบทั้งหมดของฉันอีกครั้ง ดังนั้นในระยะสั้น:

  1. เรียกใช้สิ่งนี้เพื่อรับรูทเชลล์: sudo -s
  2. ทำสำเนาของ /private/etc/sudoers
  3. วิ่ง: cp /private/etc/sudoers\~orig /private/etc/sudoers
  4. แก้ไขการอนุญาตโดยการเรียกใช้: chmod 440 /private/etc/sudoers ; chown root:wheel /private/etc/sudoers
  5. ย้ายไฟล์ใด ๆ/private/etc/sudoers.d/ออกจากที่นั่น
  6. ทดสอบsudoในเทอร์มินัลอื่น
  7. อย่าลืมออกจากเชลล์นี้เพื่อป้องกันคำสั่งที่รันโดยไม่ตั้งใจในขณะที่รูทเมื่อคุณไม่ได้ตั้งใจ

ตอนนี้ทำงานsudoควรจะทำงานอีกครั้ง

ขั้นตอนต่อไปคือการตรวจสอบความแตกต่างระหว่างไฟล์ sudoers เก่า (คุณคัดลอกออกไปในขั้นตอนที่ 2) และปัจจุบันและเพิ่มการเปลี่ยนแปลงเหล่านั้นทีละขั้นตอนกลับไปที่/private/etc/sudoersหรือ/private/etc/sudoers.d/แต่ละครั้งใช้คำสั่งใช้sudoเพื่อตรวจสอบว่าการเปลี่ยนแปลงแบ่ง

ในกรณีของฉันฉันได้ระบุกลุ่มที่ไม่มีอยู่ในไฟล์ sudoers การแก้ไขที่แก้ไขปัญหาของฉัน


ทำงานบน macOS 10.13!
Nisba

ทำงานให้ฉันด้วย (OSX 10.13) ยังมีปัญหาเดียวกัน - กลุ่มที่ไม่มีอยู่ในไฟล์ sudoer
Petr Cibulka

อืม ... ฉันจำการเปลี่ยนไฟล์ sudoers บนเครื่องที่ฉันมีปัญหานี้ไม่ได้ แต่ฉันหวังว่าฉันจะลองสิ่งที่คุณแนะนำแทนที่จะเรียกคืนระบบของฉัน
Spencer Williams

ฉันไปข้างหน้าและยอมรับคำตอบของคุณเพราะดูเหมือนว่าผู้คนยืนยันว่ามันช่วยได้และฉันก็หวังว่าฉันจะลองทำสิ่งนี้ก่อน
Spencer Williams

2

กรณีนี้อาจเกิดขึ้นเมื่ออัปเกรดเป็น 10.12.4 หากคุณเคยแก้ไขไฟล์ / private / etc / sudoers

ทางออกที่ง่ายที่สุดคือ:

  1. วางกลับไปเป็นระบบรุ่นก่อนหน้า (คุณมักจะโคลนระบบของคุณก่อนที่จะอัพเดทใช่ไหม?)
  2. ลบ / ส่วนตัว / ฯลฯ / sudoers
  3. คัดลอก / ส่วนตัว / ฯลฯ / sudoers ~ orig to sudoers
  4. รีเซ็ตความเป็นเจ้าของ sudoers เป็น system / root - อ่านอย่างเดียว
  5. อัพเกรดระบบเป็น 10.12.4

"สิ่งนี้สามารถเกิดขึ้นได้เมื่ออัพเกรดเป็น 10.12.4 หากคุณเคยแก้ไขไฟล์ / private / etc / sudoers" เรารู้หรือไม่ว่าอะไรคือสาเหตุที่แท้จริง
Wowfunhappy

1

ฉันหวังว่าฉันจะพบสาเหตุที่แท้จริงของสิ่งนี้ แต่ฉันสามารถแก้ไขปัญหาได้หลังจากกู้คืนซอฟต์แวร์ระบบเท่านั้น ก่อนหน้านี้ฉันเคยอยู่ใน Public Beta ของ macOS Sierra แต่ตอนนี้ฉันอยู่บนตัวหลัก

ฉันกำลังโหลดโปรแกรมทั้งหมดของฉันกลับมาอย่างช้า ๆ และฉันจะทราบว่าฉันมีความล่าช้าsudoอีกครั้งหรือไม่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.