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

Linux および macOS で拒否された Zsh 権限を解決する:クイックフィックスとトラブルシューティング

Zsh 権限が拒否されましたは、実行権限を持たない Linux または Mac 上でコマンドを実行しようとすると発生するエラーです。このコマンドは、書き込み権限を持たないディレクトリに対して「ls」を実行したり、ユーザーが権限を持たないアクションを実行するスクリプトを実行したりするのと同じくらい簡単です。パーミッションとは、読み取りまたは書き込みパーミッションを指します。

このエラーの主な原因を見てみましょう。その後、各解決策を試して、どれが最も効果的かを確認します。

このエラーは主に、ファイルを実行、書き込み、または読み取る権限がない場合に発生します。

Linux オペレーティング システムの Zsh シェル内で、「cat」を使用してファイルの内容をリストしようとしましたが、「許可が拒否されました」エラーが返されたと仮定します。

このエラーを修正するには、まずファイルの権限をリストする必要があります。 「ls -l」 を実行します。 権限を確認します。

ご覧のとおり、この権限は、root ユーザーと root グループのみがファイルを読み取ることができ、root ユーザーはファイルに書き込むことしかできないようになっています。

1. sudo を使用します

これを修正する最も簡単な解決策は、「sudo」を使用することです。 実行したいコマンドを入力します。これにより、root ユーザーとしてコマンドが実行されます。あなたの場合も、実行したいコマンドやタスクがコンピュータに害を及ぼさないと確信できる場合には、「sudo」を使用できます。

したがって、次のように実行できます。

sudo cat file

2.ファイルの権限を変更する

次にできることは、ファイルのアクセス許可を変更することです。アクセス許可拒否エラーは通常、読み取りまたは書き込みアクセス許可によって発生するため、その特定のファイルのアクセス許可を変更できます。 

「ls -l」 を実行する ファイルが置かれているディレクトリ内では、ファイルの所有者とグループが root であることがわかります。

所有者をユーザーに変更し、ファイルに対して必要な操作を行うことができます。 

以下を実行できます:

sudo chown [ユーザー] [ファイル名]

この例では、v3n0m がログインしているユーザーであるため、次のようにコマンドを発行します。

sudo chown v3n0m file

ここの v3n0m は私たちのユーザーです。あなたの場合、それはユーザー名になります。 

これで、アクセス拒否エラーが発生しなくなるため、ファイルに対して cat を実行できるようになります。 。 

3.実行権限を有効にする

zsh または他のシェルでファイル名とともに ./ を使用すると、ファイルをプログラムとして実行できます。ただし、ファイルに実行権限が設定されていない場合は、「zsh :権限が拒否されました」エラーが表示されます。

script1 というスクリプトを実行するとします。ターミナルに ./script1 と入力すると、次のエラーが表示されます。

ファイルに対して ls -la を実行して、アクセス許可を確認します。ご覧のとおり、ファイルの実行権限が設定されていません。 

ここでの解決策は簡単で、ファイルに実行権限を追加します。
簡単なコマンドを発行します

chmod +x script1

chmod +x 実行ビットを追加します。 所有者、グループ、その他のファイルの権限に基づいて。 

ここで、「./script1」と入力して、ファイルをプログラムとして実行できます。 エラーは発生しませんでした。

Linux でこのエラーが発生している場合は、これでエラーが修正されるはずですが、MacOS または Gradle でこのエラーが発生している場合は、引き続き記事に従ってください。

zshrc ファイルを編集する (macOS)

一部のユーザーは、コマンドを実行したいディレクトリ内にいないときに、MacOS で zsh を使用して報告しました。 

同様の問題に直面した場合、その修正は非常に簡単です。 

.zshrc ファイルを編集する必要があります。 あなたのホーム/ユーザー名 ディレクトリを作成し、これをファイルの最後に追加します。 

setopt auto_cd

これにより、zsh の auto_cd のオプションが有効になります。 .

.zshrc を編集するには ファイルでは、任意のグラフィカル テキスト エディタまたは vim や vi などのコマンド ライン テキスト エディタを使用できます。

CHMOD コマンドを使用して権限を設定する (Gradle)

Zsh 権限拒否エラーは、gradle で作業していて、gradlew ファイルに正しい権限がない場合に発生する可能性があります。 

このようなエラーを修正するには、gradlew に正しい権限を設定する必要があります。 

このコマンドをターミナルに入力できます。

chmod 755 gradlew 

これによりgradlew ファイルが実行可能になります。 エラーは修正されます。

または、コマンド chmod +x gradlew を入力することもできます。  

これにより、gradlew ファイルも実行可能になります。

これらの解決策がどれもうまくいかない場合は、お気軽に以下にコメントしてください。当社の技術者がすぐに対応させていただきます。

著者について

Linux および macOS で拒否された Zsh 権限を解決する:クイックフィックスとトラブルシューティング

ケビン・アロウズ

Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。


  1. 「認証エージェントへの接続を開けませんでした」エラーを解決する

    ssh-add コマンドを使用してキーのパスフレーズを追加しようとすると、「認証エージェントへの接続を開けませんでした」というエラーが表示される場合があります。この特定の問題は、通常、ssh エージェントが正しく割り当てられていないことが原因で発生します。そのため、非常に多くの人が、少し特殊な状況で問題が発生すると考えています。 たとえば、Raspbian を実行している RaspberryPi、機能不全のコマンド プロンプトを備えた組み込みルーター、または Android Linux ターミナルを使用しているときに、このエラーが発生することがあります。この問題は、作業しているデバイスの種類

  2. Xfce4 のパフォーマンスを復元:古いセッションをクリーンアップし、Linux デスクトップを高速化します

    Xfce4 は非常に人気のある Linux デスクトップ環境ですが、時間の経過とともに奇妙な動作を示し始めることがあります。以前ほど軽快ではなくなったり、マシンの起動時に起動が非常に遅くなったりすることに気づくかもしれません。コンピュータを起動するたびに Windows がポップアップする場合があります。これらの問題はすべて、特定のタスクを実行した後に残ったいくつかのファイルが原因で発生します。いくつかの非常に簡単なコマンドでそれらを削除し、新品同様に戻すことができます。 Xubuntu および Debian-Xfce4 ユーザーは、Xfce4 実装がディストリビューションに合わせて調整され