samba problem - wechselfestplatte freigeben

tmp

Ensign
Registriert
Feb. 2004
Beiträge
253
hallo!

ich verzweifle so langsam mit samba :)
meine smb.conf enthält folgenden eintrag:
Code:
[incoming]
comment = Saugordner
browseable= yes
path = /mnt/filekatapult/incoming
public = yes
writable = yes
chmod = 777
preexec = /bin/mount /mnt/filekatapult
postexec = /bin/umount /mnt/filekatapult

die log.smbd sagt folgendes:
Code:
  '/mnt/filekatapult/incoming' does not exist or is not a directory, when connecting to [incoming]

der ordner ist aber ganz sicher vorhanden.
wenn ich einen ordner in meinem home verzeichnis freigebe,funktioniert alles einwandfrei. sobald es aber diese gemountete festplatte ist,kommt der fehler.

hat jemand eine idee?
besten dank schon mal :)
 
ja ist sie:

Code:
/dev/sda1               /mnt/filekatapult vfat          user,noauto             0 0
 
Hmm ich bin auch im Moment dabei meine externe Festplatte (meinst du das mit Wechselfestplatte?) freizugeben. Dazu benutze ich folgenden EIntrag in der smb.conf:

[sda1]
comment = /mnt/sda1
browsable = yes
path = /mnt/sda1
writable = yes
preexec = /bin/mount /mnt/sda1
postexec = /bin/unmount /mnt/sda1
guest ok = yes

Ich gehe mal davon aus, dass du eine externe usb Festplatte hast.
Als Pfad habe ich also /mnt/sda1 verwendet und nicht wie du /mnt/filekatapult/incoming. Vielleicht solltest du /mnt/sda1/filekatapult/incoming oder sowas in der Richtung mal probieren.
Falls ich falsch liege bitte ich im Verzeihung, ich mache grad meine ersten Samba-erfahrungen.
 
Hmm, in dem Eintrag in deiner fstab fehlt der Eintrag 'exec'. Vielleicht liegts daran? Aber eigentlich auch nicht...
 
ich würde mal das "chmod = 777" in der smb.conf weglassen. Die Zugriffsrechte solltest du bei vfat in der /etc/fstab regeln.

Ansonsten:
Nur zur Sicherheit: "/bin/mount /mnt/filekatapult" an sich funktioniert aber schon, oder? Und samba läuft mit root-rechten, bzw. der Samba-Benutzer darf mount benutzen?

Funktioniert das share, wenn du die Partition zuerst manuell mountest, und dann ohne das preexec und das postexec darauf zugreifst?
 
also erstmal vielen dank für die antworten.

folgendes hab ich nun erreicht:

ich starte den samba dienst.
dieser mountet meine wechselfestplatte korrekt in /mnt/filekatapult.

die rechte hat nun "nobody" (also weder root ,noch mein user bei linux)
von windows kann ich nun problemlos auf meine festplatte zugreifen.

jetzt kommt aber ein neues problem:
mldonkey soll das incoming und temp verzeichnis nun nutzen. tut es aber nicht
mein linuxnutzer hat keine berechtigung in den ordner zu gehen. (und somit auch nicht mldonkey,was ich ja mit dem nutzer aufrufe)
wie kann ich das ändern?

/etc/groups -> ich habe meinen nutzer der gruppe nobody hinzugefügt...hat aber nichts gebracht
 
Zuletzt bearbeitet:
die rechte hat nun "nobody" (also weder root ,noch mein user bei linux)
von windows kann ich nun problemlos auf meine festplatte zugreifen.

Nein! Niemals irgendeine Datei auf den Benutzer "nobody" eintragen. Unter "nobody" laufen beispielsweise einige Serverdienste, die möglichst wenig Rechte haben sollen. Wenn "nobody" jetzt plötzlich Schreibrechte auf manchen Dateien hat, untergräbst du dein Rechtekonzept.

jetzt kommt aber ein neues problem:
mldonkey soll das incoming und temp verzeichnis nun nutzen.[...]
/etc/groups -> ich habe meinen nutzer der gruppe nobody hinzugefügt...hat aber nichts gebracht

Lege eine neue Gruppe an, beispielsweise "win", und stelle dann in der /etc/fstab bei den Mountoptionen
"users,gid=<group-id der gruppe "win">,umask=0002,uid=0" ein.
Dann fügst du alle Benutzer, die Schreibrechte haben sollen, zur Gruppe "win" hinzu. Steht übrigens auch in "man mount" sowie in jedem zweiten Tutorial.
 
ich hatte jetzt noch die idee,dass ich mldonkey als nobody starte.
also mit sudo -u nobody mldonkey

-> funktioniert aber auch nicht:
"Sorry, user xyz is not allowed to execute '/usr/bin/mldonkey' as nobody on laptop."
ich habe mit visudo schon alles richtig eingestellt (glaub ich zumindest).

hat jemand noch eine idee?
 
arkelanfall schrieb:
Nein! Niemals irgendeine Datei auf den Benutzer "nobody" eintragen. Unter "nobody" laufen beispielsweise einige Serverdienste, die möglichst wenig Rechte haben sollen. Wenn "nobody" jetzt plötzlich Schreibrechte auf manchen Dateien hat, untergräbst du dein Rechtekonzept.



Lege eine neue Gruppe an, beispielsweise "win", und stelle dann in der /etc/fstab bei den Mountoptionen
"users,gid=<group-id der gruppe "win">,umask=0002,uid=0" ein.
Dann fügst du alle Benutzer, die Schreibrechte haben sollen, zur Gruppe "win" hinzu. Steht übrigens auch in "man mount" sowie in jedem zweiten Tutorial.

das problem ist aber,dass samba die festplatte mountet.
-> nur dann kann ich auch auf diese freigabe zugreifen.

sobald ich die festplatte selber mounte und samba starte ,kann ich von win nicht auf diese freigabe zugreifen.

würde es vlt schon reichen,wenn ich samba der users gruppe hinzufüge? nur wie mach ich das?
 
tmp schrieb:
das problem ist aber,dass samba die festplatte mountet.

Hast du "gid=..." in die /etc/fstab eingetragen? Dann die Partition unmounten (so sie denn gemountet ist).
Wenn du dann per Samba auf das Share zugreifst (sprich: Samba das share mountet), wie sehen dann die Rechte der Dateien auf dem fat32-Laufwerk _genau_ aus (Also bitte die ausgabe von ls -l /mnt/filekatapult posten. Die Ordner-/Dateinamen kannst du von mir aus unkenntlich machen, wenn du Lust hast.
 
ok.

/etc/group:
users::100:games,tmp


/etc/fstab:
/dev/sda1 /mnt/filekatapult vfat user,gid=100,umask=0002,uid=0,noauto 0 0

wenn ich samba starte,hängt es die platte erfolgreich ein.
ich kann von windows auch darauf zugreifen. (allerdings nicht schreiben - warum? )

nunja.. jedenfalls komm ich jetzt als user problemlos auf die platte. das problem ist also gelöst -danke :)

nun aber das nächste:
ich habe mldonkey am laufen und will,dass incoming und temp verzeichnis auf der externen platte abgelegt werden.

dazu habe ich 2 symlinks erstellt.
~/incoming -> /mnt/filekatapult/incoming
~/temp -> /mnt/filekatapult/temp

die downloads.ini sieht so aus:
Code:
        (* The directory where temporary files should be put *)
 temp_directory = "/home/tmp/temp"

        (* The directory where downloaded files should be moved after commit *)
 incoming_directory = "/home/tmp/incoming"

wenn ich mldonkey nun starte,bleibt er bei folgender zeile hängen:
Error loading ./comments.met: Sys_error("./comments.met: No such file or directory")

wenn ich einen anderen ordner angebe,funktioniert alles.
woran könnte das liegen?!
 
tmp schrieb:
wenn ich samba starte,hängt es die platte erfolgreich ein.
ich kann von windows auch darauf zugreifen. (allerdings nicht schreiben - warum? )

Liegt an umask=0002. Setz es auf 0000. Allerdings hat dann _jeder_ auf dem Linux-System Schreibrechte auf der Partition.


nun aber das nächste:
ich habe mldonkey am laufen und will,dass incoming und temp verzeichnis auf der externen platte abgelegt werden. [...]
wenn ich einen anderen ordner angebe,funktioniert alles.
woran könnte das liegen?!

Das könnte daran liegen, dass das Dateisystem bei dir von samba gemounted und ungemounted wird. Wirf ein eventuelles "noauto" aus der /etc/fstab. Dann wird die fat32-Partition automatisch beim Systemstart gemountet. Dann wirfst du noch preexec und postexec aus der smb.conf raus, da du die dann ja nicht mehr brauchst.

Dann solltest du mal überprüfen ob der Link an sich überhaupt tut. Wo bringt dich dann ein "cd ~/incoming" hin? Kannst du bei mldonkey nicht direkt den Ordner auf der Fat-Partition angeben? Sprich ohne überhaupt einen Link zu benötigen?

Generell gilt: Fat-Partitionen haben kein Rechtesystem und sind heutzutage eigentlich maximal noch auf Wechseldatenträgern sinnvoll. Da NTFS nicht portabel ist würde ich dir eine ext2/3-Partition empfehlen, auf die du mit geeigneten Tools auch von Windows aus zugreifen kannst.
Ansonsten alles temporäre auf die Linux-Partitionen schreiben und die fertige Datei dann auf die Fat-Partition verschieben.

Ach ja: Google-Recherche und "man <befehl/config-datei>" helfen sehr oft weiter. Die Antworten kommen sogar noch schneller, als hier im Forum :)
 
so also mldonkey scheint da noch etwas buggy zu sein.

ich hab spaßenshalber mal neugestartet und samba gestartet - festplatte wird ebenfalls wieder gemountet.
nun hab ich noch mldonkey als user aufgerufen - zack ... alles klappt prima!

wenn sich in zukunft probleme damit auftun werden,probier ich deinen 2ten lösungsvorschlag aus und poste nochmal :)

besten dank nochmal
 

Ähnliche Themen

Zurück
Oben