Bookworm | Rechte | user pi soll im Ordner /fhem bearbeiten dürfen

Begonnen von holle75, 21 Februar 2025, 17:57:59

Vorheriges Thema - Nächstes Thema

holle75

Hello Ihr, Bookworm auf einem alten Raspi 3B neu aufgesetzt, fhem installiert und jetzt gehts erst mal wieder daran, das Rechte-Management anzupassen.

Samba ist laufend und ich kann als user pi über Netzwerk (Windows/Mac) auf den Ordner fhem und Unterordner zugreifen.
Als user pi habe ich auch "lokal" (über xrdp) Zugriff auf den Ordner.


Jetzt würde ich auch gerne mit diesem User Dateien bearbeiten können. Wahrscheinlich sind das zwei Terminal Befehle und eine conf Datei anpassen, aber ich bekomme es nicht hin.

Danke für jede Hilfestellung.


Otto123

#1
Zitat von: holle75 am 21 Februar 2025, 17:57:59Samba ist laufend und ich kann als user pi über Netzwerk (Windows/Mac) auf den Ordner fhem und Unterordner zugreifen.
Tu das nicht!

Begriffe: Terminal und nano und sudo

Beispiel:
In Windows CMD / Terminal auf dann ssh pi@hostname dann sudo nano /opt/fhem/Datei

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

Wernieman

Und sorry aber generell die Frage: wegen xrdp: Brauchst DU wirklich eine GUI auf dem "Server"?
- 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

holle75

Ihr zwei, "tu das nicht" höre ich in letzter Zeit häufiger in diesem Forum ;)

... und @MadMax-FHEM ist ja auch wieder hier und freut sich über Beiträge via "Gefallen". Du warst ja im letzten "Tu das nicht"-Thread auch eifrigst dabei.

Und doch, ich möchte aber gerne. sudo nano terminal und alles andere Linux verärgern mich dermaßen, dass eine Nutzung gerne den echten Nerds vorbehalten sein darf. Find ich temporär cool .... aber definitiv nicht meins.

Ich möchte simple, nachvollziehbare, sichere Vorgänge ausführen können:

- Zugriff als definierter User über mein Heimnetz auf einen definierten Ordner und Unterordner und dort Dateien bearbeiten können. Dies mit dem Editor meiner Wahl.
- Als angemeldeter User auf einem Rechner dort in einem definierten Ordner das selbe tun können, wenns denn sein muss.
- in diesem definierten Ordner will ich schalten und walten dürfen wie es mir behagt.... ohne auch nur ein einziges mal mehr ein Passwort eingeben zu müssen (was ich schon am Anfang musste), oder Buchstabenketten in ein Fensterchen töckeln zu müssen.

Also wirklich Basics. Ich wäre euch dankbar, wenn ihr mir die 3-5 Terminal- Befehle mitteilen könntet ;) ... schon wieder 3 Stunden mit Suchen verbraten.

und ja, ich brauche ein GUI auf einem Server. Na nicht brauchen, aber will.

Warum ihr Linuxer immer so herrisch sein müßt?! ;) ...

Wernieman

#4
ZitatWarum ihr Linuxer immer so herrisch sein müßt?! ;) ...
Der Grund dafür ist, dass man sich mit einer grafischen Oberfläche oft mehr potenzielle Probleme als Lösungen ins System holt. Vergleicht man ein System ohne GUI mit einem mit GUI, zeigt sich häufig ein Unterschied um mindestens den Faktor 3 in Bezug auf Komplexität und potenzielle Fehlerquellen. Bei Updates steigt entsprechend auch die Wahrscheinlichkeit von Problemen. Das hat nichts mit 'Linux' oder einer bestimmten Haltung zu tun, sondern beruht auf bewährten Best Practices. Und Nein, es hat nix mit Nerds etc. zu tun. Und nein, es geht hier nicht um 'Nerds' oder Ähnliches.

Und nein, es sind nicht nur 2-3 Befehle, sondern mehr. Stichworte wie z.B. ACL und Gruppenzugehörigkeit sind dabei relevant. Da ich die Befehle nicht lokal testen kann, möchte ich ungenaue Angaben vermeiden und lasse es daher lieber.

Edit:
Habe jetzt Samba-Einstellungen ganz vergessen, aber Otto hat unten was geschrieben ...
- 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

Otto123

#5
herrisch?  :P

Du musst lediglich Deine user, mit denen Du die Dateien die denen gehören, mit Passwörtern ausstatten, wahrscheinlich fhem und root?
Dann musst Du die Samba Freigabe für die User berechtigen, am besten über eine Gruppe (eigentlich analog zu Windows).
Dann machst Du die Laufwerksverbindung einfach mit dem Benutzer Deiner Wahl und kannst die Dateien editieren.
Tipp: achte darauf das Linux und Windows unterschiedliche Text- und Zeichenkodierung verwenden. Manche Editoren können das. :)
Noch einer: Linux und Samba Passwörter sind nicht identisch, manche Systeme halten diese aber synchron.

Viel Spaß damit
Otto (kein Linuxer)
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

holle75

mmmmmmmh, jetzt hats mich beim Senden gerade ausgeloggt. Na passt ja zur Bookworm-Experience ;D

Ich versuchs nochmal

@Werniemann Danke. GUI/xRDP läuft, wird aber fast nie genutzt. Wenns muss, schätze ich es. Terminalbefehle im Netz zusammenzusuchen ist keine Freude. Besonders nicht, wenn du sie nicht regelmäßig nutzt und verinnerlicht hast. Da steigt der Pegel bei den lächerlichsten Kleinigkeiten. Wobei GUI hin oder her, im Endeffekt hängt man ja doch dann auf dem Desktop im Terminal. Wahrscheinlich hast du Recht, aber so hab ich es eben seit 15 Jahren auf meinen fhem-raspis.... und mal schnell Rechte einer Datei zu ändern, ... bis ich jetzt den Befehl wieder gefunden habe, ... dann lieber schnell in einem grafischen Datei Explorer.

@Otto Danke. User Pi hat ein Passwort und auch Zugriff via LAN auf /fhem. Er darf editieren, kopieren, aber nicht Schreiben. Das verstehe ich nicht. Kein Unterschied ob Lokal oder LAN.

Nur hab ich keine Lust mir jetzt mit unverstandenen Gruppenrechten und UserRechten alles zu zerschießen. Ich möchte pi Vollzugriff auf /fhem geben. Denke, nicht sonderlich ungewöhnlicher Ansatz.

Wernieman

#7
Fragen:
- In welcher Gruppe ist pi und welcher fhem?
- Willst Du pi editieren oder den User fhem?
- Wie ist ein Samba Konfiguriert? (Hinweis: Bei Samba bin ich DAU)

Gerade wenn du das System eher selten nutzt, stellt sich die Frage: Warum eine grafische Oberfläche? Persönlich sehe ich häufig mehr Nachteile als Vorteile, bin aber offen für andere Perspektiven. Gibt es aus deiner Sicht einen konkreten Vorteil eines grafischen Tools (welches genau?) gegenüber den klassischen Befehlen wie chown oder chgrp?

Ein Punkt, den man bedenken sollte: Bei einem FHEM-Update ist es nicht immer klar, was mit den Rechten neuer oder geänderter Dateien passiert (mir persönlich jedenfalls nicht klar). Zusätzlich können, wie von Otto angedeutet, Unterschiede in der Text- und Zeichenkodierung zwischen DOS/Windows und Unix zu Problemen führen. Hierfür gibt es spezielle Tools wie dos2unix zur Konvertierung (Hinweis: dos steht hier auch für WinXX, so alt ist das Problem). Solche Stolperfallen können gerade für Linux-Neulinge riskant sein, weshalb ich bei Empfehlungen immer vorsichtig bin. Zu schnell ist das System einfach tot.

Kurzgefasst:
- Du könntest dem User pi zusätzlich in die Gruppe von fhem packen
- Samba konfigurieren, das der User Pi grundsätzlich als Gruppe des Users fhem schreibt
- Hoffen, das Dein Editor die Richtige Text- und Zeichenkodierung Verwendet
Aber ... alle obigen Angaben ohne Gewähr ... und sorry, das meine ich ernst. Die Passende Samba-Config müssen dir, mangels Wissen meinerseits, andere Liefern. Dem User pi zusätzlich in die Gruppe von fhem (wahrscheinlich auch hier fhem) zu packen, dürfte (und sollte) trivial sein ....

Ich hoffe mit den Denkanstößen Dir (und anderen) zu helfen ....

Edit:
Sorry eine Grundsatzdiskussion anzustoßen, aber das Thema ist nicht einfach. Nicht ohne Grund gibt es mittlerweile sogar ein Windows ohne GUI ...
- 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

Otto123

Zitat von: holle75 am 21 Februar 2025, 22:28:28Ich möchte pi Vollzugriff auf /fhem geben.
Beliebt ist allen einfach Schreibrecht zu geben, das geht mit chmod - siehe https://wiki.ubuntuusers.de/chmod/
Beliebt ist auch das grafische Tool webmin .
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

frober

ZitatIch möchte simple, nachvollziehbare, sichere Vorgänge ausführen können:

Das geht am einfachsten über SSH im Terminal mit sudo.

Schreibe dir die benötigten Befehle incl. kurzer Erklärung in eine Text-Datei (mit dem Editor!) auf deinem Client (Windows ?). Dann kannst du diese per c&p benutzen.

Im Inet gibt es Übersichtsseiten über die meist benutzen Linux-Befehle.

Das ist sicherer und einfacher als mit Halbwissen an den Rechten zu "pfuschen".

Zum Kopieren von Dateien gibt es unter Windows WinSCP. Läßt sich wie ein Dateiexplorer benutzen. Zum Schreiben benötigtst du hier auch sudo, dafür gibt es im Inet irgendwo eine Anleitung.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

holle75

#10
Zitat von: Wernieman am 21 Februar 2025, 22:57:17- In welcher Gruppe ist pi und welcher fhem?
- Willst Du pi editieren oder den User fhem?
- Wie ist ein Samba Konfiguriert? (Hinweis: Bei Samba bin ich DAU)

- Gruppe pi weiss ich nicht. Ist der Standarduser (wenn ich jetzt das Netz für 30 Minuten durchforste um den Terminal-Befehl zu finden könnte ich es dir sagen) .... aber mal über Pcmanfm einen rechtsklick -> Eigenschaften -> berechtigungen im Home-Ordner von pi auf irgendeiner datei ergibt besitzer root, Gruppe root. Inwieweit das jetzt was über die Gruppe pi aussagt, weiss ich nicht
- fhem ist wohl (mit selben suchschema) gruppe "dialout"
- ich will pi vollzugriff auf ordner /fhem und unterordnern und allen dateien darin geben
- Samba ist so konfiguriert, dass pi über Netz die selben Rechte wie Lokal hat. Meine ich zumindest. Selber User selbes Passwort. Konfiguriert ist so (moment, muss erstmal wieder im Terminal den Befehl für smb.conf editieren suchen ..... ) ....
sudo nano /etc/samba/smb.conf

[fhem]
   comment = Basisordner fhem
   path = /opt/fhem
   read only = no
   browseable = yes
   create mask = 0777
   valid users = pi
   directory mask = 0777

Zitat von: Wernieman am 21 Februar 2025, 22:57:17Gerade wenn du das System eher selten nutzt, stellt sich die Frage: Warum eine grafische Oberfläche? Persönlich sehe ich häufig mehr Nachteile als Vorteile, bin aber offen für andere Perspektiven. Gibt es aus deiner Sicht einen konkreten Vorteil eines grafischen Tools (welches genau?) gegenüber den klassischen Befehlen wie chown oder chgrp?

siehe oben genannte Vorteile (Teile davon) .... klar kann ich Putty öffnen, den raspi wählen, verbinden, Passwort eingeben und über SSH meine Befehle eingeben (Teile, siehe oben). Aber ein schneller Klick auf eine RDP Verbindung auf dem Desktop finde ich da praktischer. Auch mal schnell andere Infos einholen (CPU Auslastung, Speicher belegung, schnell mal eine Datei verschieben oder Rechte ändern, etc, etc, etc) geht deutlich schneller. Du hast eben alle (auf Raspi spärlichen) Infos schnell beisammen.... und wirkliche Nachteile (lassen wir mal updates und daraus evtl. entstehenden Probleme außen vor) sehe ich nicht.

Zitat von: Wernieman am 21 Februar 2025, 22:57:17Zusätzlich können, wie von Otto angedeutet, Unterschiede in der Text- und Zeichenkodierung zwischen DOS/Windows und Unix zu Problemen führen

Gut, das sollte einem bewußt sein und den entsprechend fähigen Editor nutzen.

Zitat von: Wernieman am 21 Februar 2025, 22:57:17Zu schnell ist das System einfach tot.

Ich fahre regelmäßige komplette Image Backups und der Folder /fhem wird täglich gesichert. Das ist zu empfehlen. Ein image ist schnell wieder auf SD/SSD aufgespielt. Das ist ja das tolle an diesen Kleinstcomputern.... wenn du sie erstmal so wie du möchtest am Laufen hast.

Zitat von: Wernieman am 21 Februar 2025, 22:57:17Dem User pi zusätzlich in die Gruppe von fhem (wahrscheinlich auch hier fhem) zu packen, dürfte (und sollte) trivial sein ....

... und da frage ich mich, ob das reicht. Die Dateien im Ordner /fhem sind Besitzer: fhem Gruppe: dialout. Rechte von Dateien in /fhem (viele, nicht alle)
sind

Inhalte anzeigen: jeder
Inhalte ändern: nur Besitzer (und da liegt mein Problem)
Ausführen: niemand (Beispiel eine logdatei)

entweder ich ändere jetzt alle Dateien auf
Inhalte ändern: Gruppe
und füge den User pi der Gruppe dialout zu

oder fahre ein anderes Konzept. Die Frage ist, was ist auf Linux das richtige Konzept. Auf Win bin ich, wenn ich will, Admin und darf alles. Linux ist da filigraner aufgestellt....

Zitat von: frober am 22 Februar 2025, 08:28:24Das geht am einfachsten über SSH im Terminal mit sudo.


Auch will ich nicht jedesmal die sudo terminal Schleife fahren und vorher in der Befehlsliste spicken müssen. WinSCP ist ein tolles Tool was ich bei allem "Webserver" nutze, aber ich will doch ganz simpel in meinem Datei-Explorer auf ein Laufwerk klicken und da Arbeiten und nicht vorher ein weiteres Programm öffnen um dann kopieren und ändern und zurückspeichern oder über Umwege den internen Editor öffnen, oder den externen Editor öffnen. Wie schwer soll man sich sein Leben machen?

Jeder wie er will. Das meine ich so. mein Konzept ist im täglichen Arbeiten (für mich) maximal Zeiteffizient. So möchte ich es gerne beibehalten.
Alles läuft über mein Hautpsystem visuell KlickKlick oder maximal rechtsklick -> "bearbeiten mit" und so bin ich es gewohnt. Das ist über Netz und Vollzugriff und nur wenns denn sein muss über SSH oder GUI gegeben. Commodore VC20 und eintöckeln war vor 30 Jahren.

Nochmal zurück zur Hauptfrage:

Rechte von Dateien in /fhem (viele, nicht alle)
sind

Inhalte anzeigen: jeder
Inhalte ändern: nur Besitzer (und da liegt mein Problem)
Ausführen: niemand (Beispiel eine logdatei)

entweder ich ändere jetzt alle Dateien auf
Inhalte ändern: Gruppe
und füge den User pi der Gruppe dialout zu (hier hatte ich irgendwas gelesen, dass man aufpassen muss, dass man nicht aus Versehen den User aus anderen Gruppen gleichzeitig entfernt ... da wirds mir Angst)

oder fahre ein anderes Konzept.

Was wäre auf Linux der beste Weg?

Zitat von: Otto123 am 22 Februar 2025, 00:07:34Beliebt ist allen einfach Schreibrecht zu geben, das geht mit chmod - siehe https://wiki.ubuntuusers.de/chmod/
Beliebt ist auch das grafische Tool webmin .

Einmalig mache ich das gerne übers Terminal. Du meinst, dass alle User alle Dateien in /fhem ändern dürfen? Also

Inhalte ändern: Jeder

?

EDIT: ein

sudo chmod -R 777 /opt/fhem
macht auf jeden Fall schonmal das was ich möchte. Ob das jetzt der "richtige" Weg ist, weiss ich nicht.
"jeder" hört sich für mich erstmal nicht ganz so sexy an. Der Weg über die Gruppe wäre wohl "der bessere" .... aber dank fehlender Linux-Kenntnisse und nach 30 Minuten Ottos Link durcharbeiten auch echt die Faxen dicke (wie kompliziert/komplex kann man eine Anleitung und Funktion machen um dann bei so einem simplen Ergebnis zu landen) haben, bleibts jetzt eben mal so.









Otto123

Man kann übrigens
  • mit notepad++ auf den Pi bequem über ssh zugreifen (Plugin NppFTP), da ist die Unwegsamkeit von Samba entbehrlich.
  • FHEM auch unter Windows betreiben, entweder direkt oder mittels WSL.
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

holle75

Ich finds jetzt so wie es ist top. Schön separiert (fhem auf einem eigenen Maschinchen simpel uptodatezuhalten und zu sichern), trotzdem verbunden mit vollen Rechten, da arbeiten wo ich es haben möchte (Win/Mac), direkt mit den Programmen die ich mag... und mit Linux wenig zu tun. So spannend es ist, bin froh, dass es jetzt erstmal wieder vorbei ist.

Habe während dem Prozess auch mal in Docker reingeschaut ... recht schnell das Gefühl bekommen, da eine nicht zu kleine Baustelle aufmachen zu würden.


Wernieman

Auch eine ssh Verbindung kannst Du mit einem Doppelklick auf dem Desktop starten ... "muß man nur einrichten". Sehe da den Overhead der grafischen Verbindung .. ist wie "mit Kanonen auf Spatzen schießen" ...

Aber zurück zu Deinem Problem:
- Warum willst Du dann eigentlich mit dem User PI arbeiten? Am einfachsten wäre es dann (auch nicht schlimmer als GUI), einfach den User fhem freigeben ....
- Alternativ wie von Dir vorgeschlagen alle Dateien durch Gruppe ändern lassen (Hinweis: SAMBA muß dann auch passsend konfiguriert sein. S.o. bin kein Samba Spezialist)
Übrigens hat (normalerweise) fhem die Standartgruppe fhem + dialout für die Seriellen Schnitstellen. Irgendjemand hat nur mal sich entschlossen, /opf/fhem unter der Gruppe dialout zu setzen. Sollte man, wenn man auf Sicherheit steht, lieber glattziehen ;o)

-> Wo sind jetzt Deine Probleme?

Und Nein, Linux mit ACL ist eigentlich genau so wie Windows ..... man kann beide ziemlich schnell damit ziemlich viel kaputt machen (arbeite mal in einem Mehrbenutzerumgebung mit etwas aufwendigere Setup) .... bei Windows durch seine inkonsistente GUI sogar einfacher ...
- 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

RalfRog

Zitat von: Wernieman am 22 Februar 2025, 22:54:05einfach den User fhem freigeben

Vermutlich sinnvoller als im ganzen Pfad /opt/fhem die rechte zu verbiegen bzw. ganz (für alle 777) zu öffnen.
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen