#linux #permissions #axis2
#linux #разрешения #apache-axis
Вопрос:
Я пытаюсь управлять файлом и создать новую папку из веб-службы и сталкиваюсь с ошибкой «Отказано в разрешении». Какой рекомендуемый способ настроить эти разрешения? Вариант использования следующий.
- Имя пользователя передается в качестве параметра в URL вместе с командой.
- На основе команды я пытаюсь создать файл или скопировать некоторые файлы в каталог определенного пользователя. Можно с уверенностью предположить, что этот пользователь отличается от пользователя, которому принадлежит tomcat.
- Возможно ли выдавать себя за системного пользователя для запуска других процессов / сценариев оболочки из веб-службы?
Ответ №1:
По умолчанию ваша веб-служба запускается как непривилегированный пользователь, например www-data. Ваша веб-служба может создавать файлы только в каталогах, к которым у нее есть доступ на запись.
Из соображений безопасности не рекомендуется предоставлять веб-службе какой-либо доступ на запись к полным пользовательским каталогам. Вы могли бы сделать что-то вроде:
- Создайте отдельную папку для загрузки для каждого пользователя
/home/[username]/webuploads
- предоставьте разрешения на запись www-данных в эту папку
chmod a rw /home/[username]/webuploads
- или
setfacl -m u:www-data:rwx /home/[username]/webuploads
поддерживает ли ваша файловая система списки acl
Это дает вашему веб-сервису возможность выполнять запись в домашние каталоги других пользователей, но также не позволяет службе перезаписывать все в пользовательских каталогах.