更改 CIFS 挂载上目录的时间戳时权限被拒绝

更改 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

还有其他安装选项吗?谢谢!

答案1

目前我得到的最合理的答案是 Windows 没有目录的修改日期属性。只有创建日期。

当尝试使用以下命令更改目录的修改日期时,这个问题可能会非常令人困惑java.io.File#setLastModified方法。在 Linux 和 Windows 下,此 API 都适用于本地目录,结果可预测。但是,在一个特定的场景中,即尝试设置 Linux 机器上已安装 CIFS 目录的修改日期时,此 API 无法更改日期并返回 false。

相关内容