PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich möchte Linux SuSE 9.1 Pro einrichten als SAMBA 3.0 PDC based Server mit LDAP.



switch
28.07.04, 20:13
Ich möchte SAMBA 3.0.x als PDC (Primary Domain Controller) mit LDAP einrichten. Dies ist gedacht als Lern-Projekt. Danach möchte ich noch LAMP und Squid aufsetzen.

Welche Reihenfolge der Einrichtung muss ich einhalten? Ich meinte mich zu erinnern, dass zuerst OpenLDAP eingerichtet werden muss, bevor ich SAMBA 3.0 als PDC einrichte.

1. Stimmt diese Hypothese?
2. Gibt es irgendwo ein Guide/Howto womit ich LDAP einrichten kann? Ich habe SAMBA 2.x als PDC mal eingerichtet. Diese Erfahrungen werden mir schon hilfreich sein, denke ich. Aber mit LDAP bin ich eine echte Novice.

mamue
28.07.04, 23:12
Mittlerweile würde ich folgende Reihenfolge empfehlen:
1.: samba mit tdbsam und einem Account, zum Beispiel root
2.: LDAP einrichten mit den nötigen pam Diensten. SuSE (Yast) hilft einem dabei.
3.: Von tdbsam wechseln nach ldapsam

mamue

switch
29.07.04, 04:17
mamua, kannst du mir erklären wieso du empfhielst zuerst SAMBA mit tdbsam einzurichten (mit einem Account)?

Es gibt docht ldapsam? Also, sollte man doch zuerst LDAP einrichten bevor mann SAMBA einrichtet?

switch
29.07.04, 04:23
Und jetzt noch eine andere Frage: was muss ich tun im Zusammenhang mit Kerberos? Wann muss ich dies definieren d.H. vor der Installation von LDAP oder vor der Installation von SAMBA?

Ich muss unbedingt erst die riuchtige Reihenfolge wissen, bevor ich das ganze angehe.

switch
29.07.04, 08:14
Also, ich habe Kerberos als Option für die Anwendung in einem Samba Netzwerk schon fallen gelassen. Ich werde mich vermehrt mit IPSec auseinandersetzen. IPSec ist aber jetzt nicht relevant in der Frage was in welcher Reihenfolge installiert werden müssen.

raptor666
29.07.04, 12:55
@switch
falls du noch an nem tutorial fuer ldap interessiert bist, hier mal ein link zu selflinux.
http://www.selflinux.org/selflinux/html/ldap.html

falls das nicht genuegt haette ich noch ein tutorial von linux-tin.org, das ist
allerdings leider nicht mehr online, wenn interesse besteht kann ich's dir per
email schicken ca 1MB.

gr33tz

mamue
29.07.04, 16:31
mamua, kannst du mir erklären wieso du empfhielst zuerst SAMBA mit tdbsam einzurichten (mit einem Account)?

Wenn Du die smbldap-tools verwenden möchtest, musst Du zuerst einmal in der smbldap_conf.pm die SID eintragen. Dazu muß aber samba schon mal gelaufen haben. Um nicht alles wegen kleinerer Fehler mehrfach machen zu müssen, halte ich es für ratsam, erst einmal samba zuverlässig am Laufen zu haben. Man kommt später zu leicht ins trudeln, wenn ldap nicht auf Anhieb funktioniert.
Eigentlich ist alles ganz einfach, wenn samba mit tdbsam funktioniert, hast Du die SID, die sich ab dann auch nicht mehr ändert. Danach richtest Du ldap ein, bis getent passwd die Benutzerinformationen anzeigt. Danach kannst Du von tdbsam auf ldapsam wechseln. Wenn Du die smbldap-tools verwendest, nimmt Dir smbldap-populate.pl eine Menge Arbeit mit dem group-mapping ab.

HTH,
mamue

senseipetz
29.07.04, 23:00
Aufsetzen eines Suse Linux 9.1 Servers +
Samba 3.0.4(NT 4 Schema +PDC) + LDAP
Server 2.x Revision 1.7
1.0.0 Nachdem aufsetzen des Linux Servers müssen noch einige Packeges installiert werden.
Hierbei handelt es sich um die:

• make(per yast2)
• webmin((per yast2) danach aus dem webmin upgraden..)
• locate(per yast2)
• nss_ldap(per yast2)
• pam_ldap(per yast2)
• net::ssley(Suse unclude Perl Script(per yast2))
• net::ldap(Suse unclude Perl Script(per yast2))
• samba(server)(per yast2)
• samba(client)(per yast2)
• openldap Server 2.x(per yast2)
• crypt::smbhash(externes perl modul, ebenfalls ist zip da. Nur noch installieren.)
• smbldap-tools(vorbereites package ist schon da als zip. Bei neuer struktur neu anpassen),
• smbldaptools v0.8.5
http://samba.idealx.org/dist/smbldap-tools-0.8.5.tgz
• crypt smbhash
http://www.cpan.dk/CPAN/modules/by-module/Crypt/Crypt-SmbHash-0.01.tar.gz


!!!!!!!!!!!!!!!!Wichtig nach der installation ein YastOnlineUpdate zu machen und ein init 6
!!Samba noch in ruhe lassen, bis alles notwenigen Files drüben sind, sonst wird's kompliziert..
1.1.0Jetzt geht es dem OpenLDAP Server an den kragen mit dem Pfad /etc/openldap/slapd.conf:

################################################## #############################
# Die Include Files #
################################################## #############################

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba3.schema

################################################## #############################
# Die pid Files #
################################################## #############################

pidfile /var/run/slapd/run/slapd.pid
argsfile /var/run/slapd/run/slapd.args

################################################## #############################
# Load dynamic backend modules: #
################################################## #############################

modulepath /usr/lib/openldap/modules



################################################## ##############################
# Die Access Definitions wer darf was.. #
################################################## ##############################

#access to attrs=userPassword
#by self write
#by anonymous auth
#by * none
#
#access to attrs=sambaLMPassword
#by self write
#by anonymous auth
#by * none

#access to attrs=sambaNTPassword
#by self write
#by anonymous auth
#by * none

access to *
by * read

################################################## ##############################
# bdb database definitions #
################################################## ##############################

database ldbm
suffix "dc=berlin-home,dc=local"
rootdn "cn=Manager,dc=berlin-home,dc=local"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
directory /var/lib/ldap
# Indices to maintain
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq

1.1.1 Das war der OpenLDAP Server. Jetzt nur noch die Datei /etc/openldap/ldap.conf bearbeiten

################################################## ##############################
# Hier kommen die Base als Standardsuchpfad #
################################################## ##############################

BASE dc=berlin-home, dc=local
HOST 10.0.0.140

1.1.1.1 Den OpenLDAP Server starten mit /etc/init.d/ldap start

Der Server sollte ohne irgendwelche Probleme starten. Sollte es nicht der Fall sein, Fehler
ansehen und entsprechend versuchen zu beheben. Sonst kann man sich den Rest sparen.

1.1.2 Und jetzt kommt Samba dran(!! Aber den Samba noch nicht neu starten) mit der Datei
/etc/samba/smb.conf

# Samba config file created using SWAT
# from 10.0.0.139 (10.0.0.139)
# Date: 2004/06/18 20:13:45
# Global parameters

[global]
unix charset = ISO8859-1
workgroup = berlin-home
server string = Samba Server %v
interfaces = 10.0.0.140/255.255.255.0
bind interfaces only = Yes
client schannel = No
server schannel = No
map to guest = Bad User
passdb backend = ldapsam:ldap://10.0.0.140/
passwd program = /usr/local/sbin/smbldap-passwd %u
smb ports = 445 139 137
printcap cache time = 750
add user script = /usr/local/sbin/smbldap-useradd -m %u
add group script = /usr/local/sbin/smbldap-groupadd -p %g
add user to group script = /usr/local/sbin/smbldap-groupmod -m %u %g
delete user from group script = /usr/local/sbin/smbldap-groupmod -x %u %g
set primary group script = /usr/local/sbin/smbldap-usermod -g %g %u
add machine script = /usr/local/sbin/smbldap-useradd -w %u
logon path = \\linux2\profiles\%U
logon drive = X:
logon home = \\%L\%U\.9xprofile
domain logons = Yes
os level = 65
log level = 10
preferred master = Yes
domain master = Yes
wins support = Yes
# Ldap Suffix & Co.#
ldap suffix = dc=berlin-home,dc=local
ldap machine suffix = ou=Computers
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap admin dn = cn=Manager,dc=berlin-home,dc=local
ldap ssl = no
ldap delete dn = Yes
valid users = nobody, testuser1, root, Administrator
printer admin = @ntadmin, root, administrator
cups options = raw
store dos attributes = Yes

[homes]
comment = Home Directories
path = /home/%U
valid users = %U

[profiles]
comment = Network Profiles Service
path = /home/samba/profiles
valid users = %U, '@Domain Admins'
force user = %U
read only = No
create mask = 0600
directory mask = 0700
nt acl support = yes
csc policy = disable
profile acls = yes

[netlogon]
path = /home/samba/netlogon
write list = ntadmin
guest ok = Yes

[users]
comment = All users
path = /home
read only = No
inherit permissions = Yes
veto files = /aquota.user/groups/shares/

[groups]
comment = All groups
path = /home/groups
read only = No
inherit permissions = Yes

[pdf]
comment = PDF creator
path = /var/tmp
create mask = 0600
printable = Yes

[printers]
comment = All Printers
path = /var/tmp
create mask = 0600
printable = Yes
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin, root
force group = ntadmin
create mask = 0664
directory mask = 0775

[ldap]
path = /home/ldap
read only = No
guest ok = Yes

!!!!!!!!!! EXTREM WICHTIG fürs XP.. Über SWAT folgende Variablen anpassen:

map system = No
map hidden = No
map archive = No
store dos attributes = yes

Sonst werden die Profile IMMER schreibgeschützt geöffnet... Da wird man noch zum Affen..

Auch wichtig für die homes. Damit die Homes des Users gleich ins korrekte verzeichnis gemappt werden, wurde /home durch /home/%U ergänzt. Dafür aber muss beim smbldap configurationsscript die freigabe des Homes auf \\<Homeshare – Server>\%U angegeben werden.

!!!!!!!!!!Wichtig ist auch folgende Pfade gemäß der smb.conf zu erstellen:

mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
chmod 1777 /home/samba/profiles

1.1.3 Das war Samba(feel free to define your own new definitions). Jetzt müssen wir die nur noch
das Passwort aus der /etc/openldap/slapd.conf in die secrets.tdb schreiben. Das passiert mit dem
Befehl:

smbpasswd -w <passwort für den openldapserver>

Dann einfach kucken, ob der eingetragen „cn=<manager>,dc=<erster wert>,dc=<zweiter wert> mit
dem übereinstimmt, dass in der smb.conf „ldap admin dn =“ + in der slapd.conf. Das Passwort was
wir eingetragen haben ist das, was Samba zur authentication mit LDAP benötigen wird, um die
Daten vom LDAP Server anzufordern.

1.1.4 Wer möchte kann noch die lmhosts unter /etc/samba füttern. Besser fürs Netbios.

# This file provides the same function that the lmhosts file does for
# Windows. It's another way to map netbios names to ip addresses.
# See section 'name resolve order' in the manual page of smb.conf for
# more information.
127.0.0.1 localhost
10.0.0.140 Linux2.TUX-NET
10.0.0.143 erfcl20001-xpp.TUX-NET

1.1.5 Wir kommen nun zu den wichtigsten Parts. Die /etc/ldap.conf:

################################################## #############################
# Host ist wohl jedem klar.. muss übereinstimmen.. Man kann auch LINUX2.TUX-NET machen.#
# Allerdings muss Linux2.TUX-NET DNS mässig auflösbar sein.Das ist der Hacken.. #
################################################## #############################

host 10.0.0.140

################################################## ##############################
# The distinguished name of the search base. Erleutrn muss man dies nicht.. Die Base-Adresse #
# worauf der Server zuerst gesucht werden soll #
################################################## ##############################

base dc=berlin-home,dc=local
ldap_version 3

# Das Binddn muss nicht unbedingt rein. Wenn was nicht funktionieren sollte, kann man es #
# rausnehmen, da die Accesscontroll vom Server auf * steht. #
binddn cn=nssldap,ou=DSA,dc=berlin-home,dc=local
bindpw nssldapsecret

port 389

scope sub

pam_password md5

nss_base_passwd ou=Users,dc=berlin-home,dc=local?one
nss_base_shadow ou=Users,dc=berlin-home,dc=local?one
nss_base_group ou=Groups,dc=berlin-home,dc=local?one

ssl No

1.1.6 Nun ist auch die Zauberdatei /etc/nsswitch.conf. In der müssen die fett folgenden Einträge
angepasst sein.

#
# /etc/nsswitch.conf
#
# For more information, please read the nsswitch.conf.5 manual page.
#
passwd: compat
shadow: files ldap
group: compat
passwd_compat: ldap
group_compat: ldap

hosts: files dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files
bootparams: files
automount: files nis
aliases: files

1.1.7 Und the last but not least.. Die wichtigsten Dateien überhaupt /etc/pam.d/login und /
etc/pam.d/passwd. Vorsicht ist angesagt.. Es gibt keine Config-Tools dafür(ausser füs Red Hat
Linux)

Als erstes schnappen wir uns die datei /etc/pam.d/login:

auth requisite pam_unix2.so nullok #set_secrpc
auth sufficient pam_ldap.so
auth required pam_securetty.so
auth required pam_nologin.so
auth required pam_env.so
auth required pam_mail.so

account sufficient pam_ldap.so
account required pam_unix2.so

password sufficient pam_ldap.so
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_first_pass use_authtok

session sufficient pam_ldap.so
session required pam_unix2.so none # debug or trace
session required pam_limits.so

Und nun kommt die /etc/pam.d/passwd

#%PAM-1.0
auth sufficient pam_ldap.so
auth required pam_unix2.so nullok

account sufficient pam_ldap.so
account required pam_unix2.so

password sufficient pam_ldap.so
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_first_pass use_authtok

session sufficient pam_ldap.so
session required pam_unix2.so

1.1.8 Jetzt müssen wir noch das Package crypt::SmbHash falls noch nicht installiert noch
installieren.

perl Makefile.PL
make
make test
make install

1.1.9 Wir sind nun fertig und doch nur am anfang. Jetzt kümmern wir ums füttern des LDAP
Servers.

Erstmal mit ./configure.pl die smbldap.conf und smbldap_bind.conf neu schreiben lassen.
Die darin angeforderten anfragen immer neu bestätigen.. Habe es nicht testen wollen, was
das Programm macht, wenn man nur enter drückt bei sachen, wo er den pfad zeigte. Sollte
die smbldap-tools sollte immer unter /usr/local/sbin drin sein, sonnst pfade anpassen.
Man sollte dennoch unter windows sich mal alle smbldap .conf dateien ansehen. Alle pfade die was mit den scripten zu tun haben sollten nach /usr/local/sbin verweisen.
Wenn das ./configure durchgelaufen ist, kann man sich dem script smbldap-populate widmen.
Dieses macht die ersten einträge. Es muss ohne Fehler durchlaufen.. Ansonsten wird 100%
Ärger/Probleme geben.


Jetzt wäre ein guter Zeitpunkt den Samba Server neu zu starten mit den Befehlen:
/etc/init.d/smb restart
/etc/init.d/nmb restart


Mal nach den SID nachkucken mit net groupmap ob alles ok ist.. das kommt raus wenn alles ok ist.

Domain Admins (S-1-5-21-1356524046-1554731702-4227933625-512) -> Domain Admins
Domain Users (S-1-5-21-1356524046-1554731702-4227933625-513) -> Domain Users
Domain Guests (S-1-5-21-1356524046-1554731702-4227933625-514) -> Domain Guests
Print Operators (S-1-5-32-550) -> Print Operators
Backup Operators (S-1-5-32-551) -> Backup Operators
Replicators (S-1-5-32-552) -> Replicators

1.2.0 Auch mit dem Tool von Pegacat Jxplorer die ID vom guest/nobody prüfen. Die
SambaSID muss auf 501 und die SambaPrimaryGroupSID muss auf 513 sein. Dann erst lässt
euch der Samba an dem LDAP ran. Ansonsten gibt es die schicke meldung: „Can't become
connected user“..
!!!!!!!!!!!!!!!!!Wichtig.. Beim Script die SID UNBEDINGT DER SYSTEMSID ANPASSEN.

Nun müssen auch noch einpaar Sachen beim XP gechanged werden... Und dass noch vor dem „In Domain einbinden“:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Netlogon\Parameters]
"requiresignorseal"=dword:00000000
"signsecurechannel"=dword:00000000

Und auch noch über den gpedit.msc als lokaler Administrator:

„Do not check for user ownership of Roaming Profile Folders“

Eigentlich sollte nun alles funktionieren. Sowohl das joinen der Domains als auch das Anmelden an
der Domain. Viel Spass noch.....

switch
30.07.04, 13:10
senseipetz, das ist ja SUPER grossartig von dir. Ich schätze diese Geste SEHR. Vielen, vielen Dank. Einfach SUPER!

An dieser Stelle möchte ich raptor666 und mamue auch eine Dankeschön für ihre Feedback aussprechen.

senseipetz, you made my day! Nothing can ruin this day anymore! Super!

Gruss
switch

switch
30.07.04, 13:44
Ich erwähne noch diese Site, die ich gefunden habe (via senseipetz's posting):

"The Linux Samba-OpenLDAP Howto (Revision: 1.6 )"

(link: http://samba.idealx.org/smbldap-howto.fr.html#htoc12)

switch
30.07.04, 22:24
raptor666, ich habe dir eine Private Message geschickt!

senseipetz
30.07.04, 22:30
gekostet.. die bedienungsanleitung wird sowieso noch verbessert, da immerwieder sachen auftauchen, die ich zwar mittlerweile aus dem kopf selber weis, aber irgendwann vielleicht vergesse, als wird immer wieder verbessert..

Wenn's irgendwo probs gibt einfach posten oder an petertzvetanov@web.de senden.. machmal kommen so viele sachen hier rein, dass ich vielleicht den beitrag nicht mehr finde..

switch
30.07.04, 22:56
Hallo Peter (Tzvetanov),

ich ware gerade daran dein Homepage http://www.masterpetz.de/index.php anzuschauen. Ich nehme an du hast auch dein Homepage selber entwickelt? Du bist ein sehr talentierter Mensch.

Ich werde dich kontaktieren via deine Email Addresse, wie angegeben in dein Posting!

Gruss aus der Schweiz!

senseipetz
30.07.04, 23:46
ich muss zugeben, dass das Konstrukt(also die Matrix) ist vom php Nuke 5.3, aber ich musste die site schon desöfteren modifizieren.. Die inhalte sind meine.. das stimmt.

switch
31.07.04, 00:05
peter,
das ist cool. Also mit php Nuke 5.3 könnte ich auch etwas ähnliches aufbauen? Ich habe einen Site, von einem Webdesigner gebastelt. Er hat das mit Adobe GoLive gemacht. In der Erwartung ich könnte es selber "maintainen". Najah, vergiss es. Es ist und war eine Katastrophe.

Also suche ich etwas was ich selber zusammenstellen kann. Ich kann mich nicht mehr auf andere verlassen.

Gruss

senseipetz
31.07.04, 00:16
Die Probleme kommen meinstens nur dann, wenn die die themes(die Darstellung und Grafiken) nimmst, weil z.B. die themes von 5.4 nicht auf die themes vom 5.2 passen und dann müssen sachen geändert werden.. Auch gibt es probleme, wenn wie beim 5.3 ein funktion genutzt wurde, die später beim php interpreter 4.x geändert wurde und somit "function.setlocal" geändert werden musste. Mit dem ergebnis, dass der Author des Beitrag nicht mehr sichtbar wurde aber man hatte keine Fehlermeldung!! Super... Naja.. Ich hatte aber meine Site einwenig vernachtlässigt. Muss mich mal wieder darum kümmern..

switch
31.07.04, 01:28
ich habe mal PHP-Nuke 7.4 online georderd (kostete nur USD 10,-). Demnächst erwarte ich einen Link um es herunterzuladen.

senseipetz
31.07.04, 13:06
Naja.. wieso auch.. nicht einmal der Tod ist umsonst.. :mad: