ディレクトリのアクセス許可を変更する方法


9

CentOSを使用していますが、複数のファイルが含まれているフォルダーのアクセス許可を変更する方法を知りたいのですが。

ルートとしてフォルダー(フォルダー= Aとしましょう)に対して次のコマンドを使用しました。

chmod 777(ホーム/ディレクトリ/ A)

chmod g + r(A)

ファイルマネージャーを使用してフォルダーを通常のユーザーとして表示すると、ロックアイコンが表示されず、アクセス許可が付与されていることを示しますか?ただし、フォルダA内のすべてのファイルにはロックアイコンが表示され、フォルダAのみにアクセス権が付与されており、その中のサブディレクトリにはアクセス権がないことを示しています。

上記のコマンドをすべてのサブディレクトリで実行するのは、数が多すぎるため、非常に骨の折れる作業です。

ありがとう!

回答:


15

フォルダーとすべてのサブフォルダー/ファイルに権限を設定するには、コマンドで再帰オプションを使用する必要があります。

chmod 777 -R /path/to/directory

chmodの詳細については、こちらをご覧ください。

更新:

免責事項:chmod 777を使用すると、誰でもフォルダを実行できるようになります。設定については下記をご覧ください

アクセス許可は3つの数字を使用して設定されます。

100はファイルの所有者用
400読み取り
200書き込み
100実行

10はファイルのグループ用です
40読み取り
20書き込み
10実行

1は他のすべてのユーザー向けです
4読み取り
2書き込み
1実行

この例では、所有者、グループ、および全員にファイルへの完全な権利を与えています。たとえば、所有者とグループに完全なアクセス許可を付与したいが、他のすべてのユーザーは読み取りと実行のアクセス許可しか持っていない場合は、775を使用します。

数字の代わりに文字表現を使用したい場合は、こちらをご覧ください


ありがとう!問題を解決し、ブックマークされた情報リンクを提供して
くれたMatthew

これが役に立ったと思ったら、回答としてマークしてください。
Gaurav Joseph 14

フォルダ内のすべてのファイルを実行可能にしないのですか?
stib 2014

はい、そうですが、彼の質問から私は彼が望んでいるものを集めています。私が提供したリンクは、彼の許可を得るのに役立ちます。あなたがそれを言及したので、これを見て含めるように私の答えを更新します。
マシューウィリアムズ

1

chmodを使用して、許可ビットを変更できます。-Rオプションは再帰的です-ディレクトリに使用されます。ビットはrwxとして説明されています。つまり、読み取り、書き込み、実行可能です。r = 1、w = 1、x = 1の場合。バイナリ111は10進数で7を意味します。したがって、7が表示されます。これで、フィールドはu =ユーザー、グループ、その他として決定されます。したがって、全員に許可を与えたい場合は、chmod -R 777 dir_nameを実行します。また、chmod -R a + rwx dirと言うこともできますし、権限を削除したい場合は、chmod -R ax dirと言うこともできます-これは実行可能権限を削除することです。

また、chmodでmanを実行して、詳細を知ることもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.