以下に記述されているパスのすべてのディレクトリに追加したい(他のファイルのアクセス許可を変更しない)。何かのようなもの chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/
パス
/home/mDB/admin/KNUCKLES/dbs/
フォーラムで見つけたこのコマンドを試してみましたが、うまくいきません。
chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R
ファイル/ディレクトリの所有者やグループではなく、すべてのユーザーのアクセス許可のみを変更したい。
前もって感謝します。
あなたは言うことができます:
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
は何の役にも立ちません!
それを分割して、複数のコマンドを発行する必要があります。
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を持っている人は、もっと短い方法を知っているかもしれません。
ディレクトリに対してのみ実行ビットを設定するには、次の手順を実行します。
chmod -R a+X dir
Man chmodから:
ファイルがディレクトリであるか、すでに一部のユーザーの実行権限を持っている場合にのみ実行/検索(X)
回答元: https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files