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
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.
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
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
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
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
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
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
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
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
na, wenn dann auf den ganzen Ordner und nicht auf ein einzelnes Log, sonst haste das Problem mit jedem neuen Logfile
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
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)
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
Kannst Du mal gucken, welcher Gruppen fhem Zugehört?
also:
- grep fhem /etc/passwd
- grep fhem /etc/group
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
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)
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
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)
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