• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Samba Ordner&Rechte struktur Hilfe!

hazard-

Newbie
Hallo, ich arbeite das erste mal an einem Server und soll gleich ein "größeres" Projekt realisieren. Ich denke aber grade sicherlich komplett falsch ^^ Ich stell euch mal mein Vorschlag vor.

-> 1 Ebene / Unter-Ordner
------> 2 Ebene / Unter-Ordner
---------------> 3 Ebene / Unter-Ordner
Admin,SuperAdmin,User sollen Gruppen-Darstellen. Die User werden dann nur in der 3 ebene verwendet

Server

-> Austausch alle // Admin&SuperAdmin alles - User nur lesen & Kopiern
-> Information // Super-Admin / User nur lesen
-> z.b Klasse(4-5stk) // Was für Rechte muss ich hier verteilen das dort alle reinkommen?
------> Austausch alle // SuperAdmin,Admin,User schreiben,lesen,löschen
------> Austausch gesperrt // Super&Admin alles / User lesen und schreiben
------> Informationen // Super&Admin alles / User lesen
------> Spezielle Klassen(10-20stk) // Das gleiche wie unter "normale Klasse" KP ?
--------------------> Austausch alle // KlasseAB-User, KlasseAB-Admin
--------------------> Austausch gesperrt // KlasseAB-User, KlasseAB-Admin
--------------------> Informationen // KlasseAB-User, KlasseAB-Admin
--------------------> Admin Bereich // KlasseAB-User, KlasseAB-Admin
--------------------> Die Rechte sind hier die gleichen wie bei den Unterordnern nur das es nun die einzelnden User sind und davor Gruppen.

Ich wollt nun wissen ist es den z.b möglich sowas zu Realisieren:
------> Austausch gesperrt // Super&Admin alles / User lesen und schreiben
------> Informationen // Super&Admin alles / User lesen

Das bei Informatioen 2 Gruppen alles können und 1 Gruppe nur lesen und könntet ihr mir evtl. 1 Beispiel dafür aufbauen mit chmod & samba conf. einstellungen ? Ich bin absoluter einsteiger in Linux & Samba.

Ich würde mich sehr über nur 2-3 Beispiele freuen dann werde ich es sicherlich verstehen und den rest umsetzen können.

mfg
hazard
 

stka

Guru
Hallo,

erstmal solltest du uns sagen, was du mit dem Server machen willst. Wieviele Benutzer sollen denn später darauf zugreifen? Wie willst du deine Benutzer verwalten? Mit LDAP oder in der passwd? Wenn du sehr viele Benutzer hast, wie willst du für die Ausfallsicherheit sorgen? Was ist mit Loginskripten? Sollen die Profile auf dem Server liegen? Hast du nur Windowsclients oder auch Linuxclients? Ist das ganze ein Subnetz oder hast du mehrere Subnetze?
Dann schreibst du, dass du nicht viel Erfahrung mit Linux hast, was heißt das? Wie gut kommst du auf der Kommandozeile zurecht? Denn das ist absolute Pflicht wenn du einen Server mit Linux aufsetzen willst.
 
OP
H

hazard-

Newbie
Es werden wohl um die 30-40 User und damit auch 30-40 Admin-User.

Der Server wird im Internet stehen und dadrauf sollen dann die Klassen zufreifen können. Um Informationen und Daten auszutauschen.
Es sind eigentlich nur Windows Clients bzw gehen wir nun davon aus.

Benutzter verwalten ^^ Naja dachte bisher nur das ich die User mit "useradd -g -G -m" eintragen werde und denn smbpasswd die in Samba ziehe und danach nochmal mit cat /etc/group durchchecke & in der passwd.

Ausfallsicherheit noch nicht drüber nachgedacht. Loginscripte wozu bzw. eigentlich nicht.
Wenn man die Profile weglassen könnte wäre es top, aber das is wohl nicht möglich ?

Mit der Komando-Zeile etc. komme ich klar, habe Freitag nun ein/den Debain-Server mit apache,php5,phpmyadmin,mysql,samba,netger?,mc aufgesetzt, nur die nötigsten sachen.

Wie meinst du das mit Subnetz ? Der Server wird neben 20 anderen stehen. Aber nur dafür wird dieser hier verwendet, wenn du dies damit meintest.

(Sry bin wirklicher anfänger und leicht überfordert da das ganze noch unter zeitdruck ist und ich nicht 1 woche lang bücher dadrüber lesen kann..... ich hasse es selber solche doofn fragen zu stellen)
 
OP
H

hazard-

Newbie
Auf 1 Linux / Samba User sollen im enddefekt auch mehrere reale nutzer sich einloggen !
- 30/40 User (30-40 Klassen) dazu genau soviele Admins und ein paar (5-10) "Super Admins"
 

stka

Guru
Denk immer dran, "Viele Köche verderben den Brei". Bei Adminusern ist es am besten, du hälst dich an das Highlander-Prinzip " Es kann nur einen geben". Mehr ist nicht notwendig.
Also soll das ganz nur ein Fileserver werden und kein Domänencontroller? Dann kannst du die Benutzer mit passwd und smbpasswd anlegen. Dann brauchst du auch keine servergespeicherten Profile und keine Logonskripte. Aber dann solltest du drauf achten, das der Server KEIN PDC wird.
Du solltest dich auf jeden Fall mit den ACLs auseinander setzen also setfacl und getfacl. Damit kannst du alles gut regeln. Auch der Parameter "hide unreadable = yes" in der smb.conf ist sehr gut. Dann kannst du, wenn du die Rechte richtig setzt, mit nur einer Freigabe auf dem Server auskommen.
Bei der Vergabe der Rechte solltest du immer drauf achten, dass je höher im Dateisystem die Rechte vergeben werden, je weniger Rechte solltest du vergeben. Damit eine Gruppe in ein Verzeichnis wechseln kann muss sie die Rechte "r-x" haben.
 
OP
H

hazard-

Newbie
Die "Admin-User" sollen nacher in ihrer Klasse bloß die möglichkeit haben für Ordnung zu sorgen und z.b in Ordner wie "Informationen" Daten reinstellen können. Sie sollen nicht in den anderen Klassen eine möglichkeit haben.

Ich bin grad schon dabei über ACL zu lesen. Es soll kein Domäncontroller werden. Genau, es soll ein Fileserver werden.
Wie erstell ich denn User ohne servergespeicherte Profile ?

Wenn du evtl. 5 minuten zeit hast kannste ja mal 1-2 gute anleitung mit raussuchen die zu mir passen. Wäre echt super da du sicherlich eher erkennst was für mich interessant ist und was nicht, hab scho gute 4 std. nur "unsinn" gelesen. Z.B finde ich nix vernünftiges über die ausgabe mit den "r-x" ich versteh das so nicht und find auch keine vernünftige anleitung uff ay :-D Ich verzweifel langsam.

Ich hab nun test-halber paar ordner erstellt und diese Freigegeben. Wenn ich nun von Windows drauf zugreifen will was erstmal nicht funktioniert aber das voererst egal ist sehe ich aufjedenfall keine Unterordner. Sondern alle Ordner die ich freigegeben habe sind aufn haufen, ist das möglich es in Unterordner umzusetzen. Denn es werden zum schluss gute 200 Ordner werden und die alle in einer Liste wäre fatal.

Kann mir evtl. auch jemand sagen wie er da rangeht ? Habs nun 5 mal auf Papier gebracht aber im enddefekt kann ich es nicht umsetzen da ich im Prinzip nur blödsinn schreibe da ich mich mit dem thema nicht wirklich auskenne und dann noch das ganze mit chmod für jeden Ordner. Kann ich nicht jeden Ordner 777 bzw 770 verpassen der rest wir dann über die ACLs etc. in der samba.conf gereglt ? Wäre eine sorge weniger !

Und danke nochmals für die schnelle hilfe und für die beantwortung solcher banalen und doofen fragen ! uff ay ich hasse sowas unter zeitdruck zu machen....olles praktikum xd
 
OP
H

hazard-

Newbie
Ach danke riesen dank mit den ACLs komm endlich wieder vorran ! (-: Hab da ne schöne anleitung gefunden. Wäre aber noch nett wenn jemand mal ein Beispiel dazu machen könnte für z.b

------> Austausch gesperrt // Super&Admin alles / User lesen und schreiben

danke vorerst. Werde euch aber leider sicherlich noch 1-2 mal stören
 

stka

Guru
Um samba richtig und sicher verwalten zu können, solltest du dich bestimmt erst mal 1 Woche mit dem Thema in eine stille Ecke setzen und probieren und lesen. Ein sehr gutes Samba Buch ist das samba3 Buch aus dem dpunkt Verlag http://www.dpunkt.de. Ich gebe mehr mals im Jahr sambakurse bei den unterschiedlichen Anbietern in ganz DE, die gehen eine Woche und da kann nicht alles besprochen und getestet werden. Samba ist schon eines der umfassenden Themengebiete im Linuxumfeld. Das kann man nicht so mal kurz hier im Forum erklären. Hier kann ich dir wohl Tipps geben wenn du mir dein Konfiguration zeigst. Aber lernen musst du selber ;-)
 
OP
H

hazard-

Newbie
hehe

ich weiß es doch (-:
Ich würde normalerweiße auch erstmal 1-2 Wochen mich in dem thema durchforsten. Aber ich bin hier grad in einem Praktikum und die denken wohl ich wäre ein übermensch der sowas in 2 Tagen kann ^^ Es tut mir auch leid das ich hier sowas nerviges frage etc. Da ich mir das ganze im Prinzip ohne probleme im internet alles durchlesen und durchforsten kann. Wenn da nicht jemand alle 4 Stunden herkommt und fragt "und zeig mal her wie weit biste" und man nur steht "ja nur gelesen gelsen und gelesen"

Wundert mich schon das du überhaupt noch schreibst. Solche leute wie ich GRAD sind eh sehr ungern in Foren gesehen :-D Die alles in schoß gelegt haben wollen.

Aber du würdest mir echt nen gefallen tun wenn de mal nen bsp. für nur 1 ACL machen könntest für
------> Austausch gesperrt // Super&Admin alles / User lesen und schreiben
und damit gleichzeitig dieses erklärst:
drwxrws--- 2 root smball 4096 2009-04-01 11:35 groupsmball

denn über dieses - drwxrws - rechte such ich scho seit langem find aber nix brauchbares....


Ohh man wie ich dir wohl auf die nerven gehen muss :-D
 

stka

Guru
Besser als hier kann ich das auch nicht erklären:
http://www.fibel.org/linux/lfo-0.6.0/node223.html
Dort findest du auch was über das "s" Recht
Die Rechte sind ja wie folgt aufgebaut:
drwxrwxrwx user gruppe

d = Hier handelt es sich um ein Verzeichnis
rwx (1. mal) Rechte für den Benutzer (hier user)
rwx (2. mal) Rechte für die Gruppe (hier gruppe)
rwx (3. mal) Rechte für den Rest der Welt (alles was nicht user oder gruppe ist)
das SGID Bit also "drwxrwsrwx" (das "s" bei der Gruppe) sorgt dafür, dass alle neuen Dateien im Verzeichnis der Gruppe (gruppe) gehören. Gesetzt wird das mit "chmod g+s verzeichnis"

Ich hoffe, das hilft dir erst mal weiter
 
OP
H

hazard-

Newbie
ja hast du (-:
Danke

ehm wie schaut es denn eigentlich aus wenn ich

-> XX
-> XX
-> Klassen <-- 1A ist ein Unterordner von "Klassen" welche Rechte müsste ich den hier einem User/Admin geben das er dadrauf zugreifen kann und auch nacher volle Rechte im Unterordner von 1A den XXX hat ?
-----> 1A
-------------> XXX
 

stka

Guru
Es gibt keine Vererbung von Rechten, es sei denn, du benutzt "default ACLs" die werden vererbt. Sonst werden alle neuen Rechte über die "umask" geregelt. Wer in einem Verzeichnis irgendetwas ändern können soll, sprich neue Dateien/Verzeichnisse anlegen, bestehende Dateien/Verzeichnisse umbennen oder aber Dateien oder Verzeichnisse löschen will, muss die Rechte "rwx" haben an dem Verzeichnis in dem die Änderungen durchgeführt werden sollen. Wenn jemand den Inhalt einer Datei ändern können soll, muss er die Rechte "rw-" haben.
Rechte werden nicht addiert, das heißt, ist ein Benutzer Besitzer der Datei/Verzeichnis hat er auch nur die Rechte des Benutzers und nicht zusätzlich die Rechte der Gruppe, wenn er dort Mitglied ist.
 
OP
H

hazard-

Newbie
Ohh man ich mach euch fertig wa ^^ Könnt ja mal drüber fliegn und evtl. kurz auf die 1-2 Fragen eingehen denn dazu finde ich nix mehr im Internet. Sind auch spezielle fragen und nichtmehr dieses Allgemeine ! Das wäre dann nun meine Planung wie ich gleich alles fertig mache. Ist sone priv. anleitung für mich ^^ ! Danke nochmal für die bisherige Hilfe sonst würd ich noch so ziemlich am anfang stehen!

1. Gruppe anlegen
2. Ordner Struktur erstellen
3. Ordner in smb.conf einfügen
4. User in der passwd anlegen
5. User in samba eintragen
6. User Gruppen zuweisen

Zu 1:
addgroup NAME

Zu 2:
mkdir PFAD/ORDNER
------ Brauchen die Ordner per chmod noch rechte ? Oder kann ich nacher alles per ACL machen?

Zu 3.
So richtig wenn ich per ACL Rechte vergebe ? Keine Gastuser !

[XXX]
comment = xxxx
path = xxxxx
read only = no
writeable = yes
create mask = 770

- testparm (einmal checken „lassen“)

Zu 4.
- Benutzer anlegen in der passwd
user1:x:????:????:: /home/user:/bin/false
user2:x:????:????:: /home/user:/bin/false
/bin/false → Dadurch wird kein Profil angelegt

- Was kommt an der stelle ????
- Wo lege ich ein pw fest ?
------ Erst in smbpasswd ?


Zu 5.

smbpasswd -a USERNAME

Zu 6.
etc/group → dort die User in die jeweiligen Gruppen eintragen



Und Fertig?! (-:




Ordnerstruktur sieht wie folgt aus

→ Ordner 1
→ Ordner 2
→ Ordner für unter-Ordner
→ → Ordner 3
→ → Ordner für unter-Ordner
→ → → Ordner 4
→ → → Ordner 5

So würd ich die ACL schreiben:

Ordner 1 : User dürfen lesen,schreiben (leider auch löschen // evtl. Auch Dateien erstellen?)&Admin alles&Gäste gar nicht dort hinein
setfacl -d -m group:Admin:rwx Ordner 1
setfacl -d -m group:User:rw- Ordner 1
- Maske erstellt er von alleine ?

→ Ordner für unter-Ordner
setfacl -d -m group:Admin:r-- Orderfuerxxxx
setfacl -d -m group:User:r-- Orderfuerxxxx
- Brauchen die noch "ausführrechte?"

Ordner 5: User dürfen garnix & Admin Alles&Gäste gar nicht dort hinein
setfacl -d -m group:Admin:rwx Ordner 2
setfacl -d -m group:User:--- Ordner 2
 
OP
H

hazard-

Newbie
Ordner fuer unterordner muss das "-d" weg ! Und hinterlässt die ACL nicht evtl. auch eine datei wie z.b die passwd wodrauf man alle Einträge sehen kann ?


Daaaaaaaaaanke ! Evtl. krieg ichs ja doch noch zu morgen fertig ! Zwar is das ding dann nicht grade sicher ^^ und sicherlich nicht das beste aber naja !
 
OP
H

hazard-

Newbie
Jo sorry gibt noch ein 3 Forum wo ich gepostet habe. Aber das is ziemlich inaktiv.

Ich wusste nicht das ich einfach Links von fremden Foren posten "darf" / "kann". War bisher nur in Hardware foren unterwegs wo es verboten war.
 
OP
H

hazard-

Newbie
So richtig wenn ich per ACL Rechte vergebe ? Keine Gastuser !

[XXX]
comment = xxxx
path = xxxxx
read only = no
writeable = yes
create mask = 770
 

stka

Guru
So hast du eine versteckte Freigabe. Wenn du eine Freigabe erstellen willst, die sichtbar ist in der Netzwerkumgebung der Clients dann muss das so aussehen:
[XXX]
comment = xxxx
path = xxxxx
read only = no
browsable = yes
create mask = 770
Die Parameter "read only" und "writable" haben eine identische Wirkung nur muss die eine auf "no" und die andere auf "yes" stehen um die selbe Wirkung zu haben. Wenn du mit ACLs arbeitest, kannst du alles was Rechte betrifft raus lassen. Es sei den du willst noch Benutzer festlegen, die root-Rechte haben sollen dann muss noch der Parameter:
admin users = @gruppe
rein.
 
OP
H

hazard-

Newbie
Gastuser sind zu dem zeitpunkt auch nicht erlaubt (in der smb.conf mit deinen "settigns") ? Bzw muss ich dort etwas einstellen ? Oder läuft das unter den ACL "other" ?


XXXXXXX:/home/test# getfacl /home/test/o1
getfacl: Removing leading '/' from absolute path names
# file: home/test/o1
# owner: root
# group: root
user::---
user:testuser01:r-x
group:---
group:benutzer:rwx
mask::r-x
other::---

keine ahnung ob das makierte so muss. Aber da ich alle Berechtigung über ACLs regler hab ichs mir mal einfach so gedacht (-:
 
Oben