Разрешения для файлового ввода-вывода из веб-службы на linux / axis2 - PullRequest
0 голосов
/ 07 июня 2011

Я пытаюсь манипулировать файлом и создавать новую папку из веб-службы, и я сталкиваюсь с ошибкой отказа в доступе. Каков рекомендуемый способ настройки этих разрешений? Вариант использования следующий.

  1. Имя пользователя передается в качестве параметра в URL вместе с командой.
  2. На основании этой команды я пытаюсь создать файл или скопировать некоторые файлы в определенный каталог пользователя. Можно предположить, что этот пользователь отличается от пользователя, которому принадлежит tomcat.
  3. Возможно ли выдать себя за пользователя системы за запуск других процессов / сценариев оболочки из веб-службы?

1 Ответ

0 голосов
/ 07 июня 2011

По умолчанию ваш веб-сервис работает как непривилегированный пользователь, например, www-data.Ваш веб-сервис может создавать файлы только в тех каталогах, к которым у него есть доступ для записи.

По соображениям безопасности плохая идея предоставлять веб-сервису любой вид доступа для записи в полные пользовательские каталоги.Вы можете сделать что-то вроде:

  1. Создать отдельную папку для загрузки для каждого пользователя /home/[username]/webuploads
  2. дать разрешения на запись www-данных в эту папку
    • chmod a+rw /home/[username]/webuploads
    • или setfacl -m u:www-data:rwx /home/[username]/webuploads, если ваша файловая система поддерживает списки ACL

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

...