"permission denied" は、ユーザーが特定の操作を実行する権限がないことを示します。
簡単説明しますと、『何か』をしようとしてディレクトリ(フォルダのこと)をいじろうとした結果、そのディレクトリにはアクセス権がないために出るエラーです。
解決方法は簡単で、sudoコマンドを実行しようとしたコマンドに付け加える。
だけです。
例えば、今回、xxxxxxxxxxxxxxx
というコマンドで失敗したとすれば、
sudo xxxxxxxxxxxxxxx
と、実行し直すだけです。
sudoコマンドは一時的にユーザーに管理者権限を与えることができます。
sudoコマンド実行時は管理者権限を求められるので、パスワードを入力します。
(なお、セキュリティ上の理由からパスワードを入力する際に、実際に入力した文字が画面に表示されないようになっています。これは、他の人にパスワードを見られることを防ぐためです。)
今回はこれで大抵は解決するので、終わってしまうのですが、
せっかくなので、再び同じようにエラーに遭遇した場合の対処方法を少しお伝えします。
たいていエラーにはLinuxが教えてくれる共通の単語が含まれます。
下記は今回、自分が遭遇したときのエラー画面です。
画像の『EACCES』に注目しましょう。
EACCESは、"Error Access" の略語で、アクセス権限エラーを意味します。
これはUNIXやLinuxなどのオペレーティングシステムエラーコードで、ほかにもたくさんあります。
冒頭で説明したとおり、現在のユーザーが実行しようとしている操作に必要な権限がない場合に発生します。
また、エラーナンバーでも管理されていて、EACCESはNo.13のエラーとなっています。
ですので、画像に『13』の表記がありますね。
エラーの種類は130個ぐらいあるのですが、1から20までを掲載します。
13番目の欄を見ると、EACCESがあります!
エラー番号 | エラーコード | エラー説明 |
---|---|---|
1 | EPERM | 操作は許可されていません |
2 | ENOENT | ファイルまたはディレクトリが存在しません |
3 | ESRCH | プロセスが存在しません |
4 | EINTR | システムコールが中断されました |
5 | EIO | I/Oエラー |
6 | ENXIO | デバイスまたはアドレスが存在しません |
7 | E2BIG | 引数リストが長すぎます |
8 | ENOEXEC | 実行フォーマットエラー |
9 | EBADF | 不正なファイル番号 |
10 | ECHILD | 子プロセスがありません |
11 | EAGAIN | もう一度お試しください |
12 | ENOMEM | メモリ不足 |
13 | EACCES | 権限がありません |
14 | EFAULT | 不正なアドレス |
15 | ENOTBLK | ブロックデバイスが必要です |
16 | EBUSY | デバイスまたはリソースが使用中です |
17 | EEXIST | ファイルが存在します |
18 | EXDEV | デバイス間のリンクです |
19 | ENODEV | デバイスが存在しません |
20 | ENOTDIR | ディレクトリではありません |
どのような状況でも、このエラーナンバーとエラーコードで、何が起こったのかがわかります。
それを踏まえて、エラーの内容を読みますとより具体的にエラーの原因が見えてきます。
いかがでしたでしょうか。
今まで読み飛ばしていたエラーや、無意識に検索していた内容も、エラーの一覧があり、管理されていると思うと逆に少し安心しますね。