Как получить контейнер сервлетов Java для сохранения файлов в качестве «владельца / группы», отличных от Tomcat? - PullRequest
1 голос
/ 29 сентября 2011

У меня есть Java-сервлет.Когда он сохраняет файлы, он сохраняет их как tomcat: tomcat (в среде Linux).На самом деле он мне нужен, чтобы сохранить его как sportsfan: tomcat, поскольку sportsfan является пользователем FTP и также нуждается в доступе для создания, изменения или перезаписи этих файлов.запуск нескольких приложений под одним экземпляром tomcat.

Возможно, лучший способ сделать это - зарегистрировать пользователя FTP как часть группы tomcat.Это будет правильный путь?

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 30 сентября 2011

Добавление вашего sportsfan пользовательского ftp в группу tomcat может быть хорошим решением, но перед этим проверьте, какие изменяемые файлы в вашей системе с этим разрешением, и учтите риски безопасности.

Другое решение: создайте группу sportsfan и добавьте в нее своего пользователя sportsfan. Затем измените группу вашего каталога upload и установите его как setgid:

chgrp sportsfan upload
chmod g+s upload

После этого новые файлы в upload будут созданы с tomcat:sportsfan owner: group. Это не совсем то, что вы просили, но изменение идентификатора пользователя (директорий setuid) не поддерживается в Linux. В Википедии есть довольно хорошая статья о каталогах setuid и setgid . Кроме того, вы должны установить значение umask пользователя tomcat равным 000x (например, 0002) или аналогичное значение, которое дает полный доступ к группе.

3-е решение: настроить задание cron, которое меняет разрешение каждые n минут.

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