macOSの/ tmpディレクトリに書き込むことができず、権限を修正できません:「操作は許可されていません」


13

/tmpおよび/private/tmpフォルダーは書き込み可能ではないため、macOS El Capitan(10.11)はソフトウェアの更新をインストールしたり、ソフトウェアをインストールしたりできません。

これを実行する:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

私にこのエラーを与えます:

unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted

tmpフォルダーを手動で削除して再作成する方法はありますか?私は名前を変更または削除しようとしたとき/tmp/private/tmp、私が操作を取得保管許可されていません。とフォルダのsudo chmod 1777両方でも同じように失敗しました/tmp/private/tmp

ディスクユーティリティによると、ディスクは正常で、応急処置を実行しても問題は検出されませんでした。

tmp場所を別の書き込み可能なフォルダーにリダイレクトする方法はありますか?


1
最初にSIPを無効にしましたか?回復から; ターミナルcsrutil disable
鉄人

2
私は同じ問題を抱えています。鉄人のアドバイスに従い、リカバリーモードで再起動して走ったcsrutil disable。その後、正常に実行repair_packagesでき、通常どおり/ tmpにアクセスできました。しかし、リカバリモードに戻ってを実行したcsrutil enable後、私のシステムで同じ問題が発生しています。/ tmpにアクセスできる唯一の方法は、システム整合性保護を無効にすることです。
Andrew Ferk 2016年

4
結局、リカバリモードに戻って実行しましたcsrutil disable。再起動後、tmpフォルダーを削除しsudo rm /tmp; sudo rm /private/tmp、tmpフォルダーsudo mkdir /private/tmp; sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmpを作成し、symlinkを作成し、再度sudo ln -s /private/tmp /tmp実行repair_pacakgesしました。リカバリモードに戻ってを実行するとcsrutil enable、すべてが再び機能します。ただし、/ private / tmpのパーミッションは以前のdrwxrwxrwt@ものdrwxrwxrwtでしたが、現在はそうです。これが何であるか、@そしてこれが私に問題を引き起こすかどうかはわかりません。
Andrew Ferk 2016年

1
@AndrewFerk:これらの記事がご覧apple.stackexchange.com/questions/42177/... unix.stackexchange.com/questions/10/what-does-the-mean-in-ls-lの説明については、@ 拡張された権限のマーカー
アダムMichalik

回答:


22
  1. Macをリカバリモードで再起動します
  2. トップバーのユーティリティメニューを開く>ターミナルを開く

    csrutil disable
    
  3. リブート

  4. tmpフォルダーを削除する

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. tmpフォルダーを作成する

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. シンボリックリンクを作成する

    sudo ln -s /private/tmp /tmp
    
  7. 実行repair_packages(これを実行する必要がない場合があります)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. 再起動してリカバリモードに戻し、実行します

    csrutil enable
    
  9. リブート


Andrew Ferkが修正を考え出したことに対する小道具。コメントをコミュニティウィキの回答として引き出し、読みやすくします。


2
ありがとうございました!!!私はこれで私の髪を抜くのに3日間費やしていました。そもそもアクセス許可がどうしてそんなに台無しになったのかはわかりませんが、ある日、Macをオンにして、警告、プログラムが機能しない、何かをインストールできないなどの警告を表示しました。これで問題が解決しました。
johngeorgewright

なぜこのCWを作ったのですか?
Revetahwは、モニカを2016

1
私は単に他の誰かのコメントから変換した答えのクレジットを取得したくなかったので
16:47まで

かしこまりました。ところで、@ Fiksdalがなかったので、今まであなたのコメントを見ていませんでした。
Revetahw氏は、モニカを2016

10.13:sudoをします。/ usr / libexecに/ repair_packages:コマンドが見つからない
ДаниилПронин


0

Time Machineバックアップからシステムを復元することでこれを修正しました。しかし、コメント内の他の提案も試してみる価値があります。


0

maxOS Mojaveを使用してターミナル(またはiTerm)でこのメッセージを受け取った場合

操作は許可されていません

これは、「フルディスクアクセス」>私はSettings.app「セキュリティとプライバシー」に自分の端末のアプリを追加する必要が判明した
(私は両方の追加terminal.appiTerm.app


-1

/private/tmpを実行せずにフォルダの権限を作成および変更してみてくださいcsrutil disable。これはうまくいきましたが、削除に失敗し、起動時のエラーメッセージが消えました。


スーパーユーザーへようこそ。別の回答が機能したことを確認する回答を投稿しないでください。サイトのQ&A形式では、質問に対する解決策の回答が予約されており、それぞれの回答が別の解決策に貢献するはずです。回答が役に立ったことを示す方法は、サイトに少し時間を費やすことであり、あなたはあなたが好きな回答に賛成投票するための十分な特権を得るでしょう。
fixer1234 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.