Я написал простое Java-приложение, которое читает и пишет журналы (зашифрованные текстовые файлы) для небольшой компании «XYZ». Журналы хранятся на сервере OS X, и все клиентские компьютеры получают доступ к журналам на этом сервере через соединение Ethernet. Другая независимая компания, «ABC», установила и настроила сеть и ее узлы. Компания XYZ испытывает множество проблем с потерей данных при записи журналов на диск. Наиболее вероятная причина, по-видимому, заключается в том, что когда пользователь создает новый журнал, он получает разрешения на чтение / запись в журнал, а все остальные пользователи получают только разрешения на чтение. Таким образом, когда пользователь A пытается редактировать журнал, созданный пользователем B, приложение пытается записать журнал на диск, но у него недостаточно прав для этого. Разрешения ACL используются.
Могу ли я или как разработчик программного обеспечения решить эту проблему, или это чисто проблема администрирования сервера / сети? Есть ли что-то, что я должен сделать или могу сделать в коде приложения, чтобы убедиться, что это работает так, как должно?
Громко жалуйтесь. Отлавливайте сбои и сообщайте о них пользователю.
Изменение прав доступа к файлам, чтобы любой человек с соответствующей группой мог читать и писать в них, — тоже хороший шаг, но похоже, что это выходит за рамки Java.