web-dev-qa-db-ja.com

CIFSマウントでchmodを許可する

VirtualBoxの下にCentOS6ゲストを備えたWindows7ホストがあります。

CIFSを使用してLinuxゲストと共有されているWindowsディレクトリがあります。

すべてのchmod操作で次の結果が得られることに気付くまで、これまでのところすべてが正常に機能していました。

chmod: `x 'の権限の変更:操作は許可されていません

これは理解できますが、私の問題は、制御できないツールがあり、ファイルをchmodしようとして、結果として失敗することです。

allowを許可することはできますが、ignoreすべてのchmod()呼び出しをオンにしますCIFSマウント?これらの呼び出しは、コマンドラインのchmodユーティリティからではなく、プログラミング言語から行われることに注意してください。

編集: mount.cifsのマニュアル は言う(私のものを強調する):

コアCIFSプロトコルは、ファイルとディレクトリのUNIX所有権情報またはモードを提供しません。このため、ファイルとディレクトリは通常、uid =またはgid =オプションが設定されている値によって所有されているように見え、マウントのデフォルトのfile_modeおよびdir_modeに設定されたアクセス許可があります。 chmod/chownを介してこれらの値を変更しようとすると、成功が返されますが、効果はありません。

それはまさに私がその後行っている行動ですが、なぜそれが私にとってうまくいかないのですか?

3
Benjamin

見つかりました:nopermマウントパラメータはまさにこれを行います:

//192.168.56.1/www /mnt/www cifs noperm,username=www,password=xxx, ...

ご了承ください mount -aはパラメータを適用しません。動作させるには、再起動する必要があります。
これを理解するのに多くの試行錯誤が必要でした。

これで、chmodは正常に機能し、コマンドはエラーを生成せず、無視されます。

9
Benjamin

Execオプションを追加してみてください。 root以外のユーザーとしてマウントすると、execがオフになると思います。

https://unix.stackexchange.com/questions/34822/is-it-possible-to-enable-execution-of-files-from-a-cifs-mount-in-bash

0
David