Diskussion:Entwicklungsumgebung/Samba: Unterschied zwischen den Versionen
host msdfs |
Text verschoben zu den Vorüberlegungen |
||
| Zeile 21: | Zeile 21: | ||
== Installation von Samba == | == Installation von Samba == | ||
= eigentliche Installation von Samba = | = eigentliche Installation von Samba = | ||
Version vom 3. Juli 2009, 08:15 Uhr
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
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
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