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は、ローカルホームディレクトリで最終的に実行されるたびに発生するようです。現在、ローカルフォルダーのみを使用しています。I私は新しいアカウントで何が起こるかを見ることができますが...このコンピュータ上のユーザーを持っているだけ
スペンサー・ウィリアムズ

@patrix管理者権限を持つ別のユーザーを作成しました。悲しいことに、そのアカウントにはまったく同じ問題があります。
スペンサーウィリアムズ

回答:


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でコピーした)と、現在の1を確認し、ステップに戻っによってそれらの変更のステップを追加することである/private/etc/sudoers/private/etc/sudoers.d/、毎回使用してコマンドを実行しているsudo場合は、変更休憩、それをチェックします。

私の場合、sudoersファイルに存在しないグループを指定していました。それを修正することで問題が解決しました。


macOS 10.13で動作しました!
ニスバ

私のためにも働いた(OSX 10.13)。また、同じ問題がありました-sudoerファイルに存在しないグループ。
ペトルチブルカ

うーん...私はこの問題が発生したマシンのsudoersファイルを変更したことを覚えていませんが、システムを復元する代わりに、あなたが提案したことを試したかったのです。
スペンサーウィリアムズ

人々がそれが役立つことを確認しているように見えるので、私は先に進み、あなたの答えを受け入れました。
スペンサーウィリアムズ

2

これは、/ private / etc / sudoersファイルを編集したことがある場合、10.12.4にアップグレードするときに発生する可能性があります。

最も簡単な解決策は次のとおりです。

  1. システムの以前のバージョンにドロップバックします(更新する前に常にシステムを複製しますか?)
  2. / private / etc / sudoersを削除します
  3. / private / etc / sudoers〜origをsudoersにコピーします
  4. sudoersの所有権をsystem / rootにリセットします—読み取り専用
  5. システムを10.12.4にアップグレードします

「/ private / etc / sudoersファイルを編集したことがある場合、これは10.12.4にアップグレードするときに発生する可能性があります。」何が実際にそれを引き起こしているのか知っていますか?
-Wowfunhappy

1

この実際の原因を見つけられたらよかったのに、システムソフトウェアを復元して初めて問題を解決できました。以前はmacOS Sierraのパブリックベータ版を使用していましたが、現在はメインベータ版を使用しています。

私はすべてのプログラムをゆっくりと読み込み直しており、sudo再び遅延が発生するかどうかを確認します。


0

/etc/sudoers.d/削除したファイルがありました。出来上がり- sudo再び高速です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.