У меня есть файл java jar, который использует File.setLastModified() для установки конкретной отметки времени для файла, ссылаясь на /mnt/nxx/file.name. Он работает по желанию, когда файл принадлежит тому же UID, что и вошедший в систему пользователь, запускающий процесс java. Но это не удается, если вошедший в систему пользователь является любым другим UID.
Файл размещен на внешнем USB-накопителе, отформатированном в файловой системе Ext4, смонтированном на Raspberry Pi во время загрузки через /etc/fstab с использованием:
/dev/sdb1 /mnt/nxx ext4 defaults 0 2
Хост Ubuntu в той же сети, который монтирует тот же диск во время загрузки через /etc/fstab, используя:
192.168.x.x:/mnt/nxx /mnt/nxx nfs rw 0 1
также может успешно установить отметку времени, если вошедший в систему пользователь имеет тот же UID, что и на Pi.
Однако хост Windows-10, который подключается через Samba к тому же диску (отображается как N:\ в \ RASPI\root\mnt) и выполняет тот же код Java, может успешно установить отметку времени для ЛЮБОГО файла независимо от владельца файла. как утверждает Пи.
Рассматриваемый файл имеет права доступа 777, и, как и ожидалось, любой пользователь на любом хосте в моей домашней сети может успешно изменить файл. Единственная проблема заключается в том, что java-вызов setLastModified() терпит неудачу, когда UID пользователя на хостах Linux не совпадает с владельцем файла, даже если пользовательский java-процесс выполняется с тем же GID, что и файл.
Моя цель состоит в том, чтобы иметь возможность смонтировать диск и поделиться им со всеми хостами в моей домашней сети любым способом, чтобы хосты Windows и Linux в моей домашней сети могли использовать код Java для успешного управления временными метками.
Почему Windows-10 может успешно манипулировать отметкой времени независимо от пользователя, а Linux — нет? Есть ли способ добавить/настроить параметры в различных директивах монтирования fstab, в smb.conf или в другом месте, чтобы настроить диск так, чтобы Linux вел себя так же, как Windows?
Кстати: та же проблема существует с внешними жесткими дисками, отформатированными в файловых системах NTFS. Я не пробовал сопоставление пользователей с дисками NTFS.
Любая помощь будет оценена по достоинству.
cw