Назад | Перейти на главную страницу

Папка Apache www доступна только для чтения

Я пытаюсь создать файлы в моей папке / var / www (debian), но эта папка доступна только для чтения. Единственный способ создать файл - это войти в root и создать его в терминале. Тогда мне тоже нужно отредактировать содержимое. Как я могу создавать файлы и папки внутри каталога www или сделать его не доступным только для чтения, но при этом каким-то образом в безопасности. Я не понимаю, как это работает ... спасибо

Вы можете сменить владельца /var/www своему пользователю или группе, либо создайте подкаталог в /var/www и дать себе право собственности. Если ваше имя пользователя «Дэвид», то:

david$ su -
root# chown david /var/www

Или:

david$ su -
root# mkdir /var/www/david
root# chown david /var/www/david

Тогда ваш пользователь сможет читать и писать в любом каталоге, владельцем которого вы являетесь.

sudo chown `whoami` /var/www

Это установит владельцем / var / www текущего пользователя, что и является whoami возвращается.

Вам действительно следует ознакомиться с разрешениями и правами собственности на файлы / каталоги в системах posix, если вы собираетесь поддерживать экземпляр apache.

Возможно, это не лучшая ссылка, но она была первой в Google для "понимания разрешений unix": http://www.perlfect.com/articles/chmod.shtml

Чтобы делать то, что вы хотите, и в то же время не связываться с разрешениями веб-сервера, вы должны добавить себя и пользователя или группу веб-сервера в права собственности на файлы и каталоги.

Вы можете сделать это следующим образом:

1: # chmod -R 775 /var/www/;
2: # chown -R your-user.webserver-group /var/www/

Первая строка дает пользователю и группе разрешения на чтение, запись и выполнение в каталоге веб-сервера.

Вторая строка гарантирует, что вы являетесь пользователем, указанным в строке 1, и что группа веб-сервера находится в группе в каталоге веб-сервера.

Таким образом вы сможете создавать, изменять или удалять файлы и папки в /var/www/ каталог и в то же время веб-сервер может выполнять свои обычные задачи.

Вы можете сделать это, изменив права доступа к папке.

$ chmod 664 myfile / папка

Вы можете сохранить файл в / tmp, а затем использовать функции ftp, такие как ftp_fput () PHP, чтобы переместить временный файл в его надлежащее место. Кажется безумием, когда ftp-сервер «возвращается к самому себе», но файлы в этом случае будут принадлежать пользователю ftp, а не пользователю apache. Не забудьте удалить файл tmp и защитить файл с паролем ftp. us3.php.net/manual/en/function.ftp-fput.php