[gelöst] User bei FHEM installation angelegt - kein /home/fhem verzeichnis

Begonnen von der-Lolo, 06 Juni 2022, 10:29:57

Vorheriges Thema - Nächstes Thema

der-Lolo

Hallo Community,
ich habe ein kleines problem - bei der fhem Installation auf einem Raspi wurde der user "fhem" angelegt, er verfügt aber über kein home verzeichnis.
Da ich nun aber von diesem Server aus via ssh auf einen anderen Server mittels authorised_keys verbinden möchte brauche ich ein home Verzeichniss in dem das .ssh abgelegt wird, oder?

Was kann ich tun um fhem zu einem "normalem" User zu machen?

Ich habe schon eiin bisschen rumprobiert - und auch FHEM angehalten, da es der einzige Prozess war der unter dem user fhem lief...
Ich komme an der stelle nicht weiter - hat jemand eine Idee?

root@poolFHEM:/home/fhem# usermod -s /bin/bash -d /home/fhem fhem
usermod: user fhem is currently used by process 606
root@poolFHEM:/home/fhem# usermod -s /bin/bash -d /home/fhem fhem
usermod: user fhem is currently used by process 8857
root@poolFHEM:/home/fhem# usermod -s /bin/bash -d /home/fhem fhem
usermod: user fhem is currently used by process 8857
root@poolFHEM:/home/fhem# htop
root@poolFHEM:/home/fhem# su fhem
fhem@poolFHEM:/home/fhem$ exit
exit
root@poolFHEM:/home/fhem# usermod -s /bin/bash -d /home/fhem fhem
usermod: user fhem is currently used by process 8857
root@poolFHEM:/home/fhem# kill 8857
root@poolFHEM:/home/fhem# usermod -s /bin/bash -d /home/fhem fhem
usermod: user fhem is currently used by process 8868
root@poolFHEM:/home/fhem# usermod -d /home/fhem fhem
usermod: user fhem is currently used by process 8868
root@poolFHEM:/home/fhem# su fhem
fhem@poolFHEM:/home/fhem$ logout
bash: logout: Keine Login Shell: Mit `exit' abmelden!
fhem@poolFHEM:/home/fhem$ kill -9 8868
fhem@poolFHEM:/home/fhem$ exit
exit
root@poolFHEM:/home/fhem# usermod -d /home/fhem fhem
usermod: user fhem is currently used by process 8887
root@poolFHEM:/home/fhem# pkil -u fhem
-bash: pkil: Kommando nicht gefunden.
root@poolFHEM:/home/fhem# pkill -u fhem
root@poolFHEM:/home/fhem# usermod -d /home/fhem fhem
usermod: user fhem is currently used by process 8897
root@poolFHEM:/home/fhem# kill -9 `ps -u fhem | grep -v PID | awk '{ printf ("%s ", $1); }'`
root@poolFHEM:/home/fhem# usermod -d /home/fhem fhem
usermod: user fhem is currently used by process 8909


MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

der-Lolo

Danke für diesen Schubser!

Das war mir nicht klar - habe es nun aber hinbekommen.

Wernieman

Nur mal für die Zukunft:
Das home-Verzeichnis des Users steht in der /etc/passwd, .vorletzter Parameter
grep fhem /etc/passwd
Keine root-Rechte erforderlich
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

der-Lolo

ja, das ist da wo ich dem user auch bin/bash geben musste ;)

Was muss ich dem user noch geben um ihn per ssh erreichen zu können?
Würde gerne ssh keys im Netz verteilen sodass ich zumindest von meinem Schreibtisch aus mit ssh fhem@xxx überall rankomme.

Otto123

Zitat von: der-Lolo am 06 Juni 2022, 19:21:13
Was muss ich dem user noch geben um ihn per ssh erreichen zu können?
Würde gerne ssh keys im Netz verteilen sodass ich zumindest von meinem Schreibtisch aus mit ssh fhem@xxx überall rankomme.
Das würde bedingen, dass es "überall" einen user fhem gibt.
Du willst mit dem user fhem auf andere ssh Server zugreifen? Dazu brauchst Du einen user auf dem anderen Server und musst den Zugang mit public Key einrichten.

Hier noch eine aktueller Beschreibung als von Joachim verlinkt.
https://heinz-otto.blogspot.com/2020/09/ssh-mit-public-key.html

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

Zitat von: der-Lolo am 06 Juni 2022, 19:21:13
ja, das ist da wo ich dem user auch bin/bash geben musste ;)

Was muss ich dem user noch geben um ihn per ssh erreichen zu können?
Würde gerne ssh keys im Netz verteilen sodass ich zumindest von meinem Schreibtisch aus mit ssh fhem@xxx überall rankomme.

Willst du als fhem User (kann sich der bei dir überhaupt einloggen? / normalerweise geht das ja nicht und das mit dem Eintrag von /bin/bash ist ja nur vorübergehend gedacht, eigentlich ;)  ) einfach auf andere Rechner per ssh kommen?
-> public Key per ssh-copy-id des Users fhem in das .ssh Verzeichnis des Users kopieren als der du remote einloggen willst und Befehle ausführen willst.
https://www.tutorialspoint.com/unix_commands/ssh-copy-id.htm
https://linuxhint.com/use-ssh-copy-id-command/

Z.B. du möchtest auf einem anderen PI einen Befehl ohne Eingabe eines Passworts ausführen und zwar durch fhem (den fhem User). Dann muss der public Key vom User fhem ins Verzeichnis .ssh des Users pi auf dem Remote PI kopiert werden.

Dann kann fhem (der User fhem) als pi@remotePI einloggen und Befehle ausführen ohne Passworteingabe.

Wenn es auf dem remote PI ein anderer User sein soll, dann eben in dessen .ssh Verzeichnis 8)


Oder willst du dich von anderen Rechnern als User fhem auf dem fhem Server einloggen können?
-> public Key des Users, der sich als fhem auf dem fhem Server einloggen will per ssh-copy-id auf den fhem Server unter dem User fhem kopieren.

In dem Fall kann sich ein User auf einem Remote Rechner (oder PI ;)  ) per ssh ohne Passwort auf dem fhem Rechner einloggen.

Also auf dem remote Rechner fhem@fhem-server und dann Befehle ausführen "im Namen von fhem" auf dem fhem Server...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

der-Lolo

Ich möchte mich gerne von einem nicht FHEM Rechner auf einem FHEM Rechner via ssh anmelden und direkt der fhem User sein...
Aktuell logge ich mich als pi auf dem FHEM Server ein, werde dann root und dann fhem user.
Als pi kann ich nicht zum fhem user werden.

Ich vermute das der fhem User keine ssh rechte hat - oder nicht der entsprechenden Gruppe zugeordnet ist.

Vom Prinzip her möchte ich so 3 FHEM Instanzen erreichen können - der Public Key des Schreibtisch Rechners muss, wenn ich alles richtig verstanden habe, also dann im jeweiligem .ssh des fhem Users auf der Instanz liegen, oder?

Otto123

Zitat von: der-Lolo am 07 Juni 2022, 06:52:07
Als pi kann ich nicht zum fhem user werden.
geht bei mir mit
sudo -su fhem
ohne den user fhem je irgendwie manipuliert zu haben.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Es ist auch Absicht, das ein Deamonuser (und das ist der fhem User) normalerweise nicht zum einloggen/benutzen verwendet wird. Warum brauchst Du so ein Login?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

der-Lolo

Ich hatte da eher pragmatisch gedacht - wenn ich files als fhem User kopiere, und oder anlege brauche ich mir um die richtigen Berechtigungen keinen Kopf zu machen...

sudo -su fhem habe ich noch nicht probiert...

Otto123

ich sags mal ganz platt: wenn man den Bedarf hat im Terminal als user fhem (Dienst User) interaktiv zu agieren - hat man was falsch gemacht :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz