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