Форум программистов, компьютерный форум, киберфорум
Наши страницы
Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Amaterino
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 9
1

Как сделать, чтобы web-сервер видел файлы, загруженные пользователем по ftp?

05.04.2013, 05:21. Просмотров 1836. Ответов 5
Метки нет (Все метки)

Всем привет,

подскажите плз как сделать так, чтобы при загрузке FTP пользователем в /data/ftp/ права для www-data или group/other были как-нимум read?

дело в том, что каталог /data/ftp/ это Document root для Apache2. И получается на файлы загруженные FTP юзером Permission Denied. FTP юзер себя ставит владельцем, а всем остальным фиг и апач не может доступ к файлам получить.

Пробовал выставлять бит setgid на папку /data/ftp, но при создании файлов в папке ftp, права сверху не наследуются.

делал даже с запасом, вот так:
Bash
1
chmod u+ws,g+ws,o+ws /data/ftp
в результате получаю на папку ftp такие права
Код
drwsrwsrw- www-data:ftpusers
Однако при заливке FTP юзер ставит себя own'ером.
Можно как-то наследование включить или повлиять на такое поведение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 05:21
Ответы с готовыми решениями:

Как закачать файлы на ftp-сервер?
Код должен вытаскивать все файлы из папки /home/path/to/public_html/tmp/orders/...

FTP сервер vsftpd. Как указать каталог /var/ftp как каталог который нужно открыть при подключении?
CentOS 5.8, FTP сервер: vsftpd При подключении к FTP с клиентской машины...

Как автоматически залить файлы на ftp-сервер?
Собственно сабж. Debian 6. Юзал гугл по теме фтп клиентов но находил только...

Как сделать, чтобы каждый пользователь ftp видел только свою папку?
Всем доброе время суток! У меня возник вопрос Вот я создал папку, создал...

RDP(VNC)/FTP/Torrent/WEB сервер за NAT
Здравствуйте! После недели поиска я понял, что своими силами задачу не решить....

5
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
05.04.2013, 06:00 2
Цитата Сообщение от Amaterino Посмотреть сообщение
дело в том, что каталог /data/ftp/ это Document root для Apache2
это нелогично, нужно, чтобы у каждого было своё: у web-сервера своя папка, у ftp-сервера - своя

Цитата Сообщение от Amaterino Посмотреть сообщение
в результате получаю на папку ftp такие права
в результате, у тебя ftp-сервер попадает под юрисдикцию web-сервера

настрой ftp для ftp, и открой туда доступ для web-сервера
включи пользователя www-data в группу, которая может проходить в папки ftp-сервера
надо писать что-нибудь - включи пользователя www-data в группу, которая может писать
1
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10751 / 6078 / 456
Регистрация: 09.09.2009
Сообщений: 24,083
05.04.2013, 11:39 3
Цитата Сообщение от Amaterino Посмотреть сообщение
Можно как-то
как "костыль" - в крон команду на смену прав
0
Amaterino
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 9
05.04.2013, 18:19  [ТС] 4
Спасибо за ответы и помощь в исправлении косяков с оформлением

Цитата Сообщение от accept Посмотреть сообщение
это нелогично, нужно, чтобы у каждого было своё: у web-сервера своя папка, у ftp-сервера - своя
А если файлы загруженные по FTP должны быть доступны по http://, то как лучше сделать? Просто на старой Fedore эта схема работала.

Цитата Сообщение от accept Посмотреть сообщение
настрой ftp для ftp, и открой туда доступ для web-сервера
включи пользователя www-data в группу, которая может проходить в папки ftp-сервера
надо писать что-нибудь - включи пользователя www-data в группу, которая может писать
А я уже так пробовал. У меня www-data в группе ftpusers, а у нее права есть:
/data/ftp/
Bash
1
drwsrwsrw- 7 www-data ftpusers
А вот залитый внутрь файлик по FTP уже меняет владельца и права таким образом:
/data/ftp/test.txt
Bash
1
-rw------- 1 ftpu ftpusers
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
06.04.2013, 02:08 5
Цитата Сообщение от Amaterino Посмотреть сообщение
А если файлы загруженные по FTP должны быть доступны по http://, то как лучше сделать?
точно так же: всё по своим полочкам разложено, никто не лезет в чужие настройки
потому что с бардака начинаются проблемы

паскаль. разделяй и властвуй
лекция 7. модули Майерса
вот у тебя два модуля - web-сервер и ftp-сервер, нужно просто соединить их, а не смешать друг с другом

Цитата Сообщение от Amaterino Посмотреть сообщение
А вот залитый внутрь файлик по FTP уже меняет владельца и права таким образом:
/data/ftp/test.txt
Bash
1
-rw------- 1 ftpu ftpusers
и правильно делает, это ftp-сервер контролирует свои файлы
маска, по которой устанавливаются права на созданный файл, определяется настройками ftp-сервера
не нужно делать пользователя, который никак не относится к ftp, владельцем файла (должна быть возможность быстро запретить web-серверу доступ к файлам ftp-сервера, и это делается просто исключением пользователя из группы, а не какими-то рекурсивными сменами владельца)

сделай так:
1. создай файл, у которого права группы такие, какие надо (как будто он был закачан ftp-пользователем, владелец - ftp-сервер, группа владельцев - группа пользователей ftp-сервера)
2. настрой web-сервер для использования этого файла так, как надо (сделай проход в каталог к этому файлу, посмотри, как web-сервер его находит)
3. настрой ftp-сервер, чтобы он закачиваемые файлы создавал с точно такими же владельцем, группой и правами

таким образом у тебя просто открыт проход к файлу, web-сервер использует его потому, что находится в группе ftp-пользователей (все, кто находится в группе ftp-пользователей, могут это проделывать)
это потом уже ты будешь для файлов, которые предназначены для web-сервера, устанавливать специальную группу, которую создашь отдельно (чтобы другие пользователи ftp-сервера не имели на них каких-то прав)
1
Amaterino
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 9
07.04.2013, 06:22  [ТС] 6
Цитата Сообщение от accept Посмотреть сообщение
3. настрой ftp-сервер, чтобы он закачиваемые файлы создавал с точно такими же владельцем, группой и правами
То что нужно. Сделал через unmask 022. Спасибо большое!
0
07.04.2013, 06:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 06:22

Как перевести обращение к ftp-серверу в Интернете на домашний ftp-сервер?
Сервер LAMP поднимал , но интересует такой вопрос , сделать UPLOAD . Взять...

Как сделать, чтобы finger-сервер отвечал на запросы клиента?
Как поднять под Ubuntu 12.10 сервер finger, чтобы он отвечал на запросы клиента?

Как сделать, чтобы машины с виндой увидели файловый сервер с Ubuntu?
Добрый день! Проблема в следующем. Имеется локальная сеть из машин с ос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru