Configurarea accesului Subversion pentru mai mulți utilizatori

Clientii Subversion utilizeaza protocolul  SSH pentru a accesa repozitory pe hostx.  Un cont de gazduire shared  are doar o autentificare SSH, care poate fi o problema.
Sa presupunem ca nu doriti sa comunicat  parola contului dvs. cu alti utilizatori doar pentru a putea accesa unele repository, in acest caz au acces total la contul dvs. iar commiturile la anumite repository se fac de pe acelasi user si nu puteti verifica care dintre progamatorii care au acces la cont au facut modificari.

Solutia  este de a crea si a implementa o pereche separată de chei SSH pentru fiecare utilizator. Deoarece perechile  de chei SSH nu necesită parole, utilizatorii pot accesa repository-urile  dvs. folosind clienti Subversion. In plus, puteti revoca usor accesul pentru un anumit utilizator fara a afecta alti utilizatori.

Pasii principali pentru configurarea accesului Subversion cu mai multi utilizatori sunt:

 Se creaza pentru fiecare utilizator o pereche de chei SSH si se  trimite cheia publica la proprietarul contului. Proprietarul adauga cheia publică la fișierul ~ / .ssh / author_keys in  contul de pe server.
Fiecare utilizator configureaza un client Subversion sa utilizeze cheia privata pentru a accesrea unui repository  din contul dvs.


Setare  SVN tunneling


Puteti configura  SVN tunneling. SSH tunneling va permite sa restrictionați accesul shell pe o cheie pe baza de cheie. In plus, puteti atribui numele de utilizator SVN pentru a urmari modificările efectuate de utilizatori individual.

To set up SVN tunneling, follow these steps:

  1. Autentificati-va la contul dvs. folosind  SSH.
  2. Deschideti fisierul  ~/.ssh/authorized_keys intrun editor text.
  3. Localizati cheile ce corespund utilizatorilor caruia doriti sa le restrictionati accesul .
  4. Adauvati urmatorul text la inceputul datelelor din cheie:
    command="svnserve -t --tunnel-user=SVNNAME -r /home/USERNAME/REPOSITORY",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty
    • inlocuiti  SVNNAME cu numele de utilizator SVN care doriti sa-l alocati utilizatorului. Toate  commit-urile care le va face acest user ii vor fi asociate
    • inlocuiti USERNAME cu numele utilizatorului dvs. cPanel, si inlocuiti REPOSITORY cu directorul unde se afla repository-ul dorit.  Optiunea -r seteaza  directorul virtual root pentru acel utilizator. Astfel se previne accesul unor utilizatori in alte directoare care nu apartin de acel repository.

    Exemplu de setare SVN tunneling pentru userul developer1

    command="svnserve -t --tunnel-user=developer1 -r /home/username/myrepo",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAsaAPi1T…bdrU29eQ user@localhost
  5. Salvati modificarile pentru  ~/.ssh/authorized_keys file. Utilizatori pot accesa acum repository-urile fara drept total pe alte directoare

    Pentru a lista un  repository.

    svn list svn+ssh://username@example.com/project


Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)