web-dev-qa-db-ja.com

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

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

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

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

chmod g + r(A)

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

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

ありがとう!

9
Linux NewB

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

chmod 777 -R /path/to/directory

Chmodの詳細については、 ここ を参照してください。

更新:

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

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

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

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

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

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

数字の代わりに文字表現を使用したい場合は、 ここ を参照してください。

15

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 a-x dirと言うこともできます-これは実行権限を削除することです。

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

1
dexterous