Серверный каталог монтируется с пользователем, который определенно имеет права «Запись атрибутов» в 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
Изменение метки времени каталога приводит к "Permission denied":
> touch -t 01010101 /mnt/fs1/baselines
touch: setting times of `/mnt/fs1/baselines': Permission denied
Есть ли какие-то другие варианты монтирования, которые я должен применить? Спасибо!
Самый разумный ответ, который я получил до сих пор, это то, что Windows не имеет атрибута даты модификации для каталогов. Есть только дата создания.
Эта проблема может быть очень запутанной при попытке изменить дату модификации каталога, например, методом java.io.File#setLastModified. Как под Linux, так и под Windows этот API работает на локальных каталогах с предсказуемым результатом. Однако, в одном конкретном созвездии, которое пытается установить дату модификации смонтированного CIFS каталога на машине под Linux, этот API не изменяет дату и возвращает false.
.