Permission denied - Logfiles auslagern

Begonnen von Tommyland78, 09 Dezember 2014, 13:49:08

Vorheriges Thema - Nächstes Thema

Tommyland78

Hallo zusammen,

ich habe mir ein SMB/CIFS-Share auf meinem Raspberry eingerichtet, welcher beim boot eingerichtet wird.
Mittels SSH kann ich unter /mnt/Storage auch die eingehangene Freigabe sehen, Dateien schreiben und löschen (volle Rechte)

Jetzt wollte ich das Logfile auf diesen Share auslagern, weitere z.B. das Wetter-Log sollten folgen.

Mittels:

attr global logfile /mnt/Storage/Logfiles/FHEM/fhem-%Y-%m.log

wollte ich das File auslagern, bekomme aber von FHEM ein "Permission denied".
Ein im Vorfeld vorgenommenes kopieren der Log-Datei (so das auf dem Share das Logfile schon vorhanden ist), führt zur selben Fehlermeldung, wenn ich danach den o.g. Befehl ausführe.

Irgendwie verstehe ich die Meldung nicht, da meiner Meinung nach ja die Rechte ausreichend sein sollten.
Übersehe ich hier etwas?

Grüße
Der Tom

Hollo

Verständnisfrage:
Hast Du eine irgendeine Freigabe auf Deinem System mit FHEM eingehängt, oder ein Verzeichnis auf Deinem System mit FHEM für den Zugriff von woanders freigegeben?
Die Rechte-Einstellungen für den Zugriff von aussen (also per Client auf die Freigabe) sind eine andere Sache als die Verzeichnisrechte Deines /mnt/storage .

Liefer mal ein paar Codeschnipsel, dann kann Dir sicher geholfen werden...
Also mal die /etc/fstab mit Deiner Share-Einbindung und die Definition Deines Shares.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Bennemannc

Hallo,

oder mal ls -la auf das Verzeichnis machen. Da bekommst Du alle Informationen zu den Rechten der Dateien und Verzeichnisse innerhalb des aktuellen Verzeichnisses.
Die Berechtigungen bei Linux sind User, Group, Other dann kommt rwx lesen,schreiben, ausführen.
Ändern kann man das mit chmod (Nummer) wobei 1 lesen, 2 schreiben und 4 ausführen ist. Das wird dann zusammen addiert. Also wäre 333 lesen und schreiben für alle - log Dateien ausführenmacht keinen Sinn.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

hexenmeister

Zitat von: Bennemannc am 10 Dezember 2014, 11:30:39
Ändern kann man das mit chmod (Nummer) wobei 1 lesen, 2 schreiben und 4 ausführen ist. Das wird dann zusammen addiert. Also wäre 333 lesen ...

Die alte Schule...  ;D
Warum nicht mit sudo chmod a+rw *.log
Ist doch einfacher zu verstehen und auch sich für später zu merken.  ;)

Grüße,
Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

Hallo,

Es schadet aber nix wenn man auch "old school" mal gehört/gelesen hat  ;)
Wobei es dafür aber ja unzählige Seiten im Internet gibt die sich mit Linux befassen.

ZitatIrgendwie verstehe ich die Meldung nicht, da meiner Meinung nach ja die Rechte ausreichend sein sollten.
Wenn ein Linuxsystem sagt das die Rechte nicht passen wird vermutlich wer eher Recht haben?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Tommyland78

#5
Hallo zusammen,

Ich habe im PI ein Mount auf meine NAS eingerichtet.
/mnt war ja vorhanden, ich habe dann nur mittels root (sudo) "/mnt/smb/Storage" und "/mnt/smb/Backup" eingerichtet.

Hier die Rechte zu den Verzeichnissen

pi@raspberrypi ~ $ ls -la /mnt/smb/
insgesamt 8
drwxrwxrwx  4 root root  4096 Dez  9 17:01 .
drwxrwxrwx  3 root root  4096 Dez  9 16:53 ..
drwxrws---+ 3 root users    0 Dez  5 23:36 Backup
drwxrws---+ 3 pi   users    0 Dez  9 11:44 Storage

pi@raspberrypi ~ $ ls -la /mnt/smb/Storage/
insgesamt 4
drwxrws---+ 3 pi   users    0 Dez  9 11:44 .
drwxrwxrwx  4 root root  4096 Dez  9 17:01 ..
drwxrws---+ 4 pi   users    0 Dez  9 12:30 Logfiles

pi@raspberrypi ~ $ ls -la /mnt/smb/Backup
insgesamt 4
drwxrws---+ 3 root users    0 Dez  5 23:36 .
drwxrwxrwx  4 root root  4096 Dez  9 17:01 ..
drwxrwsrwx+ 2 1023 users    0 Dez  9 13:59 FHEM

Hier die fstab

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p5  /boot           vfat    defaults          0       2
/dev/mmcblk0p6  /               ext4    defaults,noatime  0       1
//192.168.0.2/Backup/Raspberry/FHEM /mnt/smb/Backup/ cifs defaults,rw,username=Raspberry,password=Tommyland78,domain=Tommyland78 0 0
//192.168.0.2/Storage/FHEM /mnt/smb/Storage/ cifs defaults,rw,username=Raspberry,password=Tommyland78,domain=Tommyland78 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use $

und am Ende wollte ich mit :

attr global logfile /mnt/smb/Storage/Logfiles/FHEM/fhem-%Y-%m.log

mein Logfile von FHEM auf das Mount auslagern. Nicht wundern zu meinem ersten Post, ich habe zwischenzeitlich noch den Mountpunkt geändert, daher kam "smb" als Zwischenordner dazu.

Ich hoffe das die Informationen ausreichend sind.
Grüße und Danke, der Tom

Bennemannc

Hallo,
abgesehen davon, das ich Passwörter schwärzen würde
Zitat//192.168.0.2/Storage/FHEM /mnt/smb/Storage/ cifs defaults,rw,username=e=Raspberry,password=Tommyland78,domain=Tommyland78 0 0

was soll username=e=Raspberry sein ? Ein wenig zuviel kopiert was ?  ;)
Mal ändern und testen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Tommyland78

Hallo

das =e= ist eine copy&paste Fehler.
Das Mount funktioniert ja auch.
Ich kann ja über SSH auf dem Mount Order/Dateien erstellen/lesen/löschen, nur eben FHEM kann das offensichtlich nicht?!

Grüße
Der Tom

Bennemannc

Hallo,

wenn ich das recht lese
drwxrws---+ 4 pi   users    0 Dez  9 12:30 Logfiles darf der user "pi" und die Gruppe "users" alles - alle anderen nichts. Fhem versucht vermutlich mit "fhem fhem" zu schreiben. Das wäre dann nicht erlaubt.
Wie oben im Tread schon geschrieben im Verzeichnis /mnt/smb/Storage/ "sudo chmod -R a+rw Logfiles" und gut. Das sollte den Modus (chmod) für das Verzeichnis (Logfiles) und alles was darunter ist (-R) für alle (a) Schreiben / Lesen (+rw) setzen.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Szlachta

Gezielt könntest du vielleicht mit chown zum Ziel kommen. Prüfe welchem User die Logfiles/Ordner gehören. Bei mir sind die standardmäßig FHEM/dialout. Falls du die als root verschoben/angelegt hast könnte es sein, dass die jetzt root/root gehören. Das heißt ein Versuch wert wäre:

sudo chown fhem:dialout FileLog_Dein_File_Log_Name.log

Doggiebert

na, wenn dann auf den ganzen Ordner und nicht auf ein einzelnes Log, sonst haste das Problem mit jedem neuen Logfile
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

Tommyland78

Hallo Christoph,

vielen Dank für Deine Unterstützung.
Leider bekomme ich noch immer die Meldung "Permission denied".

Also irgendwie kann FHEM nicht in das Mount schreiben, Pi - meine SSH-Anmeldung und Root können das offensichtlich?
Ich verstehe das einfach nicht...

P.S. Ich habe das "orginale" Logfile aus dem Mount gelöscht um eine Neuanlage durch FHEM zu ermöglichen - auch das gab nur "Permission denied"

Grüße
Der Tom

Wernieman

Also ...

1. Unter welchem User läuft fhem?
2. Welchem User/Berechtigung gehört Dein Mount, bzw. das Logverzeichnis?
3. Mit Welchem User versucht Du unter ssh auf dem Mountpoint Zuzugreifen

Ist aber eigentlich nur eine Zusammenfassung von Fragen, welche schon gestellt wurden.

Zur Ermittlung:
1. ls -lhad /Pad/zum/mountpoint
2. ps aux | grep fhem
3. ... solltest DU Wissen ;o)
- 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

Tommyland78

Hallo zusammen,

Das hier ist der Punkt, wo das Logfile hin soll (/mnt/smb/Storage/Logfiles/FHEM/)

ls -lhad /mnt/smb/Storage/Logfiles/FHEM/
drwxrwsrw-+ 2 1024 users 0 Dez 10 15:10 /mnt/smb/Storage/Logfiles/FHEM/

Eingehangen ist das Mount unter "/mnt/smb/Storage"
Die Order Logfiles und FHEM sind nachträglich erstellt worden (sudo mkdir Logfiles)

Der Mount selbst (siehe fstab), also "/mnt/smb/Storage" sieht so aus...

ls -lhad /mnt/smb/Storage
drwxrws---+ 3 pi users 0 Dez 10 15:09 /mnt/smb/Storage

ps aux | grep fhem

fhem      2296  1.8  2.8  17156 14312 ?        S    15:29   0:17 perl fhem.pl fhem.cfg
root      2309  0.0  0.1   1696   560 ?        Ss   15:29   0:00 startpar -f -- fhem
fhem      2863  0.1  2.5  17156 12488 ?        S    15:45   0:00 perl fhem.pl fhem.cfg
fhem      2864  0.1  0.1   1940   560 ?        S    15:45   0:00 ping -c 4 192.168.3.10
fhem      2865  0.2  2.5  17156 12488 ?        S    15:45   0:00 perl fhem.pl fhem.cfg
fhem      2866  0.4  0.1   1940   564 ?        S    15:45   0:00 ping -c 4 192.168.0.21
fhem      2867  0.2  2.5  17156 12488 ?        S    15:45   0:00 perl fhem.pl fhem.cfg
fhem      2868  0.4  0.1   1940   564 ?        S    15:45   0:00 ping -c 4 192.168.0.11
fhem      2869  1.0  2.5  17156 12488 ?        S    15:45   0:00 perl fhem.pl fhem.cfg
fhem      2870  1.0  0.1   1940   548 ?        S    15:45   0:00 ping -c 4 192.168.3.20
pi        2872  0.0  0.1   3596   852 pts/0    S+   15:45   0:00 grep --color=auto fhem


und auf die letzte Frage, Punkt 3:
Ich melde mich ja per SSH mit pi/Passwort an.
Daher kann ich auf das Mount per SSH mit "pi" zugreifen, mittels vorangestelltem sudo kann ich das auch als root. Beides funktioniert.

Grüße
Der Tom

Wernieman

Kannst Du mal gucken, welcher Gruppen fhem Zugehört?

also:
- grep fhem /etc/passwd
- grep fhem /etc/group
- 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

Bennemannc

Hallo,

wenn ich das ps grep fhem richtig deute, laufen 4 fhem Server gleichzeitig mit unterschiedlichen Prozessnummern. Das halte ich für nicht wirklich gut.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Wernieman

Besser über folgendes Prüfen:
ps auxf | grep fhem

Es könnten auch Subprozesse von FHEM sein (hatte ich "früher" auch mit dem myMPD-Modul)
- 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

Tommyland78

Hallo zusammen,

wenngleich wir noch hier keine direkte Lösung gefunden haben, so habe ich dank eurer Hilfe den Fehler gefunden.

Das mittels mount eingerichtete CIFS-Share wurde mit dem Benutzer:Raspberry und dessen Passwort in der fstab eingerichtet.
Im Vorfeld habe ich natürlich auf meiner NAS (Debian) den Benutzer:Raspberry eingerichtet und auch die passenden Rechte vergeben.

Auf diesem Weg funktionierte auf Seitens des PI (FHEM) auch das mount und ich konnte auf die Ordnerstruktur zugreifen.
Wenn ich Order angelegt habe, dann hatte ich das immer mit sudo gemacht -war mir gar nicht so bewusst, hab aber mal nachgesehen- was also auch im Bereich des Mountpunktes gut funktionierte.

Die Frage war also nun, warum FHEM nicht auf den Mountpunkt schreiben konnte. Ich bin davon ausgegangen, dass durch die in fstab eingegebenen Benutzername:Passwort-Kombination die Nutzerrechte auf dem Mountpunkt geregelt sind - Das war ein Irrtum.
FHEM als User innerhalb des pi kann genau nicht in den Mountpunkt schreiben, da hier die Benutzerrechte von FHEM genutzt werden. Soweit ist das auch logisch, aus diesem Grund nutzt man ja "chmod 777 -R" etc. um die Rechte mit zu übergeben.

Aber! Offensichtlich ist meiner NAS vollkommen egal was das Gastsystem für Rechte auf die Storage schieben will. Sind die Rechte für fhem nicht auch auf der Storage eingerichtet wird das nichts.

Meine Lösung: Ich habe fhem als User auf der NAS angelegt und das Passwort passend vergeben. Auf der NAS hat der Benutzer:fhem die gleichen Rechte erhalten wie der in der fstab genutzter Benutzer für das mount. Als dies erledigt war, dann ging es.

Die Lösung ist also gewesen: Benutzer:fhem auf der NAS anlegen, Recht vergeben und fertig.

Ich könnte jetzt in der fstab auch noch die Benutzer:Passwort Kombination auf den Benutzer:fhem ändern, dass hebe ich mir ggf. auf, ist ja nicht zwingend notwendig.

Vielen Dank an alle fürs helfen!

P.S. @Bennemannc/Wernieman
root@raspberrypi:~# ps auxf | grep fhem
root      4335  0.0  0.1   3596   844 pts/0    S+   17:52   0:00          \_ grep fhem
fhem      3190  2.4  3.0  17776 15156 ?        S    17:10   1:02 /usr/bin/perl fhem.pl fhem.cfg
fhem      4325  0.1  2.6  17776 13308 ?        S    17:52   0:00  \_ /usr/bin/perl fhem.pl fhem.cfg
fhem      4326  0.1  0.1   1940   560 ?        S    17:52   0:00  |   \_ ping -c 4 192.168.3.10
fhem      4330  0.1  2.6  17776 13308 ?        S    17:52   0:00  \_ /usr/bin/perl fhem.pl fhem.cfg
fhem      4331  0.1  0.1   1940   560 ?        S    17:52   0:00  |   \_ ping -c 4 192.168.5.8
fhem      4332  1.0  2.6  17776 13308 ?        S    17:52   0:00  \_ /usr/bin/perl fhem.pl fhem.cfg
fhem      4333  1.0  0.1   1940   552 ?        S    17:52   0:00      \_ ping -c 4 192.168.0.30

Der Tom
 

Wernieman

Damit sind deine FHEM Unterprozesse des Haupt-FHEM .... und damit, so wie ich es sehe, in Ordnung ...

War also doch ein Berechtigungsproblem. Hätte mir denken können, das da Windows (CIFS) dazwischenfunkt ... ;o)
- 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

popy

Hallo.

Danke für den Thread, hat mir weitergeholfen mein Problem zu finden.
Bei mir war es fast die gleiche Konstellation nur dass ich von meinem WHS2011 einen Share mounten wollte.
Beim Mount funktionierte per SSH mit User pi & root zu lesen/schreiben usw. nur leider nicht per fhem "backup" Befehl, nach ändern des global backupdir attr:

attr global backupdir /mnt/<Ziel-mnt-Verzeichnis>

Es kam immer im Log:

sh: 1: cannot create /mnt/<Ziel-mnt-Verzeichnis>/fhem/FHEM-20171023_205431.tar.gz: Permission denied

Bei mir lag es am oben schon angesprochenen fstab Eintrag, den ich vorher mit uid & gid pi gemacht habe.
SOmit konnte der user fhem (gid dialout) nicht schreiben.
Nach anpassen des fstab Eintrags auf "uid=fhem,gid=dialout" funktionierte das Backup.
Hier der komplette EIntrag:

//192.168.X.X/<Freigabe> /mnt/<Ziel-mnt-Verzeichnis> cifs username=<WINDOWS SHARE USER>,password=<WINDOWS SHARE PW>,uid=fhem,gid=dialout,x-systemd.automount 0 0

Hoffe das hilft mal jemanden  ;)
pOpY