Diskussion:Entwicklungsumgebung/Samba

Aus Delixs
Version vom 15. Februar 2009, 13:21 Uhr von 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...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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