OH3 Benutzer- und Gruppenrechte prüfen
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
OH3 Benutzer- und Gruppenrechte prüfen
Wie kann ich mir den Status der Benutzer- und Gruppenrechte einer Datei unter Openhab 3 anzeigen lassen bzw. diese ändern?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's
- peter-pan
- Beiträge: 2573
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OH3 Benutzer- und Gruppenrechte prüfen
..meinst du das ?
linux: chown bzw. chmod
Code: Alles auswählen
hab3@oh3sata:/etc/openhab $ ls -alF items
insgesamt 732
drwxrwxr-x+ 2 openhab openhab 4096 14. Nov 01:41 ./
drwxrwxr-x+ 15 openhab openhab 4096 19. Okt 13:41 ../
-rw-rw-r-- 1 openhab openhab 18228 9. Nov 16:09 alexa.items
-rw-rw-r-- 1 openhab openhab 12730 20. Nov 00:46 astro.items
-rw-rw-r-- 1 openhab openhab 47172 11. Nov 14:38 avm_fritz.items
-rw-rw-r-- 1 openhab openhab 13186 9. Nov 17:09 castle.items
-rw-rw-r-- 1 openhab openhab 144665 14. Nov 00:23 homematic.items
-rw-rw-r-- 1 openhab openhab 22883 11. Nov 14:35 mqtt_ESP.items
-rw-rw-r-- 1 openhab openhab 31544 1. Nov 19:52 mqtt_Gosund.items
-rw-rw-r-- 1 openhab openhab 1010 28. Okt 21:50 mqtt_others.items
-rw-rw-r-- 1 openhab openhab 19272 13. Nov 18:10 mqtt_Sonoff.items
-rw-rw-r-- 1 openhab openhab 11856 19. Nov 00:03 mqtt_Sonoff_s20.items
-rw-rw-r-- 1 openhab openhab 2586 18. Okt 15:07 network_test.items
-rw-rw-r-- 1 openhab openhab 660 7. Aug 18:37 ntp.items
-rw-rw-r-- 1 openhab openhab 48291 7. Feb 2021 oncallRG.items_stop
-rw-rw-r-- 1 openhab openhab 51812 11. Apr 2021 onecall.items_stop
-rw-rw-r-- 1 openhab openhab 190073 18. Jan 2021 owm.items_stop
-rw-rw-r-- 1 openhab openhab 47061 17. Nov 11:34 owm_oncall.items
-rw-rw-r-- 1 openhab openhab 231 21. Dez 2020 readme.txt
-rw-rw-r-- 1 openhab openhab 32091 2. Nov 00:25 sonos.items
-rw-rw-r-- 1 openhab openhab 2009 13. Nov 15:47 system.items
-rw-rw-r-- 1 openhab openhab 1837 4. Okt 14:11 test.items
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
- udo1toni
- Beiträge: 13982
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3 Benutzer- und Gruppenrechte prüfen
Wobei chown (CHangeOWNer) zwingend mit erweiterten Rechten ausgeführt werden muss, also im Kontext vom User root (z.B. mittels sudo).
chown erwartet als Parameter den neuen Usernamen, wahlweise kann auch gleich noch die zugehörige Gruppe mit angegeben werden (mit Doppelpunkt getrennt). Oftmals soll die Datei der Gruppe gehören, die dem User zugeordnet ist, dann reicht es, nur den Doppelpunkt mit anzugeben.
sudo chown openhab: meine.datei setzt also gleichzeitig Besitzer und Gruppe auf openhab.
chmod dient dazu, den Modus zu setzen (CHangeMODus). Der Eigentümer einer Datei darf das selbst tun, für fremde Dateien braucht es wieder erweiterte Rechte, entweder, indem man gleich den Kontext von root verwendet, oder indem man so tut, als sei man
der Eigentümer (z.B. sudo -u openhab).
Man kann die Rechte dabei auf zwei grundsätzlich verschiedene Arten setzen. entweder als Bitmaske, geschrieben als Oktalzahl. Die erste Stelle beschreibt den Modus des Eigentümers, die zweite Stelle beschreibt die Rechte von Gruppenmitgliedern, die dritte Stelle beschreibt die Rechte aller anderen User. Die drei Bits pro Stelle stehen (MSB -> LSB für Lesen, Schreiben, Ausführen, ergibt z.B. 755 um eine Datei für jeden ausführbar und lesbar zu machen, aber nur der Eigentümer darf die Datei auch beschreiben. 600 erlaubt nur dem Eigentümer Lese- und Schreibrechte, alle anderen bleiben außen vor. Man kann also z.B. mit chmod 600 meine.datei sehr schnell den Zugriff für alle anderen verbieten.
Bei Verzeichnissen steht das Ausführen-Bit für die Erlaubnis, den Ordner zu betreten bzw. dessen Inhalt zu listen.
Die andere Art ist über die genaue Bezeichnung der Bits. Z.B. so: chmod ugo+rx meine.datei setzt (+) für alle (User, Group, Other) die Rechte Read und eXecute. Ein chmod go-w meine.datei entzieht (-) Gruppe und Anderen das Recht zu schreiben. Diese Variante kann also gezielt bestimmte Bits setzen und/oder löschen, andere Bits bleiben unberührt.
Es gibt noch eine weitere Funktion das SetUID, SetGID und Sticky Bit diese sind mittels u+s (SetUID) bzw. g+s (SetGID) zu setzen und bewirken, dass ein Programm automatisch im Kontext des Besitzer bzw. der Gruppe ausgeführt wird. Besonders im Zusammenhang mit dem Besitzer root ist das nicht ganz ungefährlich... Das Sticky Bit sorgt in einem verzeichnis dafür, dass unabhängig von den gesetzten Rechten nur der Besitzer einer Datei diese löschen kann (in einem Verzeichnis mit vollen Zugriffsrechten kann das sonst jeder User)
Beide Befehle können auch rekursiv ganze Verzeichnisbäume bearbeiten, wobei man sich natürlich darüber im Klaren sein muss, dass das gewisse Risiken bergen kann
chown erwartet als Parameter den neuen Usernamen, wahlweise kann auch gleich noch die zugehörige Gruppe mit angegeben werden (mit Doppelpunkt getrennt). Oftmals soll die Datei der Gruppe gehören, die dem User zugeordnet ist, dann reicht es, nur den Doppelpunkt mit anzugeben.
sudo chown openhab: meine.datei setzt also gleichzeitig Besitzer und Gruppe auf openhab.
chmod dient dazu, den Modus zu setzen (CHangeMODus). Der Eigentümer einer Datei darf das selbst tun, für fremde Dateien braucht es wieder erweiterte Rechte, entweder, indem man gleich den Kontext von root verwendet, oder indem man so tut, als sei man
der Eigentümer (z.B. sudo -u openhab).
Man kann die Rechte dabei auf zwei grundsätzlich verschiedene Arten setzen. entweder als Bitmaske, geschrieben als Oktalzahl. Die erste Stelle beschreibt den Modus des Eigentümers, die zweite Stelle beschreibt die Rechte von Gruppenmitgliedern, die dritte Stelle beschreibt die Rechte aller anderen User. Die drei Bits pro Stelle stehen (MSB -> LSB für Lesen, Schreiben, Ausführen, ergibt z.B. 755 um eine Datei für jeden ausführbar und lesbar zu machen, aber nur der Eigentümer darf die Datei auch beschreiben. 600 erlaubt nur dem Eigentümer Lese- und Schreibrechte, alle anderen bleiben außen vor. Man kann also z.B. mit chmod 600 meine.datei sehr schnell den Zugriff für alle anderen verbieten.
Bei Verzeichnissen steht das Ausführen-Bit für die Erlaubnis, den Ordner zu betreten bzw. dessen Inhalt zu listen.
Die andere Art ist über die genaue Bezeichnung der Bits. Z.B. so: chmod ugo+rx meine.datei setzt (+) für alle (User, Group, Other) die Rechte Read und eXecute. Ein chmod go-w meine.datei entzieht (-) Gruppe und Anderen das Recht zu schreiben. Diese Variante kann also gezielt bestimmte Bits setzen und/oder löschen, andere Bits bleiben unberührt.
Es gibt noch eine weitere Funktion das SetUID, SetGID und Sticky Bit diese sind mittels u+s (SetUID) bzw. g+s (SetGID) zu setzen und bewirken, dass ein Programm automatisch im Kontext des Besitzer bzw. der Gruppe ausgeführt wird. Besonders im Zusammenhang mit dem Besitzer root ist das nicht ganz ungefährlich... Das Sticky Bit sorgt in einem verzeichnis dafür, dass unabhängig von den gesetzten Rechten nur der Besitzer einer Datei diese löschen kann (in einem Verzeichnis mit vollen Zugriffsrechten kann das sonst jeder User)
Beide Befehle können auch rekursiv ganze Verzeichnisbäume bearbeiten, wobei man sich natürlich darüber im Klaren sein muss, dass das gewisse Risiken bergen kann
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
- scotty
- Beiträge: 676
- Registriert: 28. Apr 2020 04:44
Re: OH3 Benutzer- und Gruppenrechte prüfen
Danke euch!
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's