PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba: Verschiedene Verzeichnisse für bestimmte User verbergen/sperren?



TheAnimal
26.08.11, 13:27
Hallo Zusammen,
ich habe folgendes Problem und weiß nicht so genau wie ich das lösen kann. Ich habe bei mir einen Server mit Suse laufen. Auf dem Server habe ich mit Samba ein Verzeichnis freigegeben. Mehrere Windows Clients greifen auf diese Verzeichnis zu und haben es als Laufwerk eingebunden.

Ich möchte jetzt folgendes erreichen:
Momentan können alle User alle Unterverzeichnisse in dem freigegebenen Ordner sehen und auch bearbeiten. Gibt es eine Möglichkeit verschiedene Verzeichnisse für einige User zu sperren? Vielleicht sogar so, dass die die Verzeichnisse überhaupt nicht sehen können.

Für Hilfe danke im voraus.

derRichard
26.08.11, 14:26
hi!

was spricht gegen die ganz normalen zugriffkontrollen von linux?
du kannst nicht lesbare dateien auch ausblenden lassen.
siehe "hide unreadable" in der manpage zu smb.conf...

//richard

AmatorPhasma
26.08.11, 18:16
Hi,

wenn deine Windows btw. Samba user/gruppen auch 'echte' linux user/gruppen sind kannst du komplexe Freigaben einfach mit Hilfe von acls einrichten.

Hier mal ein Beispiel:

z.b. sieht eine meiner Shares so aus:

smb.conf


[teacher]
comment = Lehrertisch (Datenverteiler)
path = "/home/desks/teacher"
read only = No
create mask = 0660
directory mask = 0770
inherit acls = Yes
hide files = /.RECYCLER/?esktop.ini/?humbs.db/?ecycler/?msmanifest_temp*.xml/
browseable = No
vfs objects = recycle
recycle:noversions =
recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.bak,~$*.*,*.mp3,*.wav,*.a vi,*.dv,*.mpg,*.mpeg
recycle:maxsize = 104857600
recycle:touch_mtime = yes
recycle:versions = yes
recycle:keeptree = yes
recycle:repository = .RECYCLER/%G/%U


Wichtig ist hier vorallem: inherit acls = Yes Damit eine Datei oder neuangelegtes Verzeichniss immer die Rechte des Übergeordneten Verzeichnisses erbt.

getfacl "/home/desks/teacher":


# file: home/desks/teacher
# owner: ntadmin
# group: Domain\040Admins
user::rwx
group::rwx
group:Domain\040Admins:rwx
group:Teacher:rwx
group:Verwaltung:rwx
group:Co\040Admins:r-x
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:Domain\040Admins:rwx
default:group:Teacher:rwx
default:group:Verwaltung:rwx
default:group:Co\040Admins:r-x
default:mask::rwx
default:other::---


Um ACLs nutzen zu können muss das Package acls installiert sein, und die entsprechende Partition mit 'acl' als option gemounted sein/werden.

Unterhalb von "/home/desks/teacher" wäre dann z.b. noch ein:
"/home/desks/teacher/Verwaltung" möglich dessen zugriffsrechte dann so aussehen:

getfacl "/home/desks/teacher/Verwaltung":


# file: home/desks/teacher/Verwaltung
# owner: ntadmin
# group: Domain\040Admins
user::rwx
group::rwx
group:Domain\040Admins:rwx
group:Teacher:rwx
group:Verwaltung:rwx
group:Co\040Admins:r-x
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:Domain\040Admins:rwx
default:group:Teacher:r-x
default:group:Verwaltung:rwx
default:group:Co\040Admins:r-x
default:mask::rwx
default:other::---


Hier kommt dann auch wieder: inherit acls = Yes zum tragen, denn alle Dateien und verzeichnisse die hier erstellt werden erben automatisch die Rechte von "/home/desks/teacher" wodurch weiterhin nur User der Gruppe Verwaltung Daten in diesem Verzeichnis schreiben können, Teacher aber z.b. darf weiterhin lesen etc...