|
|
Zeile 18: |
Zeile 18: |
|
| |
|
| siehe auch dd 16.06.2009 | | siehe auch dd 16.06.2009 |
|
| |
| == Installation von Samba ==
| |
|
| |
|
| |
| = 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. LDAP 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
| |
|
| |
| smbldap-groupadd -g 1000 -a ws-user
| |
| smbldap-groupadd -g 1001 -a teacher
| |
| smbldap-groupadd -g 1002 -a students
| |
| smbldap-groupadd -g 1003 -a exam
| |
| smbldap-groupadd -g 1004 -a 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
| |
|
| |
|
| |
|
| ---- | | ---- |
Hinweis
Die default Einstellung "host msdfs = Yes" verursacht auf jedem
Samba-Server ein Speicherproblem, wenn folgendes zutrifft:
- LDAP-Anbindung
- ein MS IIS Server im Netz
Wenn es in Euren Netzen einen IIS gibt, setzt diesen Parameter auf "No"
und startet Samba neu :-) . Natürlich nur, wenn Ihr msdfs nicht
benutzt; was sehr wahrscheinlich der Fall ist.
Kontrolle mit:
testparm -s -v 2>/dev/null|grep 'host msdfs'
host msdfs = Yes
siehe auch dd 16.06.2009
Ergänzungen, damit unix und SAMBA-Passworte automatisch synchron bleiben:
cgrep /etc/hosts
127.0.0.1 localhost
10.100.0.1 alix.delixs-schule.de alix
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
cgrep /etc/samba/smb.conf
[global]
unix charset = LOCALE
server string = Schulserver %h
workgroup = SCHULE
netbios name = alix
domain logons = Yes
domain master = Yes
local master = yes
preferred master =yes
interfaces = eth1 127.0.0.1/8
bind interfaces only = Yes
name resolve order = wins bcast host
security = user
auth methods = guest, sam
hosts allow = 127. 10.
time server = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
case sensitive = no
preserve case = yes
short preserve case = yes
logon script = %a.bat
logon path = \\%L\%U\%a
logon home = \\%L\%U\%a
domain logons = yes
domain master = yes
os level = 255
preferred master = yes
passdb backend = ldapsam:ldap://localhost
ldapsam:trusted = yes
ldap passwd sync = yes
pam password change = Yes
encrypt passwords = yes
ldap suffix = dc=delixs-schule,dc=de
ldap admin dn = cn=admin,dc=delixs-schule,dc=de
ldap group suffix = ou=groups
ldap user suffix = ou=people,ou=accounts
ldap machine suffix = ou=machines,ou=accounts
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n
*Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add user script = /usr/sbin/smbldap-useradd -m -a -A 1 "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
ldap delete dn = yes
dns proxy = no
wins support = yes
admin users = adm, root, Administrator
guest account = nobody
mangled names = no
log level = 1
veto files = /*.eml/*.nws/riched20.dll/*.{*}/
Hier steht viel zuviel Zeugs drin, aber so passt es erstmal :-)
aptitude install tdb-tools
und nachschauen, ob das geänderte admin Passwort eingetragen ist :-)
tdbdump /var/lib/samba/secrets.tdb
{
key(16) = "SECRETS/SID/ALIX"
data(68)
= "\01\04\00\00\00\00\00\05\15\00\00\00\A4\04\86}\19\C5\9F\1A\FE\B8\0Eo\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"
}
{
key(18) = "SECRETS/SID/SCHULE"
data(68)
= "\01\04\00\00\00\00\00\05\15\00\00\00\A4\04\86}\19\C5\9F\1A\FE\B8\0Eo\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"
}
{
key(52) = "SECRETS/LDAP_BIND_PW/cn=admin,dc=delixs-schule,dc=de"
data(7) = "schule\00"
}
Jetzt "schule" nicht mehr "geheim"
--Harry 2009/03/29 in DD