Samba - Berechtigungsproblem

Hallo!
Ich beschäftige mich erst seit kurzem mit Linux. Ich habe Suse 9.0 mit Samba 2.2.8a . Ich möchte diese Kiste als Fileserver benutzen. Nun habe ich Ordner erstellt und meines Erachtens richtig berechtigt (read only = no). Ich kann die Ordner von meinem Win2000-Client öffnen und kann Datein einfügen. Bin ich aber in einem Programm (z.B. Word 2000) und will direkt in die Ordner speichern, dann bekomme ich die Meldungen: Datei kann nicht gespeichert werden - … kein gültiger Dateiname oder von nem Bildbearbeitungsrogramm: Sie haben nicht die Berechtigung, diese Datei zu öffnen. Fragen Sie den Besitzer dieser Datei oder eine Administrator, um diese Berechtigung zu erhalten.
Auf andere „Microsoft-Server“ kann ich ohne Probleme speichern.
Hat jemand einen Tip? (Denkfehler read=no?)
Hab schon ein bisschen gegoogelt, aber nichts gefunden…

Danke!!!

Hallo!
schau mal nach, welche Berechtigungen AUF DER LINUX-EBENE für die Ordner vorliegt. Oft erstellt man die freigegebenen Ordner ja als root und vergisst, die Schreibrechte etc. für / in diesem Ordner für alle Benutzer freizugeben.

Gruß
Axel

Hi!
Ich hab mir das ganze nohcmal angeschaut und muss da erst noch was erklären: Ich habe einmal einen Ordner erstellt („Daten“), für den die einzelnen User nur lesenrechte haben sollen. In diesem liegt noch ein Order, sagen wir „Schreibordner“. In der Sambakonfigurationsdatei habe ich dem Ordner „Daten“ das Recht „read only = yes“ gegeben und dem Schreibo. „read only = no“. Ergänze ich nun Testhalber bei Daten noch den Befehl write list = „User“, klappt es, dass ich in „Schreibordner“ speichern kann. Allerdings kann dann auch jeder in den "Daten"ordner speichern, wo ich den Usern eigentlich nur Lesenrechte geben wollte. Was muss ich also an der Berechtigung für den Ordner „Daten“ ändern, damit es klappt?

Danke!!!

Hi…

Ich hab mir das ganze nohcmal angeschaut und muss da erst noch
was erklären: Ich habe einmal einen Ordner erstellt („Daten“),
für den die einzelnen User nur lesenrechte haben sollen. In
diesem liegt noch ein Order, sagen wir „Schreibordner“. In der
Sambakonfigurationsdatei habe ich dem Ordner „Daten“ das Recht
„read only = yes“ gegeben und dem Schreibo. „read only = no“.

Das funktioniert nicht.
Korrekt wäre: In der smb.conf wird Schreibzugriff für den Ordner „Daten“ (und damit alle Unterverzeichnisse) erlaubt. Im Dateisystem wird aber der Ordner „Daten“ mitsamt Inhalt mit Nur-Leserechten versehen, nur für den Schreibordner gibt es Schreibrechte.
BTW: Hast Du „security=user“ oder „security=share“ eingestellt? Letzteres taugt eigentlich nur zum Dateitausch auf LAN-Partys, im Normalbetrieb ist „security=user“ sinnvoller.

genumi

Das funktioniert nicht.
Korrekt wäre: In der smb.conf wird Schreibzugriff für den
Ordner „Daten“ (und damit alle Unterverzeichnisse) erlaubt. Im
Dateisystem wird aber der Ordner „Daten“ mitsamt Inhalt mit
Nur-Leserechten versehen, nur für den Schreibordner gibt es
Schreibrechte.

Sorry, ich steh grad auf der Leitung, aufstehen hilft nichts:wink: Wie mach ich das im Dateisystem?

BTW: Hast Du „security=user“ oder „security=share“
eingestellt? Letzteres taugt eigentlich nur zum Dateitausch
auf LAN-Partys, im Normalbetrieb ist „security=user“
sinnvoller.

nein, ich hab garnix eingestellt, werd’s mal versuchen…

(Sorry, wenn ich jetzt ein wenig dämlich wirke, aber ich bin wirklich noch ein Anfänger… )

Hi…

Korrekt wäre: In der smb.conf wird Schreibzugriff für den
Ordner „Daten“ (und damit alle Unterverzeichnisse) erlaubt. Im
Dateisystem wird aber der Ordner „Daten“ mitsamt Inhalt mit
Nur-Leserechten versehen, nur für den Schreibordner gibt es
Schreibrechte.

Sorry, ich steh grad auf der Leitung, aufstehen hilft
nichts:wink: Wie mach ich das im Dateisystem?

Das ist eigentlich Grundwissen, aber…

(Sorry, wenn ich jetzt ein wenig dämlich wirke, aber ich bin
wirklich noch ein Anfänger… )

In diesem Fall hole ich gern mal etwas aus. Du solltest aber fleissig Dokumentationen lesen. Falls bei deiner Distribution ein dickes Handbuch dabei ist (SuSE zB liefert ein ganz anständiges mit), solltest Du das unbedingt mal durcharbeiten (ich hab es damals nicht gemacht und dadurch wesentlich länger gebraucht, Linux halbwegs zu verstehen).

Linux ist als unix-artiges Betriebssystem grundsätzlich auf den Multiuserbetrieb ausgelegt. Das heißt unter anderem, daß man verschiedenen Nutzern verschiedene Rechte geben kann. Hierzu gleich eine Anmerkung: Es ist ratsam, nicht ständig als Benutzer root zu arbeiten, weil der alles darf und deswegen auch alles kaputtmachen kann.
Wenn man einen Benutzer anlegt, wird dieser i.A. einer Benutzergruppe zugeteilt. Standardmäßig ist das die Gruppe „users“. Bei jeder Datei ist im Dateisystem vermerkt, welchem Benutzer und welcher Gruppe sie „gehört“, und was der Benutzer, die Gruppe und die anderen Benutzer, die nicht Gruppenmitgleid sind, mit der Datei machen dürfen. Manipuliert werden diese Rechte mit den Befehlen chown und chmod (siehe „man chown“ und „man chmod“).

Die Rechte, die in der smb.conf eingetragen sind, können die Rechte, die das Betriebssystem so vorgibt, nicht erweitern, sondern höchstens einschränken. Weil Du in einen Teil der Freigabe schreiben willst, der Rest aber Schreibgeschützt sein soll, muß in der smb.conf das Schreiben für die gesamte Freigabe erlaubt sein, während die Rechte im Dateisystem so gesetzt sein müssen, wie Du es haben willst.

Ich gehe jetzt mal davon aus, daß Du ein Heimnetzwerk mit wenigen Benutzern betreibst. Dann sieht die vernünftige Lösung so aus:

  • In der smb.conf „security=user“ setzen
  • Für jeden Benutzer einen Account anlegen (siehe Handbuch oder „man useradd“ oder evtl. mit dem grafischen Konfigurationsprogramm deiner Distribution)
  • Für jeden Benutzer einen Account bei Samba anlegen („smbuseradd -a username“)
  • chown -R root.users /var/samba/freigabe
  • chmod -R 750 /var/samba/freigabe (Leserechte für alle Mitglieder von „users“, Schreibrechte nur für den Besitzer, siehe „man chmod“)
  • chmod -R 770 /var/samba/freigabe/schreibordner (Schreib- und Leserechte)

genumi

Danke für Hilfe!!!