Привет,
>> Должно быть примерно так - каждый помощник имеет свою группу, а главный
>> входит во все эти группы. Только вот пользователь не может быть больше
>> чем в 16-ти группах, кажется.
alr> Тогда как apache юзер видит файлы? Ему нельзя иметь права на запись.
Тогда никак - без отдельного отстойника проблема не решается.
Ну либо права должны быть вида 460, а все файлы принадлежать апачу. Полный
идиотизм :)
alr> Тут правами не справиться, нужно еще правильно настроить правильный ftpd.
Чем тебе поможет ftpd, если есть телнетный доступ ?
И самое главное, в случае ftp-publishing'а я не понимаю вот чего:
- ну есть ответственные за разделы и есть главный. Ответственные кладут что-то
по ftp. Главный в некоторый момент что-то поправил. Каким образом ответственные
получат измененные копии ? Каким образом будет возникать
лог изменений - кто, когда и что правил. Publishing не есть просто право
копирования файлов, во всяком случае тогда, когда авторов несколько.
Мда. Как бы это делал я. Совсем по-хорошему :)
1. Поверх ftp/telnet
- ответственный видит по ftp/telnet только свой каталог, который является его
домашней директорией. После upload по ftp _и_ раз в часов минут _и_
по нажатию кнопки <Publish> где-то на www-сервере отдельный скрипт
(который может работать хоть из-под рута) переносит измененные файлы
на сервер.
Apache::Stage, html-ный верификатор и проверку ссылок добавить по вкусу.
Главный человек имеет доступ непосредственно к дереву документов и правит
все там. По тем же событиям, внешний скрипт переносит измененные файлы
в $HOME к ответственным.
Проблема одновременных изменений (главным и ответственным) в такой постановке
никак не решается и решена быть не может (ну если свой CVS
не написать)
2. Поверх CVS
- ответственные видят нужный кусок CVS-repository с помощью CVS (over [rs]sh).
И делают что хотят - get/commit/update
- главный видит весь репозиторий и тоже делает что хочет
- Publishing производится путем cvs update или cvs checkout или cvs export.
Update, вероятно, правильнее всего. От имени главного кроном
(или запускаться по приходу письма с нотификацией о commit)
- Apache::Stage, валидаторы и проверка ссылок - по вкусу.
Очевидно, что права на repository должны быть вида 660, причем в группу
не должен входить ни один ответственный.
Проблема одновременных изменений, Changelog и подобного в CVS'е решена.
С уважением,Alex Tutubalin
--- GoldED 2.42.G1114+
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.