Как настроить разрешения в Centos, чтобы PHP скрипт через cURL мог получить доступ к определенным папкам и файлам?

Как можно дать пользователю, который использует cURL в PHP для сохранения файла в папку, доступ к этой папке без изменения прав на 777? Как определить этого пользователя? 

Поясните, пожалуйста, подробнее, что означает "добавил его в группу root", и почему это не сработало. Также уточните, как вы пытались добавить пользователя nginx в root и почему это не сработало.
  • 25 октября 2023 г. 10:38
Ответы на вопрос 10
Для настройки разрешений в CentOS, чтобы PHP скрипт через cURL мог получить доступ к определенным папкам и файлам, вы можете использовать следующий подход:

1. Установите пользователя и группу, которым принадлежит веб-сервер Apache или Nginx.
2. Проверьте, есть ли у веб-сервера уже установленная группа. Для Apache она может называться "apache", для Nginx - "nginx". Вы можете проверить это, просмотрев конфигурационный файл веб-сервера.
3. Затем вы можете изменить разрешения папки или файла таким образом, чтобы группа имела право на запись в нее. Например, для папки, назовем ее "myfolder", вы можете выполнить следующую команду:
```
chmod g+w myfolder
```
4. После этого добавьте пользователя, использующего cURL в PHP, в группу веб-сервера. Для этого можно использовать команду `usermod`:
```
usermod -a -G nginx myuser
```
Где "nginx" - это название группы веб-сервера, а "myuser" - имя пользователя, использующего cURL в PHP.
5. Перезапустите веб-сервер, чтобы изменения вступили в силу.

Относительно вопроса о добавлении пользователя в группу "root": добавление пользователя в группу "root" предоставляет ему полные привилегии системного администратора. Это означает, что пользователь сможет выполнять любые действия на сервере и изменять все файлы и папки. Очень рискованно давать такие привилегии обычному скрипту PHP, так как это может легко привести к нарушению безопасности сервера.

Касательно попыток добавить пользователя "nginx" в группу "root" - это также не рекомендуется. Пользователи "nginx" и "root" выполняют разные задачи и имеют разные уровни привилегий. "root" имеет полные привилегии, в то время как "nginx" это пользователь веб-сервера, которому надо доверять только необходимые права для запуска и обслуживания веб-сервера.

Вместо этого, рекомендуется создать новую группу, дать ей необходимые разрешения, а затем добавить пользователя "nginx" в эту группу для получения доступа к соответствующим папкам и файлам.
 Добавил пользователя в группу root.
Так делать категорически нельзя 
Добавил его в группу root 
 Это действие считается неприемлемым.
Так же пробовал пользователя nginx добавить в root 
 Также пытался добавить пользователя nginx в группу root.
Вы сейчас надобавляете, что у вас получится проходной двор 
 Вы сейчас создаете уязвимость, что приведет к нарушению безопасности.
Подскажите пожалуйста как не меняя права на 777 дать доступ юзеру который пытается сохранить в папку файл 
 Подскажите, пожалуйста, как предоставить запись в папку для пользователя, чтобы он мог сохранять файлы, не меняя права доступа на 777.
Сохраняйте файлы в папку к которой имеет доступ ваше приложение и от туда уже забирайте файлы 
 Храните файлы в папке, доступной для вашего приложения, и уже оттуда получайте файлы.
И как определить этого юзера? 
 Как определить текущего пользователя?
Сохраненный файл будет иметь того владельца из под которого он был сохранен 
 Сохраненный файл будет принадлежать пользователю, от имени которого он был сохранен.
Похожие вопросы