Többfelhasználós, hozzáférés-vezérelt Darcs

Feladat: SSH-n csatlakozó felhasználók számára darcs hozzáférés biztosítása a következő feltételekkel:
- csak ahhoz férjenek hozzá, amihez feltétlenül muszáj;
- lehessen szabályozni, melyik felhasználó melyik repóhoz hogyan (csak olvasás vagy írás-olvasás) fér hozzá.
A megoldás kulcsa egy olyan wrapper, ami csak a megfelelő darcs parancsokat engedi használni; ez egyúttal az sftp-n való barangolást is kizárja. Beüzemelése triviálisan egyszerű: a csatolt szkriptet töltsük fel szerverünk /usr/local/bin könyvtárába darcs-shell néven, majd hozzunk létre egy közös (célszerűen darcs nevű) felhasználót, akinek a nevében az összes szerveroldali dolog futni fog. Ezen felhasználó shellje legyen /usr/local/bin/darcs-shell. A fejlesztői hozzáférések egyszerűen beállíthatóak: az adott fejlesztő publikus SSH kulcsát a darcs felhasználó ~/.ssh/authorized_keys2 fájljához adjuk hozzá, az alábbi trükkel:
command="darcs-shell fejlesztőnév" az_eredeti_ssh_kulcs
Az írható/csak olvasható hozzáférést az /usr/local/darcs/access fájl szabályozza, melynek formátuma (ne felejtkezzünk meg a záró perjelekről a repók elérési útjában):
fejlesztő1:/path/to/repo/:rw
fejlesztő2:/path/to/repo2/:r
A megvalósításban segítségemre volt Vajna Miklós és az ő git-shell2 szkriptje.
| Csatolmány | Méret |
|---|---|
| darcs-shell | 2.48 KB |
- 1114 Budapest, Kosztolányi Dezső tér 12. II/1a.
- +36 20 3891634, +36 30 2995579
- info@kybest.hu
