user dir wijzigen?
Ik heb een probleempje. In een editor kan ik een SFTP-server aanmaken. Op zich handig, maar er gaat iets niet lekker. Ik wil hem zo instellen dat ie begint in de root van de server. Daarvoor heb ik de "remote directory" ingesteld op "/". De user die ik gebruik heeft de juiste rechten, dus dat zou gewoon goed moeten gaan.
Het probleem is nu dat ie niet naar de root van de server gaat, maar naar de root van de user. Als ik de SFTP-server dus 'openklap' zie ik niet de root van de server, maar zie ik de bestanden in /home/jantje/.
Is er een instelling op de server die ik kan aanpassen, waardoor ik wél in de root van de server terecht kom in plaats van in de root van de user? Alle hulp is welkom.
(Oh ja, ik wil als het kan wel graag gewoon de map /home/jantje/ behouden.)
Gewijzigd op 22/05/2016 16:11:37 door Ozzie PHP
Ik probeer je te volgen. Ik neem aan dat je het volgende bedoelt: Je hebt een Editor (IDE) waarin je een verbinding kunt maken met een SFTP server. Kun je hierin geen start_dir of home_dir aangeven. Het lijkt mij nogal ver gaan om op de server zelf de Home dir aan te passen.
Daarnaast zou ik je willen vragen: Waarom zou je in de root (/) van een server willen beginnen? Kun je niet beter de projectmap waar je werkt als beginpunt gebruiken?
Als je via SFTP inlogt, gebruik je een File Transfer Protocol over de SSH (Secured Shell) voor de gebruiker waar je mee inlogt. Zoals je bij Windows op de Desktop van een gebruiker inlogt, log je bij Unix in op de homedir ~/ of /home/jantje/
Je kunt in veel editors aangeven dat hij na het inloggen een chdir moet geven naar een andere map.
Bij het invullen moet je dan bijvoorbeeld:
Als je dit via de linux commandline doet, ziet het er ongeveer zo uit:
>> [email protected]:/map/waar/je/wilt/beginnen
Misschien dat dat ook werkt in je editor.
Jij wil op / uitkomen. Die is eigenlijk alleen als "root" te benaderen. Immers heeft user jantje daar niets te doen, laat staan dat je wil dat ie daar komt. Dus ik denk dat je beter dan:
- Of jantje de rechten geven als "root"
(Niet aan te raden)
- Of je idee wat beter uitleggen want eigenlijk wil je iets wat je helemaal niet wilt.
(iets met veiligheid)
Gewijzigd op 22/05/2016 17:13:27 door Bart V B
Jawel, dat is dus die "remote directory". Echter, als ik daar "/" invul dan gaat ie niet naar de root van de server, maar naar de root van de user, dus naar /home/jantje/.
De website die ik wil bewerken staat echter in /var/www/vhosts/mijnwebsite.nl Vanuit /home/jantje kan ik daar dus niet bij.
Ik ben zelf de enige die toegang heeft tot de server. Uit veiligheidsoverwegingen wil ik alles via een SSH-user doen. Die user heeft root-rechten dus dat is geen enkel probleem. Alleen de home directory van die user is dus /home/jantje/. Met die user wil ik overal bij kunnen. Maar in die editor kijkt ie dus blijkbaar naar de home directory en niet naar de server directory.
Nu kan ik bijv. in /etc/passwd de directory /home/jantje aanpassen in "/". Als ik dat doe dan werkt het in de editor wel. Echter als ik dan via de shell inlog is ie z'n bash_profile e.d. kwijt. dat schiet dus ook niet op. Wat ik dus zou willen is dat /home/jantje/ wel gewoon de home directory blijft waarin bash-profile e.d. staan, maar dat de "werkdirectory" de root directory van de server is.
Misschien een beetje een warrig verhaal ... ik hoop dat jullie het (een beetje) begrijpen.
ln -s /var/www/vhosts/mijnwebsite.nl /home/jantje/www
Homedirectory verwijzingen veranderen is onverstandig, met een beetje pech sluit je jezelf ermee buiten. Direct in /etc/passwd werken is gevaarlijk. Doe dit nooit.
Ah ... dat zijn goede tips. Als ik het goed begrijp creëer ik dan dus een symbolische link "www" in het mapje /home/jantje die leidt naar "/var/www/vhosts/mijnwebsite.nl"?
Toevoeging op 23/05/2016 00:59:24:
Mooie oplossing. Werkt goed. Thanks!
Helemaal correct. En dat hangt dus ook weer mooi samen met je vorige topic, FollowSymlinks uitzetten houdt in dat Apache deze links niet volgt.
Ik snap het ... nice :-)