Comanda svn nu a fost găsită pentru un anumit utilizator (Administrarea sistemului, Linux, Ubuntu, Ssh, Svn)

sh4 a intrebat.
a intrebat.

Implementez un sistem de export al codului sursă de pe serverul meu svn pe serverul clientului (unde va fi găzduit site-ul web).

I-am cerut clientului meu să instaleze subversion în mașina sa pentru a putea folosi comanda „svn export” din linia de comandă a serverului său prin ssh.

Nu știu cum are configurat serverul său… Am testat acest lucru în alte mașini/servere locale și pot să recuperez codul de pe serverul meu de la distanță, dar în serverul lui primesc eroarea:

svn command not found

I-am spus să testeze cu utilizatorul său comanda „svn” pentru a verifica dacă funcționează, iar el spune că este ok pentru el „prompting type svn help… blabla”. Deci presupun că este o problemă de permisiune.

Ce trebuie să-i spun să facă în serverul său pentru a putea accesa comanda svn acolo? Am încercat să o testez local și în serverul meu, dar fiecare utilizator nou pe care îl adaug (chiar și cu useradd și fără permisiuni/grupuri specifice) poate accesa comanda svn, așa că nu am niciun indiciu.

Mașina lui este un Ubuntu 10.04.2 LTS

Orice ajutor este apreciat.

EDIT————————————

Este ok să adaug ~/bin la $PATH și ln -s /usr/bin/svn la ~bin/svn?

Este în regulă să dau unui utilizator în visudo drepturi NOPASSWD la o anumită comandă (usr/bin/svn în acest caz), pentru a putea folosi „sudo svn”? Acest lucru ar trebui să rezolve problema.


P.S. Scuzați-mi engleza, nu este limba mea maternă.

Comentarii

  • Trebuie să aibă $PATH setat pentru a include calea către svn. –  > Por Jenny D.
  • Citiți-mi editarea dacă puteți, vă rog. Este în regulă să fac asta? Vă mulțumesc! –  > Por sh4.
  • NU ar trebui să îl puneți să folosească sudo pentru a rula svn. Dacă face asta, toate comenzile svn vor fi rulate ca root, nu ca utilizator. Probabil că nu este ceea ce doriți! –  > Por Jenny D.
  • face /usr/bin/svn funcționează? –  > Por Skaperen.
1 răspunsuri
usr-local-ΕΨΗΕΛΩΝ

Acest lucru nu este răspunsul la problema dvs., ci la pașii de investigare suplimentară. Nu am avut mult spațiu și formatare în comentariu.

Aș investiga scripturile de pornire ale acelui utilizator, cum ar fi .profile sau .bashrc pentru a vedea dacă calea este modificată. Puteți încerca să îi cereți clientului dvs. să se conecteze cu SSH. Următoarele comenzi arată pe serverul meu că svn comanda este disponibilă pentru invocare

:~> echo $PATH
/home/djechelon/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games
:~> whereis svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz

Explicație: prima comandă arată că este activă PATH în Linux, iar a doua îmi spune unde se află svn se află executabilul. Uitați că svn.1.gz care este pentru man comanda.

De obicei, svn binar se află în /usr/bin, care este de obicei sub PATH. Dacă clientul dvs. a configurat diferit mașina și/sau SVN, atunci s-ar putea să găsiți ceva diferit.

Vă rugăm să țineți cont de faptul că dumneavoastră sau clientul dumneavoastră trebuie să să vă conectați la server cu același cont cu care aveți probleme.

Comentarii

  • bash-4.1$ echo $PATH –> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/bin:/sbin:/bin:/usr/games <— Aparent /usr/bin, unde se află comanda svn, este în $PATH-ul meu, dar dacă încerc să îl accesez nu pot. Un ls peste /usr/ listează doar folderul „lib”, deci am un utilizator foarte restricționat, presupun. O altă soluție la care m-am gândit este prin sudo/visudo, acordând drepturi NOPASSWD utilizatorului meu asupra comenzii /usr/bin/svn. Nu știu dacă este în regulă din punct de vedere al securității? Vă mulțumesc! –  > Por sh4.
  • Este posibil să fiți într-un fel de shell încarcerat , în acest caz nici sudo nu va funcționa. Îți sugerez să exporți codul pe propria mașină, apoi ftp/scp/etc pe server. Va fi mult mai ușor. –  > Por Sandor Marton.