RFC: svnserve z inetd

Arkadiusz Miskiewicz arekm w pld-linux.org
Pią, 5 Sty 2007, 02:41:35 CET


On Thursday 04 January 2007 09:38, Michał Łukaszek wrote:
> Hej,
>
> nie bardzo podoba mi się, że nasze subversion-svnserve działa sobie
> jako demon z uprawnieniami roota. Chętniej widziałbym tutaj odrębnego
> użytkownika, np. svn do którego będzie należeć całe repozytorium, na
> wyłączność. Niestety, jeśli dobrze rozumiem dokumentację, przy
> odpalaniu svnserve jako demona (-d) nie można określić użytkownika
> którego uprawnienia będzie ono wykorzystywać.

Można jednak podać użytkownika w skrypcie startowym PLDowym.

> 1) Mniej inwazyjny, mniej elegancki. W skrypcie svnserve.init można
> użyć su, aby demon odpalił się z uprawnieniami użytkownika svn.
Zmień z:
daemon svnserve ${SVNSERVE_OPTIONS} -r ${SVNSERVE_PATH}
na:
daemon --user svn svnserve ${SVNSERVE_OPTIONS} -r ${SVNSERVE_PATH}

ale też musisz dodać w specu zakładanie oraz usuwanie użytkownika svn.

> 2) Bardziej elegancki, trochę więcej modyfikacji. Svnserve odpalany
> nie jako demon z init, tylko z inetd w chwili, gdy jest potrzebny. Z
> tego co widzę, ta metoda jest wykorzystywana przez większość innych
> dystrybucji. Problemy: co z upgradem dla użytkowników wykorzystujących
> demona pracującego z uprawnieniami roota (czy spec w post może
> pozwolić sobie na chown svn:svn dla katalogu root repozytorium/czy
> może wyświetlić banner i się nie przejmować/inne)?

U nas jest jako demon i to wystarczy. Jak ktoś z palca sobie wpisze do inetd 
to zawsze tam może podać od razu jakiegoś użytkownika.

> 3) Hackerski. Patch, który doda opcję do svnserve, którą będzie można
> określić, z czyimi uprawnieniami demon ma działać.

Hackerskie łatki są ok o ile zaakceptuje je upstream czyli developerzy 
subversion.

> I na koniec: może w ogóle zrobić subpackage -inetd i -standalone?
> Tyle, że wtedy upgrade byłby realnym koszmarem...

proftpd.spec jest tak podzielony i nie jest to koszmar pod warunkiem, że w obu 
setupach proces chodzi z tego samego użytkownika. Pytanie tylko czy do czegoś 
wersja inetd jest potrzebna...

> Jeśli przeoczyłem coś, i całe moje dywagacje nie mają najmniejszego
> sensu, proszę o informację :-)

Jeszcze trzeba wpisać nowo zaalokowane uid/gid/usera do 
CVS/PLD-doc/uid_gid.db.txt

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/


Więcej informacji o liście dyskusyjnej pld-devel-pl