macOSでゴミ箱の中からファイルを削除できない

macOS

macOSでゴミ箱の中のファイルやディレクトリをすぐに削除で削除しようとした時に、一部の項目へのアクセス権がないため、操作を完了できませんというメッセージが表示されて削除できない場合があります。
「一部の項目へのアクセス権がないため、操作を完了できません。」メッセージ

メッセージに表示されている通り「アクセス権限」が不足しているために起こるようなので、最上位の権限であるルートユーザを有効にして、そのルートユーザを使って削除することで削除ができるようになります。

通常macOSではセキュリティ上の理由でルートユーザは無効になっています。ここではまずルートユーザを使えるようにして、それからコマンドを使って削除する方法を説明しています。

ルートユーザを有効にする

  1. Appleメニューから、システム環境設定...をクリックします。
    システム環境設定を開く

  2. 表示されるシステム環境設定で、ユーザとグループクリックします。
    ユーザーとグループを開く

  3. 表示されるユーザとグループの左したの鍵のマークをクリックします。
    ユーザーとグループのロックを解除する

  4. システム環境設定が”ユーザとグループ”環境設定のロックを解除しようとしていますのメッセージが表示されるので、ユーザ名に対応するパスワードを入力してロックを解除ボタンをクリックします。
    パスワードを入力する(ユーザとグループ)

  5. ロックが解除されると、鍵マークが開錠された状態になります。そのマークの上にあるログインオプションをクリックて、ネットワークアカウントサーバ接続...ボタンをクリックします。
    ログインオプションで、ねっワークアカウントサーバに接続する

  6. 表示されるダイアログから、ディレクトリユーティリティを開く...ボタンをクリックします。
    ディレクトリユーティリティを開く

  7. ディレクトリユーティリティが開くので、また左下の鍵マークをクリックします。
    ディレクトリユーティリティの変更を解除する

  8. ディレクトリユーティリティがディレクトリサービス構成を変更しようとしています。のメッセージが表示されるので、再びそのユーザ名に対応するパスワードを入力して構成を変更ボタンをクリックします。
    パスワードを入力する(ディレクトリユーティリティ)

  9. すると鍵マークが開錠状態になります。ディレクトリユーティリティのメニューから編集 - ルートユーザを有効にするをクリックします。
    ルートユーザを有効にする

  10. すると、ルートユーザの新しいパスワードを入力してください。というダイアログが表示されるので、ルートユーザーのパスワードを入力します。このパスワードは自由に決めれますが、ルートユーザを利用する時(sudoコマンド)に必要になるので覚えておいてください。
    ルートユーザのパスワードを新しく設定する

セキュリティの観点から、ルートユーザでの作業が終わったら、ルートユーザを無効にするのをおすすめします。

ルートユーザを使った削除コマンド

  1. コマンドを使うためにターミナルを起動します。Finderのメニューから移動 - ユーティリティをクリックします。
    ユーティリティに移動する

  2. 表示されるユーティリティの中から、ターミナルをクリックします。

起動したターミナルにコマンドを入力してファイルやディレクトリを削除します。

  • ファイルを削除する場合(ここではsample.txtというファイルを削除しています)
    途中パスワードを聞いてくるのでルートユーザを有効にした時に設定したパスワードを入力します。

    $ sudo rm -f sample.txt
    Password: 「ルートパスワードを入力する」
    
  • ディレクトリを削除する場合(ここではsampledirというディレクトリを削除しています)
    途中パスワードを聞いてくるのでルートユーザを有効にした時に設定したパスワードを入力します。

    $ sudo rm -Rf sampledir
    Password: 「ルートパスワードを入力する」
    

ちなみにゴミ箱の場所(パス)は、ユーザーのゴミ箱とドライブのゴミ箱などに分かれていますので、削除対象となるファイルやディレクトリは下記パスを参考に探し出してください。

用途 パス
ユーザ ~/.Trash/
ドライブ(HDDやSDD) /Volumes/{ドライブ名}/.Trashes

ルートユーザを無効にする

ルートユーザを有効にするの途中までは全く同じで、ディレクトリユーティリティのメニューでルートユーザを有効にするルートユーザを無効にするが違うだけです。

  1. Appleメニューから、システム環境設定...をクリックします。
    システム環境設定を開く

  2. 表示されるシステム環境設定で、ユーザとグループクリックします。
    ユーザーとグループを開く

  3. 表示されるユーザとグループの左したの鍵のマークをクリックします。
    ユーザーとグループのロックを解除する

  4. システム環境設定が”ユーザとグループ”環境設定のロックを解除しようとしていますのメッセージが表示されるので、ユーザ名に対応するパスワードを入力してロックを解除ボタンをクリックします。
    パスワードを入力する(ユーザとグループ)

  5. ロックが解除されると、鍵マークが開錠された状態になります。そのマークの上にあるログインオプションをクリックて、ネットワークアカウントサーバ接続...ボタンをクリックします。
    ログインオプションで、ねっワークアカウントサーバに接続する

  6. 表示されるダイアログから、ディレクトリユーティリティを開く...ボタンをクリックします。
    ディレクトリユーティリティを開く

  7. ディレクトリユーティリティが開くので、また左下の鍵マークをクリックします。
    ディレクトリユーティリティの変更を解除する

  8. ディレクトリユーティリティがディレクトリサービス構成を変更しようとしています。のメッセージが表示されるので、再びそのユーザ名に対応するパスワードを入力して構成を変更ボタンをクリックします。
    パスワードを入力する(ディレクトリユーティリティ)

  9. すると鍵マークが開錠状態になります。ディレクトリユーティリティのメニューから編集 - ルートユーザを無効にするをクリックすることで、無効にすることができます。
    ルートユーザを無効にする