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