Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

修正:「現在、このフォルダにアクセスする権限がありません」エラーの解決方法

WindowsのLinuxサブシステム(WSL)やCygwinなど、UnixとWindowsを連携させるさまざまな環境を使用していると、「現在、このフォルダにアクセスする権限がありません」というエラーに遭遇することがあります。純粋なLinuxやUnix環境では、「error opening directory: permission denied(ディレクトリを開けません:アクセスが拒否されました)」のようなエラーメッセージが表示されることもあります。また、POSIX互換ファイルシステムで運用されているネットワークドライブでは、アクセス元のOSに関わらず、同様の問題が発生する可能性があります。

この問題の原因は、どのようなケースでも共通しています。アクセス制限が設定されたディレクトリに対して、適切な権限を持たないアカウントからアクセスしようとしているのです。解決策はシンプルで、別のアカウントにログインするか、フォルダの権限を変更するだけです。

方法1:アカウントを切り替えてディレクトリにアクセスする

まず、アクセスしようとしていたフォルダへアクセスを試みてください。コマンドラインからcdコマンドで移動しようとすると、「bash: cd: Permission denied」のようなメッセージが表示されます。

修正:「現在、このフォルダにアクセスする権限がありません」エラーの解決方法

グラフィカルな環境からディレクトリにアクセスしようとした場合も、同様のエラーが表示されます。

修正:「現在、このフォルダにアクセスする権限がありません」エラーの解決方法

この例では、/lost+foundディレクトリへのアクセスを試みています。このディレクトリは、多くのLinux環境においてrootユーザー以外はアクセスできないようにロックされています。ターミナルに戻り、「sudo -i」と入力してEnterキーを押しましょう。パスワードの入力を求められた後、rootログインシェルが起動します。これでcdコマンドでディレクトリ内に移動し、中身を確認できます。ただし、rootシェルで操作しているため、誤ったコマンド一つでシステムに深刻なダメージを与える可能性がある点には十分注意してください。

普段使用しているアカウントのまま作業を続けたい場合は、「sudo ls /lost+found」を実行すれば、sudo -iコマンドを使わずにディレクトリの中身だけを確認できます。「/lost+found」の部分は「/root」を含む任意のディレクトリ名に置き換え可能です。なお、sudoを付けて実行したコマンドでも、ほぼすべてを破壊できてしまうという点は忘れないようにしましょう。

方法2:フォルダのデフォルト権限を変更する

方法1は非常に手軽で、システムメンテナンスなどで一時的にフォルダの中身を確認したい場合に最適です。しかし、サーバーやネットワーク上で、一般ユーザーにも継続的にフォルダへのアクセスを許可したい場合は、別のアプローチを検討した方がよいでしょう。

「sudo chmod -R 755 /path/to/folder」を実行します。「/path/to/folder」の部分は、アクセスできるようにしたいディレクトリの実際のパスに置き換えてください。実行後、通常のユーザーアカウントからアクセスできるか確認してみましょう。この方法は前述の方法より少し複雑ですが、初回以降はrootアカウントを使用する必要がないため、より安全で永続的な解決策となります。

多くの場合、ディレクトリを作成する段階で適切な権限を設定できます。「mkdir -m 755」を使用すると、所有者には読み取り・書き込み・実行権限を、その他のユーザーには読み取り・実行権限を付与できます。代わりに「777」を指定することも可能です。これは、そのファイルシステムにログインしている全ユーザーに、ディレクトリに対する自由な操作権限を与えるものです。2台のマシン間で手動によりファイルを移動するためのリムーバブルストレージなど、この設定が妥当なケースもありますが、ローカルファイルシステムで行う場合は、本当に安全かどうか慎重に検討してください。また、「-p」フラグを使用すると、新規ディレクトリにデフォルトとみなされる権限が自動的に設定されます。オプションなしで実行した場合も、通常は同じ挙動になります。

ファイルをコピーする際にも、適切な権限を確保できます。ファイルの所有者に書き込み権限を付与したい場合は、「rsync --perms --chmod=Fu+w」を試してみてください。その他の権限の組み合わせも自由に指定可能です。さらに、「--chown=」オプションに「ユーザー名:グループ名」の形式で値を指定すると、コピーされたファイルにも正しい所有者情報が割り当てられます。

rsyncは、WindowsとLinux間でPOSIX互換のファイル構造をコピーする際に非常に便利なツールです。いくつかの異なるchmod設定を試しながら活用するとよいでしょう。もうひとつ覚えておきたいコマンドが「install」です。「install -m 777」に続けてコピー元とコピー先のファイルを指定すると、全ユーザーに読み取り・書き込み権限を即座に付与できます。安全性を重視するなら、755などの他の組み合わせを選んでも構いません。

この方法はrsyncほど高速ではありませんが、「現在、このフォルダにアクセスする権限がありません」タイプのエラーを修正するために、権限を正確に細かく指定したい場面で非常に役立ちます。

  1. 【解決済み】「このフォルダーへのアクセス許可が現在ありません」エラーの直し方

    PC上のフォルダーやファイルにアクセスしようとした際、「このフォルダーへのアクセス許可が現在ありません」というエラーメッセージが表示されることがあります。本記事では、この問題の原因と具体的な解決方法をわかりやすく解説します。 エラーが発生する主な原因 「このファイル/フォルダーへのアクセス許可が現在ありません」というエラーは、主に以下のようなケースで発生します。 以前、ネットワーク上で別の権限設定により共有されていたディスクやフォルダーにアクセスする場合 HP製ノートパソコンに搭載された「HP Client Security Manager」が、接続した外付けUSBストレージデバイスへのア

  2. 【Windows 7】「このコンピュータをシャットダウンする権限がありません」エラーの直し方

    Microsoftは現在、Windows 7の不具合を調査中です。このバグの影響で、ユーザーがパソコンをシャットダウンしようとした際にエラーが発生する事態が報告されています。根本的な原因は依然として不明ですが、Redditなどのコミュニティサイト上で、ユーザー自身による有効な解決策がすでに見つかっています。 本記事の対処法は、今月に入ってから「このコンピュータをシャットダウンする権限がありません」という警告が表示されるようになったWindows 7マシンが対象です。なお、この方法ではグループポリシーエディターを使用するため、Windows 7 Professional以上のエディションが必要と