[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Homeverzeichnis in /etc/passwd als relativer Pfad


Am 28.10.2012 17:11, schrieb Raphael Eiselstein:
> On Sun, Oct 28, 2012 at 01:26:03PM +0100, Alexander Holler wrote:
> > > Du gehst hier aber davon aus, dass mein Script aus irgendeinem Grund
> > > sein cwd auf ein Datenverzeichnis aendert. Warum?
> > 
> > Es ist voellig egal, ob du in deinem Script den Pfad nicht wechselst.
> > Du hast aber keinerlei Einfluss darauf, was die von dir benutzten
> > anderen Programme oder Scripte machen. Es sei denn, du pruefst die
> > alle, was kaum realistisch ist. Woher z.B. weisst du, daÃ? rsync nicht
> > ssh aufruft, nachdem rsync in ein anderes Verzeichnis gewechselt
> > ist?
> 
> Weil ich es fuer rsync+ssh ausprobiert habe und es funktioniert.
> 
> Wuerde rsync hier sein Verzeichnis wechseln, wuerde ssh fehlschlagen,
> weil es dann seine Keys nicht mehr findet. Es wuerde sogar schon deswegen
> fehlschlagen, weil auch die .ssh/known_hosts nicht sichtbar waere und
> weil die Verbindung ueberhaupt nur mit .ssh/config funktionieren wuerde
> (da stehen Dinge wie Benutzername, welcher Key verwendet werden soll etc).
> 
> Zuvor war uebrigens das Homeverzeichnis gar nicht vorhanden wohl aber
> gesetzt und es gab hier auch keine Fehler. Works-for-me. YMMV.

D.h. du bist sicher das dein Script auf alle Zukunft nur rsync benutzt, dieses
nur ssh benutzt, und sich das Verhalten aller drei in Bezug auf
Verzeichniswechsel nie aendert?

Verzeichniswechsel sind eine voellig legitime und haeufig benutzte Sache, und
niemand wuerde je auf die Idee kommen, dass sich mit einem solchen die Heimat
aendert.

> Leider auch kein schoener Workaround.
> 
> Eine Loesung, die das Verhalten von getpw*() dahingehend veraendert, dass
> on-demand ein Override von pw_dir moeglich ist (durch LD_PRELOAD und eine
> gesetzte Umgebungsvariable FORCE_PWDIR oder aehnlich) wuerde ich
> allerdings bevorzugen. Das wuerde zumindest dem Uebel von OpenSSH ssh(1)
> bekommen ohne Binaries zu aendern.
> 
> Eine solche Loesung kenne ich bisher allerdings nicht und kann sie manels
> C-Kenntnissen auch nicht selbst entwickeln. Ob es hier was fertiges gibt
> wage ich fast zu bezweifeln.

Ich verstehe nach wie vor nicht, warum das ueberhaupt noetig ist. Dem ssh kann
man per Option alle Pfade mitgeben und das kann man dem rsync per -e oder
Environmentvariable RSYNC_RSH, wie schon erwaehnt, mitgeben.

Was waere denn der Unterschied wenn du anstatt $RSYNC_RSH $HOME aendern
koenntest, um dem ssh da was anderes mitzugeben?

Gruss.

Alexander


-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/