Каталог сервера монтируется пользователем, у которого определенно есть права «Запись атрибутов» в 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.