FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Tommyland78 am 09 Dezember 2014, 13:49:08

Titel: Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 09 Dezember 2014, 13:49:08
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Hollo am 10 Dezember 2014, 09:35:55
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.
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Bennemannc am 10 Dezember 2014, 11:30:39
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: hexenmeister am 10 Dezember 2014, 11:49:41
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Puschel74 am 10 Dezember 2014, 11:55:21
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 10 Dezember 2014, 13:11:08
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Bennemannc am 10 Dezember 2014, 13:27:00
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 10 Dezember 2014, 13:45:22
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Bennemannc am 10 Dezember 2014, 14:27:41
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Szlachta am 10 Dezember 2014, 15:15:09
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Doggiebert am 10 Dezember 2014, 15:20:52
na, wenn dann auf den ganzen Ordner und nicht auf ein einzelnes Log, sonst haste das Problem mit jedem neuen Logfile
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 10 Dezember 2014, 15:22:21
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Wernieman am 10 Dezember 2014, 15:26:49
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)
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 10 Dezember 2014, 15:48:55
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Wernieman am 10 Dezember 2014, 15:55:31
Kannst Du mal gucken, welcher Gruppen fhem Zugehört?

also:
- grep fhem /etc/passwd
- grep fhem /etc/group
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Bennemannc am 10 Dezember 2014, 15:59:41
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
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Wernieman am 10 Dezember 2014, 16:11:18
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)
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Tommyland78 am 10 Dezember 2014, 17:53:55
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
 
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: Wernieman am 12 Dezember 2014, 08:44:00
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)
Titel: Antw:Permission denied - Logfiles auslagern
Beitrag von: popy am 23 Oktober 2017, 21:12:15
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