Java-программа не может писать на смонтированной системе в Linux - PullRequest
0 голосов
/ 30 сентября 2018

В настоящее время я работаю над сценарием, в котором мы должны создать файл в общем каталоге в Linux и Windows.Я прошел по следующей ссылке, чтобы добиться этого:

https://www.journaldev.com/878/java-write-to-file

https://it.toolbox.com/question/how-to-write-a-file-in-a-network-folder-without-using-ftp-031208

Я смог добиться этого в сети Windows, как, например, присвоив имя файла как(\\ 198.168.1.1 \ data \ files)

Но для Linux сначала я использовал NFS для общего доступа к определенному каталогу, используя следующие ссылки:

https://alvinsim.wordpress.com/2012/06/21/mounting-nfs-from-linux-to-aix/

https://www.tecmint.com/how-to-setup-nfs-server-in-linux/

Но получил следующее исключение:

java.io.FileNotFoundException: / data / files (Файловая система только для чтения)

Я обнаружил, что следующая проблема решена вследующий поток, но я не смог добиться успеха:

https://askubuntu.com/questions/197459/how-to-fix-sudo-unable-to-open-read-only-file-system

Любой совет приветствуется.

1 Ответ

0 голосов
/ 02 октября 2018

Итак, наконец, я смог понять, в чем проблема.

Запись, которую я сделал по ссылке в файле / etc / exports, недостаточна.Нам также потребуется использовать некоторые параметры, такие как (синхронизация, rw и т. Д.), Чтобы разрешить любые ручные изменения или модификации с использованием любой Java-программы.В моем случае я должен был использовать параметры (rw, no_root_squash).И это сработало.Как очень хорошо объяснено в:

https://serverfault.com/questions/611007/unable-to-write-to-mount-point-nfs-server-getting-permission-denied/611013#611013?newreg=ce76e9417ca645da9487a5d9ccbf0371

Из Документов в: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/s1-nfs-server-config-exports

root_squash - предотвращает корневые пользователи, подключенные удаленно, от получения привилегий root и назначает их пользователюID для пользователя nfsnobody.Это эффективно «подавляет» возможности удаленного пользователя root для самого низкого локального пользователя, предотвращая несанкционированное изменение файлов на удаленном сервере.В качестве альтернативы опция no_root_squash отключает корневое сжатие.Чтобы раздавить каждого удаленного пользователя, включая root, используйте опцию all_squash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...