У меня есть коробка Linux, которой поделились разные разработчики. Они хотят развернуть свои военные файлы в Apache Tomcat, который находится в общей папке (/ opt / tomcat).
Так как они не имеют доступа sudo, я должен изменить разрешение папки для каталога tomcat.
структура каталогов под /opt/tomcat
является -
bin/
conf/
lib/
logs/
temp/
webapps/
work/
Каковы лучшие практики в вышеуказанной ситуации - наиболее подходящее разрешение доступа для пользователя? В настоящее время я изменил разрешение на 777 для веб-приложений и журналов.
Спасибо
Non-Tomcat settings
В разделе руководства по безопасности Tomcat содержится полезная информация по этой теме. Посмотреть здесь:источник
Вы должны следовать принцип наименьших привилегий , Сервер (возможно
www-data
, но вам нужно проверить) нужно уметь читать большинство файлов (скажем, все) и записывать только в журналы. Веб-разработчикам разрешено писать, где им нужно. Установите бит закрепления в каталогах, чтобы удалить его мог только владелец файла.На практике вам нужно создать группу (например,
webdev
) и добавьте в него всех разработчиков и сервер (usermod -aG webdev <user>
или жеusermod -A webdev <user>
в зависимости от вашего вкуса Linux).chown
все файлы и каталог для пользователя веб-сервера, chmod все каталоги до 500 и все файлы до 400 (кромеbin
где исполняемых файлов тоже должно быть 500).Предоставить права на запись на
/opt/tomcat
группе (это будет 570) и установите бит закрепления, чтобы они могли удалять только те файлы, которые принадлежат им (chmod 1570). Предоставьте серверу разрешение на запись в журналы и права на чтение для разработчиков (0740 для папки, 0640 для файлов, бит закрепления, вероятно, не требуется, и никогда не предоставляйте его файлу, только папкам, поскольку он другое значение (выполняется с разрешениями владельца, когда файл является исполняемым)).Затем вам нужно предоставить права на запись (1570)
webdev
на некоторых из каталогов. Здесь вам понадобится метод проб и ошибок, и это может зависеть от приложения. Эти папки должны быть 1570, а некоторые другие могут быть 0500).Разработчикам необходимо предоставить группе права доступа на чтение для своих файлов, чтобы сервер мог их читать (это 640), а также выполнять в каталогах (это 750).
источник
Я думаю, что принятый ответ @ intropedro - хороший. Стоит отметить, что использование установщика пакетов может сэкономить много головной боли - по крайней мере, для Tomcat 7 в Ubuntu
apt-get install tomcat7
Производит более «стандартный» набор установочных каталогов:/etc/tomcat7
для файлов конфигурации,/var/lib/tomcat7
для основных библиотек и/usr/share/tomcat7
для общих ресурсов.Все разрешения настроены правильно по принципу наименьших прав доступа, так что добавление пользователей в группу
tomcat7
достаточно, чтобы разрешить развертывание. Кроме того, сервер Tomcat настроен как служба, которую можно запускать и останавливать как другие (например,sudo service tomcat start
или в качестве альтернативы/etc/init.d/tomcat start
). Tomcat запускается при перезагрузке автоматически, и есть команда «перезапустить». Я уверен, что есть эквивалентный пакет yum для пользователей RHEL / CentOS. (И да, есть домашний установщик для локальных установок OSX).Если у вас возникли проблемы, есть хорошая утилита в
/usr/share/bin
называетсяconfigtest.sh
что сообщает, если есть разрешения или другие ошибки. Обратите внимание, что есть открытая ошибка, которая предлагает добавить несколько символических ссылок ,Мы все еще работаем с Ubuntu
trusty
(14.04); для тех, кто работает с более свежими версиями, я считаю, что есть репозиторий apt-get Tomcat 8источник