2.10 Lesezugriff auf das Repository
Es ist möglich, beim Zugriff auf einen
paßwort-geschützten CVS Server
( 2.9.3 Direct connection with password authentication) Schreibzugriffe zu verbieten.
(Die anderen Zugriffsmethoden unterstützen einen solchen
eingeschränkten Zugriff nicht, da sie alle ein
Login auf dem Repository-Rechner voraussetzen und der
Anwender in diesem Fall alle Aktionen ausführen kann,
die ihm die lokalen Filezugriffsrechte einräumen.)
Ein Anwender, der nur Lesezugriff erhält, kann nur
CVS Operationen ausführen, die nicht das Repository
verändern, ausgenommen bestimmte "administrative" Files
(wie z.B. Lock-Files und das History-File). In manchen
Fällen kann es erwünscht sein, einen derartigen Zugriff
zusammen mit "User-Aliasing" anzuwenden
( 2.9.3.1 Setting up the server for password authentication).
Im Unterschied zu früheren CVS Versionen
können Anwender, die nur Lesezugriff haben, auch nur das
Repository lesen. Sie sind nicht in der Lage,
Programme auf dem Server ausführen oder
auf anderen Wegen unerwünschte Zugriffsrechte zu
bekommen. Anders gesagt: die bekannten Löcher
sind gestopft. Da diese Funktion aber neu ist und noch
nicht einer gründlichen Sicherheitsüberprüfung
unterzogen wurde, sollten Anwender sie mit der
nötigen Vorsicht, die ihrem Sicherheitsbedürfnis
entspricht, einsetzen.
Es gibt zwei Wege, Benutzer auf einen
Lesezugriff einzuschränken: durch Inklusion und durch
Ausschluß.
"Inklusion" bedeutet, die Benutzer im File
`$CVSROOT/CVSROOT/readers' anzugeben, das eine
eine durch Newline unterteilte Liste von Nutzernamen
ist.
Hier ist ein Beispiel eines `readers' File:
(Vergessen Sie das Newline nach dem letzten
Namen nicht.)
"Ausschluß" bedeutet, jeden Nutzer, der
Schreibzugriff hat, zu nennen--wenn das File
existiert, haben nur die dort angeführten Nutzer
Schreibzugriff und jeder andere Anwender automatisch
Lesezugriff (natürlich müssen auch die Anwender
ohne Schreibzugriff im CVS `passwd' File
stehen). Das File `writers' hat das gleiche Format
wie das File `readers'.
Anmerkung: Wenn das CVS File `passwd'
CVS Nutzernamen auf Systemnutzernamen abbildet
( 2.9.3.1 Setting up the server for password authentication),
muß der Zugriff für CVS Nutzernamen
geregelt werden, nicht für die Systemnutzernamen.
Die Files `readers' und `writers' enthalten CVS
Nutzernamen, die sich eventuell von den
Systemnutzernamen unterscheiden.
Hier ist der vollständige Algorithmus des
Servers, um zu entscheiden, ob einem Nutzer
Nur-Lesezugriff oder Lese-Schreib-Zugriff gewährt wird:
Wenn das File `readers' vorhanden ist und
der Anwender darin aufgeführt ist, erhält er
Nur-Lesezugriff. Oder, wenn das File `writers'
existiert, und der Anwender ist darin NICHT
verzeichnet, so erhält er ebenfalls Nur-Lesezugriff
(sogar, wenn `readers' vorhanden ist und er nicht
darin steht). Anderenfalls erhält er Lese-Schreib-Zugriff.
Ist der Anwender in beiden Files
aufgeführt, wird dieser Konflikt auf konservative
Weise gelöst und er erhält Nur-Lesezugriff (es ist
besser, das Repository etwas stärker zu
schützen als etwas zu schwach).
|