I'm having problem with permissions

i'm hosting some websites in same server, but this server doesn't come with root login and password, i only have access to ubuntu user and password, and when i'm logged in, i can use the command sudo su - to turn into a root user.

but using i'm using sftp to edit the files of the websites, and i can only log in using ubuntu user, i'm not able to use root user.

the problem is that i'm having permission denied when i try to edit some files. the files must have permission 644 and the folders must have permission set to 755 if the permissions aren't like this my application doesn't run.

so i have to choose, between editing the files and stop the application, or run the application and get permission denied when i edit the files. я не могу делать и то, и другое одновременно, это скучно.

поэтому мне нужно использовать эту команду, чтобы редактировать все, что я хочу, и приложение останавливается, потому что права доступа к файлам идут на 674 и разрешение папок идет на 775 :

sudo usermod -a -G ubuntu www-data
sudo setfacl -R -m u:ubuntu:rwx /var/www/

, и когда я редактировал все, я должен использовать эту команду, разрешения возвращаются к 644 в файлах и 755 в папках, и приложение вернется в нормальное состояние.

find /var/www -type d -exec chmod 755 {} \;
find /var/www -type f -exec chmod 644 {} \;

так как я могу это исправить? я хочу делать и то, и другое одновременно.

0
задан 7 August 2020 в 02:03

1 ответ

Вы используете пользователя ubuntu , у которого нет разрешения на создание / редактирование файлов в / var / www. Итак, вы даете ему разрешения, загружаете новые файлы и удаляете разрешения. Вам необходимо снова удалить разрешения, потому что сервер откажет в разрешении, если ваши файлы имеют слишком широкие права.

У вас есть 3 альтернативы:

  1. изменить настройки сервера для запуска файлов с более широкими разрешениями. Это может быть проблемой безопасности.
  2. переместите веб-сайт в каталог пользователя ubuntu и сделайте ссылку в / var / www. Возможно, вам придется изменить дополнительные настройки, чтобы это работало (см. FollowSymLinks ), но после его настройки все файлы получат соответствующие разрешения, и ubuntu будет владельцем.
  3. подключиться к серверу с пользователем, которому принадлежат файлы в / var / www / [project] / public_html. Вам нужно будет разрешить этому пользователю подключение, что может быть проблемой безопасности.

PS: вам не нужно запускать команду usermod несколько раз. Когда пользователь входит в группу, он входит в группу, не должно быть никаких процессов, удаляющих его из группы.

0
ответ дан 11 August 2020 в 20:09

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

Похожие вопросы: