Доступ с фтп и права на папку для upload

Slon747

Новичок
Доступ с фтп и права на папку для upload

Хостинг на линуксе.
Для доступа через ftp к файлам php на хостинге создал пользователя ftp с домашней директорией DocumentRoot.
Владельцем на папки задал этого пользователя. Права на папку 775.
Теперь через фтп могу изменять файлы.
Но upload через apache не работает.
Если же задать владельца папки для аплоада как apache, то через фтп не получу доступ на запись.
Как правильно выставить права?
Спасибо.
 

Krishna

Продался Java
Можно сделать так:
включить пользователя apache в группу ftp, а пользователя ftp в группу apache. А umask сделать 770.
 

Активист

Активист
Команда форума
Криво настраиваете.

Во первых - Вам нужно настроить ftp (обычно это proftpd), что бы он использовал смену пользователя (работал от имени пользователя, который залогинился), по умолчанию он так и настроен.
(я вот не понял все таки от какого юзера работает ftp, и заливает)

Во вторых.
PHP может работать в двух вариациях:
а) Модуль apache - в этом случае как не крути, что не делай, все файлы будут заливаться (создаваться) от юзера веб сервера (допустим www-data). Тогда, что бы в созданую через FTP папку залить разрешить записывать файлы нужно:
- Сменить группу к которой принадлежит файл
chown ftp_user_name:www-data file name
Права на папку 770
chmod o=rwx,g=rwx,o-rwx dir_name
Либо
- не меняя группу
chmod o=rwx,g=rwx,o=rwx dir_name
Но это не безопасно.

б) Как CGI/fastCGI (apache c suExec)
В этом случае PHP работает от имени юзера, и на папку достаточно 700, НО если используется UPLOAD файлов, и при этом нужно дать доступ apache для чтения (например закаченная картинка), то средствами PHP нужно добавить g+r и o+r после оплауда, иначе будет 403 ошибка.
У меня именно CGI, и пробем с безопасность я не имею.
 

Slon747

Новичок
Спасибо. Попробую.

>Вам нужно настроить ftp (обычно это proftpd)
У меня vsftpd
>я вот не понял все таки от какого юзера работает ftp, и заливает.
Я создал пользователя с группой ftp.
Но от какого пользователя работает vsftpd сказать не могу.
Не хватает опыта в linux :)
 

Активист

Активист
Команда форума
lol
apt-cache search vsftpd
vsftpd - The Very Secure FTP Daemon

>Но от какого пользователя работает vsftpd сказать не могу.
Ну ты залогинься, закачай фаил сделай ls -la и посмтори кто владелец/группа. И напиши сюда =)
 

Slon747

Новичок
>Ну ты залогинься, закачай фаил сделай ls -la и посмтори кто владелец/группа

-rw-r--r-- 1 htmldevelop ftp 13030 Июн 26 09:58 PDOXUSRS.NET
 

smart_newline

Новичок
как сменить владельца файла средствами Апач, возможно без доступа к консольным командам.

требуется в ситуации:
загрузка файлов в корень сайта средствами PHP самого сайта. Ранее файлы в корень заливались по ftp или через web-консоль хостера. По умолчанию на все залитые файлы и папки права устанавливались 755.
При загрузке файла через сам сайт получаем ошибку прав доступа. Меняем права доступа на файл в 777 и все проходит. Т.е. вероятно проблема во владельце файла.
 

yuz

Новичок
У меня сходная ситуация.

Скрипт создаёт папку и загружает туда файлы.

Владельцем папки и файлов в ней становится "apache"

Соотвественно через ФТП-клиент я не имею полного доступа к этим файлам (удалить, перименовать, сменить права и т.д.).

Могу их удалить только, опять же, скриптом на хосте

Выполнение
chmod($file_full_name, 0777) после move_uploaded_file
(или copy) - проблему не решает

Я так понимаю, что выход один - стучать технарям хоста.

Я правильно понял ?
 
Сверху