回答:
chmod
パーミッションに関するマンページに記載されているように:
rwxXstの文字は、影響を受けるユーザーのファイルモードビットを選択します。読み取り(r)、書き込み(w)、実行(またはディレクトリの検索)(x)、ファイルがディレクトリであるか、一部のファイルに対してすでに実行権限がある場合のみ実行/検索ユーザー(X)
フォルダの実行可能ビットは、「検索」権限として上記で説明されています。つまり、実行ビットを使用すると、ファイルブラウザでフォルダにアクセスしたり、cd
コマンドを実行ls ~/folder
したり、フォルダ内のファイルを一覧表示したりして、ターミナルからフォルダに移動したりできます。
フォルダーは所有者に対して実行可能である必要がありますが、スーパーユーザーはsudo
、ファイルやディレクトリを使用する場合と同様に、アクセスまたは削除できるため、フォルダーにアクセスできます。さらに、ディレクトリとファイルの権限については、Stackoverflowのこの便利な記事で詳しく説明しています。
また、フォルダーを「実行」しても、実行可能バイナリやスクリプトの実行時など、実際にコードやコマンドが実行されているとは限らないことにも注意してください。
ホームデスクトップユーザーの場合(サーバーではないかもしれませんが)内のほとんどのフォルダーに$HOME
は、ユーザー、グループ、およびその他のユーザーに対して表示される実行許可が設定されていますstat ~/myfolder
(以下の抜粋)。
Access: (0755/drwxr-xr-x) Uid: ( 1000/ mike) Gid: ( 1000/ mike)
フォルダの標準的な権限 内の $HOME
は755または775で、ファイルは644です。ただし、残りのファイルシステムは異なります。この場合も、フォルダには所有者の実行ビットが必要です。そうしないと、所有者がフォルダを開くことができなくなります。chmod
アクセス許可を変更するときは、特に状況がすぐにめちゃくちゃになる可能性があるため、再帰的に変更するときは注意が必要です。
詳細については、オンラインman chmod
またはUbuntuのマンページ、およびスーパーユーザーのこの記事を参照してください。
ディレクトリx
を開くには、ビットセット(そのビットが検索ビットと見なされるディレクトリ)が必要です。多くの人chmod -R
は、フォルダー全体で実行可能ビットを削除すると、アクセスできなくなることに気づきます。これを修正するtree
には、フォルダーセットのみを取得し、すべてのファイルを実行可能ファイルとして設定するという悪夢を回避できるように使用します(ツリーのオプションはです -d List directories only.
)。
sudo tree -faid dirname | xargs -L1 -I{} sudo chmod +x "{}"
あなたが持っていない場合tree
:
find dirname -type d -exec chmod +x {}
警告!!!あなたはこれを考慮に入れるべきです:
ルート/
ディレクトリまたはシステムディレクトリで再帰的にchmodまたはchownを使用すると、OSが破壊されます(実際には、/
ディレクトリまたはシステムディレクトリで再帰的に行うと危険です)。
これは、そのような権限の一括を設定するための良いセキュリティ慣行ではありません