PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba / Unix-Rechte



make
06.01.04, 21:41
Hallo zusammen

Kann isch Samba irgendwie über die Unix-Rechte hinwegsetzen?

Ich habe folgenden Share:

path = /netshare/music
valid users = @netuser
read only = No
create mask = 0740
directory mask = 0750

Es können also nur User der Gruppe netshare darauf zugreigen. Dateien und Verzeichnisse können von allen Usern gelesen aber nur vom Ersteller geschrieben werden. Das habe ich soweit getestet, funktioniert, die Dateien/Verzeichnisse werden im Dateisystem mit den genannten Berechtigungen erstellt und gehören der Gruppe netuser

Allerdings kann ich in der Netzwerkumgebung trotzdem mit jedem Benutzer der Gruppe netuser alles löschen. Dies müsste doch aber von den Unix-Berechtigungen verhindert werden, oder nicht?

Guti
07.01.04, 08:40
Hi,

Unix-Rechte gehen immer vor Samba-Rechte. In deinem konkreten Fall ist jedoch von Bedeutung, welche Rechte auf dem Verzeichnis /netshare/music gesetzt sind. Ob ein Anwender eine Datei loeschen kann, wird mit den Rechten im uebergeordneten Verzeichnis bestimmt, d.h. man braucht im Verzeichnis Schreibrecht, damit man die darin enthaltenen Dateien loeschen kann.

Gruss
Henry

make
07.01.04, 09:48
Die Berechtigungen des übergeordneten Verzeichnisses regeln, ob man eine Datei löschen kann? D.h. jemand kann eine Datei löschen, auch wenn er für die Datei selbst kein Schreibrecht hat?

anquijix
07.01.04, 10:16
hi

das ist glaube ich möglich. aber beharre nicht auf meiner aussage ;)

Guti
07.01.04, 11:25
Hi,

D.h. jemand kann eine Datei löschen, auch wenn er für die Datei selbst kein Schreibrecht hat?
Das ist genau so und nicht ungefaehrlich. U.U. fragt rm noch ab, ob man eine read-only-Datei wirklich loeschen will aber nach Bejahung dieser Frage ist es dann passiert.

Gruss
Henry

make
07.01.04, 14:19
Kann denn so auch jeder User Dateien löschen, die root gehören? Oder bildet der eine Ausnahme?

Und wie ist es, wenn das übergeordnete Verzeichnis read-only ist? Kann man denn da auch Dateien, auf denen man Schreibberechtigung hat, gar nicht bearbeiten? Oder gilt es nur fürs löschen.

Guti
08.01.04, 08:50
Guten Morgen,

wenn die Dateien (die root gehoeren) in einem Verzeichnis liegen, auf das ein anderer User Schreibrechte hat, kann er diese Dateien loeschen. Zweite Voraussetzung ist das gesetzte x-Flag auf dem Verzeichnis fuer den User.
Machen wir mal Butter bei die Fische:
drwxrwxrwx 2 root root 4,0K 2004-01-08 08:26 testdir
und in testdir
-r--r--r-- 1 root root 0 2004-01-08 08:26 testdatei

Als nichtprivilegierter User ausfuehren:
$:~> rm ~/testdir/testdatei
rm: reguläre leere Datei (schreibgeschützt) »/home/henry/testdir/testdatei« entfernen? j
und weg ist die Datei.
Nicht umsonst sind alle Systemverzeichnisse hoechstens mit 755 angelegt, also drwxr-xr-x.
Wenn das Verzeichnis allerdings so aussieht:
drwxrw-rw- 2 root root 4,0K 2004-01-08 08:26 testdir,
dann funktionierts nicht, weil das x-Flag zum Wechseln in das Verzeichnis berechtigt und wer nicht reinwechseln darf, darf auch nicht loeschen.
Die Frage, was passiert, wenn das Verzeichnis komplett read-only ist, kannst du dir vermutlich selbst beantworten.
Hier gibt es aber dann doch eine Ausnahme: Du kannst dich mit chmod 444 testdir zwar selber aussperren, d.h., obwohl dir das Verzeichnis gehoert, kannst du nicht mehr reinwechseln aber root kann das natuerlich. Mit root-Rechten kommst du ueberall ran.

Ob du eine Datei aendern kannst, wird mit den Rechten auf die Datei bestimmt. Wenn du allerdings nicht ins Verzeichnis reinkommst, dann kannst du die darin enthaltenen Dateien auch nicht aendern ;).

Hintergrund vom Ganzen: Ein Verzeichnis ist auch nur eine Datei, in der geschrieben steht, wo die Dateien, die wir als innerhalb des Verzeichnisses betrachten, stehen und noch einige Dinge mehr. Um also eine Datei in einem Verzeichnis loeschen zu koennen brauchst du Schreibrecht auf die Datei "Verzeichnis". Der rm-Befehl macht sozusagen nichts anderes, als den Namen der Datei (und einige andere Infos) aus der Datei "Verzeichnis" zu entfernen, mal ganz grob aber hoffentlich anschaulich gesagt.
Darum werden die Loeschrechte auf eine Datei ueber die Schreibrechte auf dem Verzeichnis gesteuert, wo die Datei "drin" ist.

Gruss
Henry

make
08.01.04, 17:03
Ok danke für die vielen Informationen. Habe mich noch gar nie so richtig mit diesem Thema beschäftigt...