LINUX.ORG.RU
ФорумAdmin

Удаленное копирование файлов в папку вэб-сервера

 , ,


0

2

Есть Debian на котором поднят nginx и php. Создал папку и прикрутил листинг ее через вэб страницу. Все отлично работает когда у всех файлов в папке владелец и группа www-data. Проблема в том, что в эту папку предполагается копирование новых файлов удаленно через winscp и у новых файлов хозяин другой и соответсвенно эти файлы в листинге не отображаются. Как быть?


Добавь пользователя в группу www-data или наоборот www-data в группу пользователя.

Но у меня подозрение, что саму задачу выкладки контента стоит переосмыслить.

adn ★★★★
()
Ответ на: комментарий от anc

Я провоцирую думать.
Получить готовый ответ, который достаточно просто скопипастить сможет и обезьяна. Таких в IT хватает, надо что-то менять.

mord0d ★★★★★
()

Единственный @adn дал верный ответ. Добавить пользователя в группу www-data, под которым входишь через winscp, только надо учесть какие права на группу распространяются.

Shprot ★★
()
Последнее исправление: Shprot (всего исправлений: 2)
Ответ на: комментарий от anc

Верных ответов тут больше одного.

Ну может быть и соглашусь, так как тот же chown по крону даст нужный результат, но это костыль и с точки зрения ИБ любой юзверь, у которого есть доступ в эту папку может подкинуть какашку в проект. Крон в определённый момент счоунит на овнера и пиши пропало.
Давая осознанно права определённым юзерам, риск появления какашки минимизируется, но не исключается.

P.S> Возможно я мыслю как параноик, но это уже опробовано на собственной шкуре и в большинстве случаев, я учусь на своих ошибках

Shprot ★★
()
Ответ на: комментарий от Shprot

Возможно я мыслю как параноик, но это уже опробовано на собственной шкуре и в большинстве случаев, я учусь на своих ошибках

Для примера возьмём пакет proftpd
На мой взгляд идеальна следующая схема:
Смотрим uid пользователя www-data

id www-data

В дебианоподобных он вроде как 33 Создаём пользователя:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=winscpuser --uid=33 --gid=33 --home=/var/www --shell=/usr/sbin/nologin

где /etc/proftpd/ftpd.passwd - путь до файла, в котором хранятся пользователи.
winscpuser - имя пользователя.
uid и gid - идентификаторы пользователя и группы системной учетной записи www-data.
/var/www - домашний каталог пользователя.
/usr/sbin/nologin - оболочка, запрещающая локальный вход пользователя в систему.

Усилим безопасность. Открываем на редактирование /etc/proftpd/proftpd.conf
Снимаем комментарий с

DefaultRoot ~

Этим самым запрещаем выход пользователю winscpuser за рамки /var/www

Остаётся подключиться созданным пользователем и закинуть необходимые файлы

Та-ра-та-ра-там

Shprot ★★
()
Последнее исправление: Shprot (всего исправлений: 1)
Ответ на: комментарий от Shprot

Лол нет. Не пользователю надо читать файлы nginx, а процессу nginx нужно читать файлы, записанные пользователем. Так что юзера nginx надо включать в группу пишущего юзера.

targitaj ★★★★★
()

Проблема в том, что в эту папку предполагается копирование новых файлов удаленно через winscp и у новых файлов хозяин другой и соответсвенно эти файлы в листинге не отображаются

Им и не надо иметь одного владельца, надо чтоб были r+x. Удивлен, что этого никто не написал выше.

anonymous
()
Ответ на: комментарий от anonymous

Скрипт с chown в фоне.

Смешно. Прошло пять лет, на ЛОРе появляется тема от ТС: «Меня кажется поломали, у файлов самопроизвольно меняется владелец. Памагите!»

anc ★★★★★
()