Diskussion:Entwicklungsumgebung/Samba: Unterschied zwischen den Versionen
Dorn (Diskussion | Beiträge) (Die Seite wurde neu angelegt: = Installation von Samba = konzeptionelle Überlegungen wir haben im LDAP einen Baum (Struktur), die nun gefüllt werden soll. Fragt sich: 1. welche Accounts und Gru...) |
Dorn (Diskussion | Beiträge) |
||
Zeile 6: | Zeile 6: | ||
Fragt sich: | Fragt sich: | ||
1. welche Accounts und Gruppen müssen angelegt werden, weil diese | 1. welche Accounts und Gruppen müssen angelegt werden, weil diese eben für einen geordneten Betrieb eines PDCs erwartet werden? | ||
2. welche Berechtigungen sollen vergeben werden können und wie | 2. welche Berechtigungen sollen vergeben werden können und wie soll das geschehen? | ||
3. welche Gruppen richten wir wie ein | 3. welche Gruppen richten wir wie ein | ||
Zeile 96: | Zeile 96: | ||
das (derzeit) über die smbldap-Tools noch nicht steuern kann, werden die | das (derzeit) über die smbldap-Tools noch nicht steuern kann, werden die | ||
UIDs für User und Maschinen einfach "automatisch" vergeben - also gemischt. | UIDs für User und Maschinen einfach "automatisch" vergeben - also gemischt. | ||
= eigentliche Installation von Samba = | = eigentliche Installation von Samba = |
Version vom 15. Februar 2009, 13:22 Uhr
Installation von Samba
konzeptionelle Überlegungen
wir haben im LDAP einen Baum (Struktur), die nun gefüllt werden soll. Fragt sich:
1. welche Accounts und Gruppen müssen angelegt werden, weil diese eben für einen geordneten Betrieb eines PDCs erwartet werden?
2. welche Berechtigungen sollen vergeben werden können und wie soll das geschehen?
3. welche Gruppen richten wir wie ein
zu 1.
bei den smbldap-Tools gibt es ein Script, welches genau diese Aufgabe erledigen soll: smbldap-populate wir nutzen dieses, um eine "Population" für Samba zu erstellen. das ist aber nur eine Vorlage, d.h. wir verschieben die damit angelegten Entries dahin, wo wir es haben wollten.
Daraus wurde eine LDIF-Datei erstellt. Hinweis: die SID in diesem LDIF-File muss noch durch die aktuelle SID des Samba ersetzt werden!
zu 2.
Es sollte in Anlehnung an Arktur4 folgende Gruppen geben:
hadmins (Hauptadmins), cadmins (Co-Admins), tadmins (Teiladmins) Gruppe material, Gruppe fachl (Fachlehrer)
Es sollen folgende Rechte damit verbunden sein:
# bei Schülern # bei Lehrern Gruppe # # # LDAP | Homeverzeich. # LDAP | Homeverzeich.
------------------------------------------------------------------------ # | # hadmin # Schreibrecht | Schreibrecht # Schreibrecht | Schreibrecht # | # | cadmin # Schreibrecht | Schreibrecht # | # | # | tadmin # Schreibrecht | # | # | # | material # | Schreibrecht # | # | # | fachl # | Leserecht # |
ist aber noch nicht vollständig: es fehlen mir die raumadmins. Oder
formulieren wir es mal anders: das hier sind die Berechtigungen für
User. Es fehlen Berechtigungen für alles was mit Rechnern zu tun hat.
Es müßte die Tabelle noch nach rechts fortgesetzt werden, wobei eben diese Tabelle die linke Spalte für die User darstellt und daneben eben die für die Maschinen. für die Maschinen gibt es nur 2 Gruppen: die Raumadmins. die Rechte für die Raumadmins habe ich so vorgeschlagen:
- Rechnern in die Domäne aufnehmen - Rechnern feste IPs vergeben - die (Samba-)Logfiles für die Rechner seines Raumes kontrollieren können
Ein Raumadmin hat (sollte) immer nur die Rechte für seine Rechner haben. Da es durchaus Sinn macht, "einen" Admin zu haben, der über den Raumadmins steht und Zugriff auf alle Rechner hat, würde ich dieses Recht auch noch den hadmin geben. Und den hadmin(s) würde ich noch ein Recht einräumen: Er kann die Berechtigungen für cadmin, tadmin, material und fachl vergeben.
zu 3.
1. Systemgruppen (wegen speziellen Accounts):
'ws-user' ('platznutzer') war 100 => 1000 'teacher' ('lehrer') war 101 => 1001 'students' ('schueler') war 102 => 1002 'exam' ('klausur') war ??? => 1003 'machines' ('arbeitsstationen') war 97 => 1004
2. Delixsgruppen:
'online' war 106 => 1006 'material' war 107 => 1007 'internet' => 1008 'www' war 99 => 1009 'fachl' => 1010 'tadmin' --- => 1011 'cadmin' (war 'admins') war 105 => 1012 'hadmin' --- => 1013
3. Systemgruppen (wegen Groupmapping) siehe bei Population erzeugen (Punkt 8)
Angedacht war, dass die UIDs für die machinen von 1000 bis 1999 gehen. Die UIDs für die 'people' sollten ab 2000 (bis 30000) gehen. Da ich das (derzeit) über die smbldap-Tools noch nicht steuern kann, werden die UIDs für User und Maschinen einfach "automatisch" vergeben - also gemischt.
eigentliche Installation von Samba
(streng nach Wiki)
1. Pakete einspielen
aptitude install samba samba-common smbclient swat aptitude install libpam-smbpass smbldap-tools smbfs smb-nat samba-doc
---|Samba Server|---
Arbeitsgruppe/Domainname
SCHULE
---|Samba Server|---
soll die smb.conf abgeändert werden, dass per DHCP angebotene WINS-Einstellungen verwendet werden?
nein
2. Sambaschema bereitstellen
cd /usr/share/doc/samba-doc/examples/LDAP gunzip samba.schema.gz cp samba.schema /etc/ldap/schema/
und in die smb.conf einfügen (hiner den anderen include-Zeilen
include /etc/ldap/schema/samba.schema
3. Samba neu starten
/etc/init.d/slapd restart
4. ldap-tools bereitstellen
wurden ja schon bei Samba installiert und werden nach Anleitung im Wiki bereitgestellt:
zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
5. Konfiguration der smbldap-Tools:
/etc/smbldap-tools/smbldap_bind.conf (Datei im Paket)
slaveDN="cn=admin,dc=delixs-schule,dc=de" slavePw="geheim" masterDN="cn=admin,dc=delixs-schule,dc=de" masterPw="geheim"
/etc/smbldap-tools/smbldap.conf (Datei im Paket)
mit net getlocalsid >> /etc/smbldap-tools/smbldap.conf dann verschieben z.B. mit den MC
SID="S-1-5-21-3733721172-1526293526-4229837797" sambaDomain="SCHULE" # muss bei uns gleich sein slaveLDAP="127.0.0.1" slavePort="389" masterLDAP="127.0.0.1" masterPort="389" # ich verschluessel nichts ldapTLS="0" verify="none" cafile="" clientcert="" clientkey="" # delixs suffix="dc=delixs-schule,dc=de" usersdn="ou=people,ou=accounts,${suffix}" computersdn="ou=machines,ou=accounts,${suffix}" groupsdn="ou=groups,${suffix}" # das ist noch unklar idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}" scope="sub" hash_encrypt="MD5" # der naechste Eintrag soll nicht stoeren crypt_salt_format="%s" userLoginShell="/bin/bash" userHome="/home/students/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="1002" defaultComputerGid="1004" skeletonDir="/etc/skel" # ein leerer Wert wird nicht akzeptiert. also habe ich einen großen Wert genommen defaultMaxPasswordAge="10000" # die naechsten 4 Werte sollen aus der smb.conf genommen werden userSmbHome="" userProfile="" userHomeDrive="" userScript="" mailDomain="delixs-schule.de" # die naechsten Werte waren Vorgabe with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd"
6. wir ändern die UID und GID von sysadm
direkt in der shadow und der passwd UID und GID auf 0 setzen (mit dem mcedit)
7. die Hauptgruppen anlegen
diese legen wir in der /etc/groups an
addgroup --gid 1000 ws-user addgroup --gid 1001 teacher addgroup --gid 1002 students addgroup --gid 1003 exam addgroup --gid 1004 machines
8. Population im LDAP erzeugen
es wurde direkt mit smbldap-populate der LDAP gefüllt. Die Einträge haben gleich die richtige SID (wegen smbldap.conf). Es wurden folgende Einträge im LDAP angelegt. Offensichtlich alles fürs Funktionieren von Samba notwendige Einträge.
ou=Idmap,dc=delixs-schule,dc=de uid=root,ou=people,ou=accounts,dc=delixs-schule,dc=de uid=nobody,ou=people,ou=accounts,dc=delixs-schule,dc=de cn=Domain Admins,ou=groups,dc=delixs-schule,dc=de cn=Domain Users,ou=groups,dc=delixs-schule,dc=de cn=Domain Guests,ou=groups,dc=delixs-schule,dc=de cn=Domain Computers,ou=groups,dc=delixs-schule,dc=de cn=Administrators,ou=groups,dc=delixs-schule,dc=de cn=Account Operators,ou=groups,dc=delixs-schule,dc=de cn=Print Operators,ou=groups,dc=delixs-schule,dc=de cn=Backup Operators,ou=groups,dc=delixs-schule,dc=de cn=Replicators,ou=groups,dc=delixs-schule,dc=de sambaDomainName=SCHULE,dc=delixs-schule,dc=de
9. die Delixs-Gruppen im LDAP anlegen
Dazu verwenden wir das LDIF-File delixsgroups.ldif (Datei im Paket)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! dieses LDIF-File *muss* erst bearbeitet werden !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
und zwar muss die SID von Samba hier eingefügt werden (8x !!!), dazu - die SID anhängen mit
'net getlocalsid >> delixsgroups.ldif'
- z.B. mit dem MC dann mit suchen und ersetzen die alte SID durch die neue SID *überall* eintragen.
dieses bearbeitete LDIF-File in den LDAP einfügen mit
ldapadd -x -D cn=admin,dc=delixs-schule,dc=de -W -f /root/delixsgroups.ldif
10. smb.conf erstellen
die folgende 'smb.conf' habe ich "zusammenkopiert". testparm meckert nicht. die Pfade für die smbldaptools habe ich überprüft, die übernommenen Parameter scheinen mir sinnvoll.
meine 'smb.conf': http://www.arktur.th.schule.de/smb.conf (Datei im Paket)
11. Sambapasswort setzen
als root aufrufen (es muss das LDAP-root-Passwort sein - bei mir 'geheim')
smbpasswd -w geheim
12. Konfiguration neu einlesen
/etc/init.d/samba restart
13. Test
Aufruf von "smbclient -L alix -N" brachte:
Anonymous login successful Domain=[SCHULE] OS=[Unix] Server=[Samba 3.2.5]
Sharename Type Comment --------- ---- ------- netlogon Disk Anmeldeverzeichnis tmp Disk Datenaustausch pub Disk Unterrichtsmaterial intranet Disk Intranet-Seiten fachl Disk Fachlehrer-Zugang admins Disk Admin-Freigabe IPC$ IPC IPC Service (Schulserver alix) Anonymous login successful Domain=[SCHULE] OS=[Unix] Server=[Samba 3.2.5]
Server Comment --------- ------- ALIX Schulserver alix
Workgroup Master --------- ------- SCHULE ALIX
14. User anlegen
smbldap-useradd -a -A 1 -g 1002 -n -c 'Manfred Mustermann,5a' -d /home/students/mmustermann -m mmustermann
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
leider ging das letzte nicht. Es kam folgende Fehlermeldung:
/usr/sbin/smbldap-useradd: unknown group 1002