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 {} \;
так как я могу это исправить? я хочу делать и то, и другое одновременно.
Вы используете пользователя ubuntu
, у которого нет разрешения на создание / редактирование файлов в / var / www. Итак, вы даете ему разрешения, загружаете новые файлы и удаляете разрешения. Вам необходимо снова удалить разрешения, потому что сервер откажет в разрешении, если ваши файлы имеют слишком широкие права.
У вас есть 3 альтернативы:
FollowSymLinks
), но после его настройки все файлы получат соответствующие разрешения, и ubuntu
будет владельцем. PS: вам не нужно запускать команду usermod
несколько раз. Когда пользователь входит в группу, он входит в группу, не должно быть никаких процессов, удаляющих его из группы.