RFC: svnserve z inetd

Michał Łukaszek mlukaszek w gmail.com
Czw, 4 Sty 2007, 09:38:03 CET


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ć.

Tak więc, widzę kilka sposobów, na które można by to zrobić:

1) Mniej inwazyjny, mniej elegancki. W skrypcie svnserve.init można
użyć su, aby demon odpalił się z uprawnieniami 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)?

W obu przypadkach w specu będzie następowało tworzenie/kasowanie
użytkownika i grupy svn w odpowiednich sekcjach. Katalogi
/home/services/subversion/{,repos} tworzone byłyby dla tego
użytkownika na wyłączność.

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

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

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

-- 
pozdrawiam,
Michał Łukaszek
prism w pld-linux.org


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