web-dev-qa-db-ja.com

CIFSマウントのディレクトリのタイムスタンプを変更するときにアクセスが拒否されました

サーバーディレクトリは、Windowsで「属性の書き込み」権限を確実に持っているユーザーでマウントされます。

/ etc/fstab:

//server/shared /mnt/fs1 cifs noperm,rw,nounix,iocharset=utf8,gid=Java,file_mode=0774,dir_mode=0775,credentials=/localhome/securedir/fs1.credentials 0 0

マウントされたファイルは、読み取りと書き込みが可能なディレクトリです。

ファイルのタイムスタンプの変更は機能します。

> touch -t 01010101 /mnt/fs1/test.file

ディレクトリのタイムスタンプを変更すると、「アクセスが拒否されました」になります。

> touch -t 01010101 /mnt/fs1/baselines
touch: setting times of `/mnt/fs1/baselines': Permission denied

適用しなければならない他の取り付けオプションはありますか?ありがとう!

3

私がこれまでに得た最も合理的な答えは、Windowsにはディレクトリの変更日属性がないということです。作成日のみです。

この問題は、ディレクトリの変更日を次のように変更しようとすると、非常に混乱する可能性があります。 Java.io.File#setLastModified メソッド。 LinuxとWindowsの両方で、このAPIはローカルディレクトリで機能し、予測可能な結果が得られます。ただし、LinuxマシンにマウントされたCIFSディレクトリの変更日を設定しようとしている特定のコンステレーションでは、このAPIは日付の変更に失敗し、falseを返します。

0