Apache Проблема с пользователем / группой на httpd.conf - разрешения - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть проект codeigniter, который работает на xampp.Когда я запускаю команду php mkdir, я получаю сообщение об ошибке «Отказано в доступе».Оказывается, что пользователь php и пользователь компьютера не имеют одно и то же имя.Поэтому я изменяю в файле httpd.conf строки

User daemon
Group daemon

на

User username
Group daemon

, чтобы соответствовать моему имени пользователя.Теперь я получил эту проблему, но это создает ошибку при передаче в другой части кода.Что странно, потому что я запускаю тот же проект на другом компьютере с теми же настройками, и он работает.Можете ли вы указать мне правильное направление?

1 Ответ

0 голосов
/ 05 февраля 2019

Директива User указывает, какого пользователя linux должен использовать процесс httpd.Это означает, что процесс httpd будет делать все так, как если бы это делал этот пользователь (в данном случае вы).Если у вас нет прав на что-то, процесс httpd не сможет это сделать, и вы увидите ошибку.

Чтобы это исправить, вам нужно исправить разрешения для файлов / папок./ Команды, необходимые процессу httpd (и php).Вы можете:

  • предоставить полные права доступа группе демонов для файла / папки, которую вы хотите: chgrp daemon /path/to/file; chmod g+rwx /path/to/file
  • предоставить полные разрешения определенному пользователю для этого файла / папки:chown username /path/to/file; chmod u+rwx /path/to/file
  • предоставить полные права всем (возможно, не рекомендуется): chmod o+rwx /path/to/file

Если процессу не нужно писать в этом месте (mkdir, создать или изменить)файлы, ...) затем не предоставляют разрешения на запись, если для этого не нужно выполнять (запустить команду, прочитать содержимое папки), то не предоставляют разрешения на выполнение.

...