Отказано в доступе при добавлении веб-приложения Tomcat 8 на Amaon EC2
Я не могу найти, как получить права на запись и чтение в папку tomcat.
Я следовал руководству DigitalOcean по настройке Tomcat. Единственное, что я сделал иначе, это то, что я использовал Java 8 вместо 7, но я не думаю, что это вызывает проблему.
Когда я захожу в менеджер веб-приложений tomcat и загружаю войну, я получаю следующую ошибку:
FAIL - Ошибка развертывания при загрузке, исключение: java.io.FileNotFoundException: /opt/tomcat/webapps/SimpleServlet.war (разрешение отклонено)
Когда я использую Filezilla для подключения к EC2 и хочу поместить файл в папку webapps:
Ошибка: /opt/tomcat/webapps/SimpleServlet.war: открыт для записи: разрешение запрещено
Ошибка: передача файла не удалась
Выход из ls -la /opt/tomcat/webapps
является:
total 28
drwxr-xr-x 7 root root 4096 Nov 20 09:19 .
drwxr-xr-x 9 root root 4096 Nov 28 16:34 ..
drwxr-xr-x 14 root root 4096 Nov 28 16:34 docs
drwxr-xr-x 6 root root 4096 Nov 28 16:34 examples
drwxr-xr-x 5 root root 4096 Nov 28 16:34 host-manager
drwxr-xr-x 5 root root 4096 Nov 28 16:34 manager
drwxr-xr-x 3 root root 4096 Nov 28 16:34 ROOT
но это структура папок, которую можно увидеть в FileZilla
На уроке я следовал этому шагу:
Затем создайте нового пользователя tomcat. Мы сделаем этого пользователя членом группы tomcat с домашним каталогом /opt/tomcat (где мы будем устанавливать Tomcat) и с оболочкой /bin/false (чтобы никто не мог войти в учетную запись):
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Может ли это быть проблемой?
2 ответа
/opt/tomcat
объявлен домашним каталогом tomcat
пользователь, но принадлежит root
пользователь (с tomcat
пользователь не имеет прав на запись).
Чистя учебник, особенно раздел разрешений, я испытываю смешанные чувства к качеству учебника. В нем говорится о "предоставлении пользователю tomcat права на запись в каталог conf" при изменении прав доступа к папке. Отсутствие разрешений на запись для пользователя сервера веб-приложений в запущенное программное обеспечение представляется целесообразным для производственного использования (злоумышленник, использующий процесс tomcat, не сможет изменять программное обеспечение), это также не позволит вам развертывать приложения без использования менеджера веб-приложений tomcat.,
Я бы пошел на настройку tomcat
как webapps
группа:
chgrp -R tomcat /opt/tomcat/webapps
и когда вам нужно развернуть новые приложения, добавьте разрешения на запись для этой группы:
chmod -R g+w /opt/tomcat/webapps
который вы удалите снова после развертывания:
chmod -R g-w /opt/tomcat/webapps
(вам нужно будет запускать эти команды с привилегиями суперпользователя, поэтому используйте префикс sudo
по мере необходимости). Это также соответствовало бы рекомендациям Tomcat по безопасности.
Чтобы дать разрешения
бывший. для Tomcat8
$ cd /var/lib$ ls -ld tomcat8
$ sudo chmod -R o+w tomcat8/