/ bin / разрешение узла отклонено после установки CHMOD 777

это для Amazon EC2 linux.

У меня есть сценарий PHP, который запускает сценарий оболочки.

Итак, внутри сценария оболочки есть команда для запуска узла.

Когда я запускаю PHP-скрипт из командной строки, выполняется узел.

Когда я запускаю PHP-скрипт из браузера, я получаю это сообщение в журнале apache:

/home/ec2-user/.nvm/versions/node/v8.11.3/bin/node: Permission denied

Это после выполнения chmod 777 на /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

Я также сделал chown ec2-user: apache /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

Также вот результат:

$ ls -alrt /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

-rwxrwxrwx 1 ec2-user apache 34800111 Jun 12 22:40 /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

У всех есть полные разрешения на это, как я могу получить ошибку «В разрешении отказано»?

Итак, это снова отлично работает, если я запускаю PHP-скрипт из командной строки.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
342
2

Ответы 2

Хорошо, это полное нет-нет, но это временно взлом.

Поскольку это работает на моем экземпляре AWS EC2, я просто ограничиваю все через группу безопасности и разрешаю только I.P. адреса, которые я разрешаю, так что это безопасно для меня.

Вы должны добавить разрешения для группы apache в файле sudoers.

Итак, сначала:

$ sudo visudo

А затем добавьте:

%apache ALL = (ALL) NOPASSWD: ALL

В конец файла. Опять же, это плохо, это взлом, но это текущий обходной путь, и я ограничиваю доступ к экземпляру EC2 через I.P. адреса в группе безопасности в любом случае.

Если вы хотите запустить это, вы можете перейти к /etc/sudoers и сделать apache в качестве пользователя sudo, и у него будут привилегии root для запуска файла в браузере. Вам нужно будет внести следующие изменения: - Сначала найдите линию

root ALL=(ALL) ALL

а затем добавьте строку под ним

apache ALL=(ALL) NOPASSWD: ALL

Другие вопросы по теме