PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : samba dateirechte



msi
17.08.03, 17:38
Hallo ich benutze samba auf einem xfs filesystem, die clients sind win xp rechner. die user die sich einloggen gehören alle zu der gruppe users2.

ich möchte jetzt auf der freigabe Foo (in der alle user der gruppe users2 schreiben können) ein Verzeichnis user1 in das nur user1 schreiben kann. er soll allerdings nicht in der lage sein das verzeichnis zu löschen. wie mache ich das?
in diesem verzeichnis soll ein unterverzeichnis protected existieren, in das der user nur schreiben darf, aber keine vorhandenen dateien löschen oder ändern darf.

in einer anderen freigabe möchte ich, dass alle angelegten dateien nicht mehr geändert oder gelöscht werden dürfen. in einem unterverzeichnis changable soll dies aufgehoben werden und jeder soll schreiben,lesen,löschen und anhängen können, das verzeichnis selber darf aber nicht gelöscht oder umbenannt werden.

hat jemand eine idee wie ich das realisieren kann, wie gesagt ich habe ein xfs filesystem mit acl support.

danke Markus

I-Master
17.08.03, 18:04
ich möchte jetzt auf der freigabe Foo (in der alle user der gruppe users2 schreiben können) ein Verzeichnis user1 in das nur user1 schreiben kann. er soll allerdings nicht in der lage sein das verzeichnis zu löschen. wie mache ich das?

Du müsstest ja dem Verzeichnis Schreibrechte geben, damit der User darin was ablegen kann. Und wenn Du Schreibrecht für nen Verzeichnis vergibst, kann der User das auch löschen.
Du könntest per Samba ne extra Freigabe dafür machen, die gleich im Ordner user1 beginnt.
Der könnte dann aber immer noch auf Foo und user1 löschen. Ggf. könntest Du eine Freigabe .user1 machen und in der smb.conf

vetofiles="."

machen.


in diesem verzeichnis soll ein unterverzeichnis protected existieren, in das der user nur schreiben darf, aber keine vorhandenen dateien löschen oder ändern darf.

Dann die Dateien einfach mit r-------- user1 user1 versehen. Aber auch da gibt es wieder das Schreib-Problem mit dem Verzeichnis.


in einer anderen freigabe möchte ich, dass alle angelegten dateien nicht mehr geändert oder gelöscht werden dürfen. in einem unterverzeichnis changable soll dies aufgehoben werden und jeder soll schreiben,lesen,löschen und anhängen können, das verzeichnis selber darf aber nicht gelöscht oder umbenannt werden.

In changeable soll also die andere Freigabe gespiegelt werden?

I-Master
17.08.03, 18:15
HAHA! Ich habs. Du machst einfach nen symbolischen Link auf user1.

Also. Du machst irgendwo nen Verzeichnis user1. z.B. in /home/restricted/user1

In Foo machst Du dann nen Link

ln -s /home/restricted/user1 user1

Die Freigabe /home/restricted/user1 versiehst Du mit rw------- user1 user1

Dann steht in der Freigabe Foo das Verzeichnis

user1

Da kann der user reinschreiben und seine eigenen Dateien löschen. Andere können das nicht.
Versucht der User das Verzeichnis zu entfernen geht das augenscheinlich. Sobald man aber refresht ist das Verzeichnis wieder da :D

msi
17.08.03, 19:01
Original geschrieben von I-Master
HAHA! Ich habs. Du machst einfach nen symbolischen Link auf user1.

Also. Du machst irgendwo nen Verzeichnis user1. z.B. in /home/restricted/user1

In Foo machst Du dann nen Link

ln -s /home/restricted/user1 user1

Die Freigabe /home/restricted/user1 versiehst Du mit rw------- user1 user1

Dann steht in der Freigabe Foo das Verzeichnis

user1

Da kann der user reinschreiben und seine eigenen Dateien löschen. Andere können das nicht.
Versucht der User das Verzeichnis zu entfernen geht das augenscheinlich. Sobald man aber refresht ist das Verzeichnis wieder da :D

so tricksen möchte ich eigentlich nicht, es muss doch eine möglichkeit geben dies ohne solche tricks zu machen... :confused:

msi
17.08.03, 19:03
Original geschrieben von I-Master
[B]Du müsstest ja dem Verzeichnis Schreibrechte geben, damit der User darin was ablegen kann. Und wenn Du Schreibrecht für nen Verzeichnis vergibst, kann der User das auch löschen.

genau das ist mein problem



Du könntest per Samba ne extra Freigabe dafür machen, die gleich im Ordner user1 beginnt.

ne extra freigaben möcht ich dafür nicht benutzen.



Dann die Dateien einfach mit r-------- user1 user1 versehen. Aber auch da gibt es wieder das Schreib-Problem mit dem Verzeichnis.

aber das kann ich nur für ne extra freigabe festlegen, oder geht das auch auf verzeichnisebene?
kann man vielleicht ne freigabe in einer freigabe anlegen, dann würde das auch gehen



In changeable soll also die andere Freigabe gespiegelt werden?
nein, soll nur einfach ein verzeichnis sein, wo man alles darf.

steve-bracket
17.08.03, 19:44
Dafür benötigst du vollständigen ACL Support deines Dateisystems.
Wenn das gewährleistet ist hast du über Samba die gleiche Rechtevergabe wie mit einem MS Server-Produkt. (also Häckchen ins Kästchen :D )
Damit dürfte deine "Herausforderung" zu bewältigen sein.

Leider kann ich zu ACL nur in Verbindung mit der deutschen Distrie (SuSE) etwas konkretes beisteuern.

Ab SuSE 8.1 werden POSIX ACLs unterstützt. Vorerst nur für ext2 bzw ext3.
Für ReiserFS gibt es einen Kernelpatch.
Die Partition muss mit ACL Support gemountet werden. (nur ext2/3 und reiser
Jfs und Xfs müssen nicht mit ACL Support gemountet werden.)

Eine Step by Step Anleitung (die oftmals zu diesem Thema durchaus interessant wäre) kann ich leider nicht bieten, sorry.

Zu ACL+anderen Distris kann ich überhaupt nichts sagen.
Ich persönlich hab als neuste Distrie überhaupt SuSE 8 als Dateiserver im Einsatz
(ohne ACL). Alles andere ist älter (RH und Debian).

lg
STeve

msi
17.08.03, 20:19
ja!!! ich habe ein filesystem mit acls: xfs funktioniert auch, ich kann auch die häcken machen, aber ich will das so machen wie ichs oben geschrieben habe und ich weiß nicht wie ich das mit acls machen kann..

fork
18.08.03, 01:22
bei ext2/3 gibt's die gewuenschten Optionen via chattr.

http://www.theparallax.org/security/linux/chattr.html

Erweiterte Attribute scheinen auch fuer XFS zu funktionieren, laut dieser Seite:

http://archiv.tu-chemnitz.de/pub/2000/0082/data/filesystems.html

Ansonsten:

Eine Datei/Vz kann man vor dem umbenennen/loeschen schuetzen indem das uebergeordnete Verzeichnis nicht beschreibbar gemacht wird, -> Vz-eintrag kann nicht geandert werden

msi
18.08.03, 12:48
ja aber wenn das übergeordnete verzeichnis nicht beschreibbar ist, kann man ja auch keine datieen mehr anlegen.

alternative wäre natürlich ein cronjob, der alle dateien dem user root übergibt, aber das gefällt mir nicht so gut.

[edit]
zu chattr:
1. hab ich xfs und
2. würde das auch nicht mein problem lösen, da ich chattr manuell ausführen müsste.