web-dev-qa-db-ja.com

パスのすべてのディレクトリに読み取り権限を追加する

以下に記述されているパスのすべてのディレクトリに追加したい(他のファイルのアクセス許可を変更しない)。何かのようなもの chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

パス

/home/mDB/admin/KNUCKLES/dbs/

フォーラムで見つけたこのコマンドを試してみましたが、うまくいきません。

chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R

ファイル/ディレクトリの所有者やグループではなく、すべてのユーザーのアクセス許可のみを変更したい。

前もって感謝します。

4

あなたは言うことができます:

chmod -R o+r /home/mDB/admin/KNUCKLES/dbs/

これにより、readアクセス許可が再帰的にothersに与えられます。つまり、所有者/グループではありません。

編集:あなたのコメントによると、ディレクトリの権限が問題であり、ファイルの権限ではないようです。あなたは言えた:

chmod o+rx /home/mDB/{admin,admin/KNUCKLES,admin/KNUCKLES/dbs}

これらはディレクトリであるため、execute xビットをオンに設定する必要があることに注意してください。それがなければ、rは何の役にも立ちません!

6
devnull

それを分割して、複数のコマンドを発行する必要があります。

chmod -R xx4 /home/
chmod -R xx4 /home/mDB/
chmod -R xx4 /home/mDB/admin/
chmod -R xx4 /home/mDB/admin/KNUCKLES/
chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

私よりも高度なコマンドラインfuを持っている人は、もっと短い方法を知っているかもしれません。

3
LawrenceC

ディレクトリに対してのみ実行ビットを設定するには、次の手順を実行します。

chmod -R a+X dir

Man chmodから:

ファイルがディレクトリであるか、すでに一部のユーザーの実行権限を持っている場合にのみ実行/検索(X)

回答元: https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files

0
Jonathan