Samba4: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
 
=pam ldap=
 
=pam ldap=
 
*http://zachbethel.com/2013/04/10/linux-ldap-authentication-with-samba4/
 
*http://zachbethel.com/2013/04/10/linux-ldap-authentication-with-samba4/
 +
 +
==Allgemeines==
 +
* Betriebssystem: Debian Sarge 3.1
 +
* Benötigte Pakete heimdal-kdc slapd
 +
 +
==Installation der Pakete==
 +
* Heimdal Kerberos Server
 +
apt-get install heimdal-kdc
 +
Es werden weiter Pakete installiert. Man kann die Konfiguration überspringen
 +
 +
root@vz4:/etc# cat /etc/krb5.conf
 +
[libdefaults]
 +
        default_realm = ALPHA.QUADRANT
 +
[realms]
 +
ALPHA.QUADRANT = {
 +
        kdc = vz4.alpha.quadrant:88
 +
        admin_server =  vz4.alpha.quadrant:749
 +
        default_domain = alpha.quadrant
 +
        }
 +
[domain_realm]
 +
        alpha.quadrant = ALPHA.QUADRANT
 +
        .alpha.quadrant = ALPHA.QUADRANT
 +
[kdc]
 +
        database = {
 +
        dbname = ldap:dc=alpha,dc=quadrant
 +
        }
 +
Kerberos und Passwort Server nochmal starten
 +
root@vz4:/usr/local/sbin# /etc/init.d/heimdal-kdc restart
 +
Kadmin neustarten
 +
root@vz4:/usr/local/sbin# /etc/init.d/inetd restart
 +
* Openldap Server
 +
apt-get install slapd  db4.2-util
 +
Es werden weitere Pakete installiert.
 +
Die Konfiguration des slapd
 +
root@vz4:/etc/ldap# cat /etc/ldap/slapd.conf
 +
allow                          bind_v2
 +
include                        /etc/ldap/schema/core.schema
 +
include                        /etc/ldap/schema/cosine.schema
 +
include                        /etc/ldap/schema/nis.schema
 +
include                        /etc/ldap/schema/inetorgperson.schema
 +
include                        /etc/ldap/schema/misc.schema
 +
include                        /etc/ldap/schema/krb5-kdc.schema
 +
schemacheck                    on
 +
modulepath                      /usr/lib/ldap
 +
moduleload                      back_bdb
 +
pidfile                        /var/run/slapd.pid
 +
argsfile                        /var/run/slapd.args
 +
loglevel                        7
 +
srvtab                          /etc/krb5.keytab
 +
sasl-host                      vz4.alpha.quadrant
 +
sasl-realm                      ALPHA.QUADRANT
 +
database                        bdb
 +
suffix                          "dc=alpha,dc=quadrant"
 +
directory                      /var/lib/ldap
 +
index                          objectClass eq
 +
rootdn                          "cn=admin,dc=alpha,dc=quadrant"
 +
rootpw                          "sysadm"
 +
saslregexp                      "uid=(.*),cn=alpha.quadrant,cn=gssapi,cn=auth" "uid=$1,ou=mitarbeiter,dc=alpha,dc=quadrant"
 +
access to dn.subtree="dc=alpha,dc=quadrant"
 +
        by sockurl="ldapi:///" write
 +
access to *
 +
        by * read
 +
Herunterladen des Kerberos Schemas
 +
root@vz4:/etc/ldap/schema# wget http://www.xinux.de/download/krb5-kdc.schema
 +
Ldapi aktivieren
 +
In der Datei /etc/default/slapd muss folgender Eintrag rein
 +
SLAPD_SERVICES="ldap:/// ldapi:///"
 +
Neutstart des slapd
 +
root@vz4:/etc/default# /etc/init.d/slapd restart
 +
Stopping OpenLDAP: slapd.
 +
Starting OpenLDAP: running BDB recovery, slapd.
 +
Openldap Clients
 +
root@vz4:/etc/ldap/schema# apt-get install ldap-utils
 +
Die Konfiguration der ldap utils
 +
root@vz4:/etc/ldap# cat  ldap.conf
 +
base            dc=alpha, dc=quadrant
 +
uri            ldap://127.0.0.1
 +
ldap_version    3
 +
rootbinddn      cn=admin, dc=alpha, dc=quadrant
 +
pam_password    md5
 +
Installation von Sasl
 +
root@vz4:/etc/ldap# apt-get install libgsasl7 libsasl2-modules-gssapi-heimdal
 +
Feststellen welche Sasl mechanismen unterstützt werden.
 +
root@vz4:/etc/ldap# ldapsearch -h localhost -p 389 -x -b "" -s base -LLL supportedSASLMechanisms
 +
  dn:
 +
  supportedSASLMechanisms: GSSAPI
 +
  supportedSASLMechanisms: NTLM
 +
  supportedSASLMechanisms: DIGEST-MD5
 +
  supportedSASLMechanisms: CRAM-MD5
 +
Erstellen der Ldap Struktur
 +
root@vz4:/root/ldap# cat struktur.ldif
 +
# alpha.quadrant
 +
dn: dc=alpha,dc=quadrant
 +
objectClass: dcObject
 +
objectClass: organization
 +
o: alpha
 +
dc: alpha
 +
# mitarbeiter, alpha.quadrant
 +
dn: ou=mitarbeiter,dc=alpha,dc=quadrant
 +
objectClass: organizationalUnit
 +
ou: mitarbeiter
 +
# gruppen, alpha.quadrant
 +
dn: ou=gruppen,dc=alpha,dc=quadrant
 +
objectClass: organizationalUnit
 +
ou: gruppen
 +
# rechner, alpha.quadrant
 +
dn: ou=rechner,dc=alpha,dc=quadrant
 +
objectClass: organizationalUnit
 +
ou: rechner
 +
Anlegen der Ldap Struktur
 +
root@vz4:/root/ldap# ldapadd -xD cn=admin,dc=alpha,dc=quadrant -w sysadm -f struktur.ldif
 +
Initialisierung der REALM
 +
root@vz4:/etc/default# kadmin -l
 +
kadmin> init ALPHA.QUADRANT
 +
Realm max ticket life [unlimited]:
 +
Realm max renewable ticket life [unlimited]:
 +
Host Principal anlegen (Option -r erzeugt zufälligen Key - kein Einloggen nötig)
 +
kadmin> add -r vz4/vz4.alpha.quadrant
 +
Max ticket life [1 day]:
 +
Max renewable life [1 week]:
 +
Principal expiration time [never]:
 +
Password expiration time [never]:
 +
Attributes []:
 +
Nun soll der erste Dienst angebunden werden, der LDAP Server. Dazu muss
 +
zun¨achst ein Service-Principal erstellt und in eine Keytab-Datei exportiert werden:
 +
kadmin> add -r vz4/vz4.alpha.quadrant
 +
Max ticket life [1 day]:
 +
Max renewable life [1 week]:
 +
Principal expiration time [never]:
 +
Password expiration time [never]:
 +
Attributes []:
 +
kadmin> add -r ldap/vz4.alpha.quadrant
 +
Max ticket life [1 day]:
 +
Max renewable life [1 week]:
 +
Principal expiration time [never]:
 +
Password expiration time [never]:
 +
Attributes []:
 +
kadmin> ext -k /etc/krb5.keytab  ldap/vz4.alpha.quadrant
 +
Skript zum anlegen der User /usr/local/sbin/user.sh
 +
#!/bin/bash
 +
UIDNUMBER=$(($(ldapsearch -xLLLD cn=admin,dc=alpha,dc=quadrant -w sysadm uidNumber | grep uidNumber | cut -f 2 -d : | sort -l -n 1)+1))
 +
ldapadd -xD cn=admin,dc=alpha,dc=quadrant -w sysadm <<HERE
 +
dn: uid=$1,ou=mitarbeiter,dc=alpha,dc=quadrant
 +
cn: $1
 +
objectClass: account
 +
objectClass: posixAccount
 +
objectClass: shadowAccount
 +
objectClass: top
 +
objectClass: krb5Principal
 +
objectClass: krb5KDCEntry
 +
krb5PrincipalName: $1@ALPHA.QUADRANT
 +
krb5KeyVersionNumber: 0
 +
krb5MaxLife: 86400
 +
krb5MaxRenew: 604800
 +
krb5KDCFlags: 126
 +
uid: $1
 +
uidNumber: $UIDNUMBER
 +
gidNumber: 1000
 +
homeDirectory: /home/$1
 +
loginShell: /bin/bash
 +
HERE
 +
kpasswd --admin-principal=kadmin/admin@ALPHA.QUADRANT $1
 +
 +
User anlegen
 +
 +
root@vz6:/usr/local/sbin# user.sh wilma
 +
adding new entry "uid=wilma,ou=mitarbeiter,dc=alpha,dc=quadrant"
 +
 +
kadmin/admin@ALPHA.QUADRANT's Password: sysadm
 +
New password for wilma@ALPHA.QUADRANT: geheim
 +
Verifying - New password for wilma@ALPHA.QUADRANT: geheim
 +
Success : Password changed
 +
 
=ldapbackend=
 
=ldapbackend=
 
*http://www.foteviken.de/?p=1925
 
*http://www.foteviken.de/?p=1925

Version vom 6. August 2014, 08:32 Uhr

Installation

pam ldap

Allgemeines

  • Betriebssystem: Debian Sarge 3.1
  • Benötigte Pakete heimdal-kdc slapd

Installation der Pakete

  • Heimdal Kerberos Server
apt-get install heimdal-kdc 

Es werden weiter Pakete installiert. Man kann die Konfiguration überspringen

root@vz4:/etc# cat /etc/krb5.conf
[libdefaults]
       default_realm = ALPHA.QUADRANT
[realms]
ALPHA.QUADRANT = {
       kdc = vz4.alpha.quadrant:88
       admin_server =  vz4.alpha.quadrant:749
       default_domain = alpha.quadrant
       }
[domain_realm]
       alpha.quadrant = ALPHA.QUADRANT
       .alpha.quadrant = ALPHA.QUADRANT
[kdc]
       database = {
       dbname = ldap:dc=alpha,dc=quadrant
       }

Kerberos und Passwort Server nochmal starten

root@vz4:/usr/local/sbin# /etc/init.d/heimdal-kdc restart

Kadmin neustarten

root@vz4:/usr/local/sbin# /etc/init.d/inetd restart
  • Openldap Server
apt-get install slapd  db4.2-util

Es werden weitere Pakete installiert. Die Konfiguration des slapd

root@vz4:/etc/ldap# cat /etc/ldap/slapd.conf
allow                           bind_v2
include                         /etc/ldap/schema/core.schema
include                         /etc/ldap/schema/cosine.schema
include                         /etc/ldap/schema/nis.schema
include                         /etc/ldap/schema/inetorgperson.schema
include                         /etc/ldap/schema/misc.schema
include                         /etc/ldap/schema/krb5-kdc.schema
schemacheck                     on
modulepath                      /usr/lib/ldap
moduleload                      back_bdb
pidfile                         /var/run/slapd.pid
argsfile                        /var/run/slapd.args
loglevel                        7
srvtab                          /etc/krb5.keytab
sasl-host                       vz4.alpha.quadrant
sasl-realm                      ALPHA.QUADRANT
database                        bdb
suffix                          "dc=alpha,dc=quadrant"
directory                       /var/lib/ldap
index                           objectClass eq
rootdn                          "cn=admin,dc=alpha,dc=quadrant"
rootpw                          "sysadm"
saslregexp                      "uid=(.*),cn=alpha.quadrant,cn=gssapi,cn=auth" "uid=$1,ou=mitarbeiter,dc=alpha,dc=quadrant"
access to dn.subtree="dc=alpha,dc=quadrant"
        by sockurl="ldapi:///" write
access to *
       by * read

Herunterladen des Kerberos Schemas

root@vz4:/etc/ldap/schema# wget http://www.xinux.de/download/krb5-kdc.schema

Ldapi aktivieren In der Datei /etc/default/slapd muss folgender Eintrag rein

SLAPD_SERVICES="ldap:/// ldapi:///"

Neutstart des slapd

root@vz4:/etc/default# /etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: running BDB recovery, slapd.

Openldap Clients

root@vz4:/etc/ldap/schema# apt-get install ldap-utils

Die Konfiguration der ldap utils

root@vz4:/etc/ldap# cat  ldap.conf
base            dc=alpha, dc=quadrant
uri             ldap://127.0.0.1
ldap_version    3
rootbinddn      cn=admin, dc=alpha, dc=quadrant
pam_password    md5

Installation von Sasl

root@vz4:/etc/ldap# apt-get install libgsasl7 libsasl2-modules-gssapi-heimdal

Feststellen welche Sasl mechanismen unterstützt werden.

root@vz4:/etc/ldap# ldapsearch -h localhost -p 389 -x -b "" -s base -LLL supportedSASLMechanisms
 dn:
 supportedSASLMechanisms: GSSAPI
 supportedSASLMechanisms: NTLM
 supportedSASLMechanisms: DIGEST-MD5
 supportedSASLMechanisms: CRAM-MD5

Erstellen der Ldap Struktur

root@vz4:/root/ldap# cat struktur.ldif
# alpha.quadrant
dn: dc=alpha,dc=quadrant
objectClass: dcObject
objectClass: organization
o: alpha
dc: alpha
# mitarbeiter, alpha.quadrant
dn: ou=mitarbeiter,dc=alpha,dc=quadrant
objectClass: organizationalUnit
ou: mitarbeiter
# gruppen, alpha.quadrant
dn: ou=gruppen,dc=alpha,dc=quadrant
objectClass: organizationalUnit
ou: gruppen 
# rechner, alpha.quadrant
dn: ou=rechner,dc=alpha,dc=quadrant
objectClass: organizationalUnit
ou: rechner

Anlegen der Ldap Struktur

root@vz4:/root/ldap# ldapadd -xD cn=admin,dc=alpha,dc=quadrant -w sysadm -f struktur.ldif

Initialisierung der REALM

root@vz4:/etc/default# kadmin -l
kadmin> init ALPHA.QUADRANT
Realm max ticket life [unlimited]:
Realm max renewable ticket life [unlimited]:

Host Principal anlegen (Option -r erzeugt zufälligen Key - kein Einloggen nötig)

kadmin> add -r vz4/vz4.alpha.quadrant
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:

Nun soll der erste Dienst angebunden werden, der LDAP Server. Dazu muss zun¨achst ein Service-Principal erstellt und in eine Keytab-Datei exportiert werden:

kadmin> add -r vz4/vz4.alpha.quadrant
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
kadmin> add -r ldap/vz4.alpha.quadrant
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
kadmin> ext -k /etc/krb5.keytab  ldap/vz4.alpha.quadrant

Skript zum anlegen der User /usr/local/sbin/user.sh

#!/bin/bash 
UIDNUMBER=$(($(ldapsearch -xLLLD cn=admin,dc=alpha,dc=quadrant -w sysadm uidNumber | grep uidNumber | cut -f 2 -d : | sort -l -n 1)+1))
ldapadd -xD cn=admin,dc=alpha,dc=quadrant -w sysadm <<HERE
dn: uid=$1,ou=mitarbeiter,dc=alpha,dc=quadrant
cn: $1
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
objectClass: krb5Principal
objectClass: krb5KDCEntry
krb5PrincipalName: $1@ALPHA.QUADRANT
krb5KeyVersionNumber: 0
krb5MaxLife: 86400
krb5MaxRenew: 604800
krb5KDCFlags: 126
uid: $1
uidNumber: $UIDNUMBER
gidNumber: 1000
homeDirectory: /home/$1
loginShell: /bin/bash
HERE
kpasswd --admin-principal=kadmin/admin@ALPHA.QUADRANT $1

User anlegen

root@vz6:/usr/local/sbin# user.sh wilma
adding new entry "uid=wilma,ou=mitarbeiter,dc=alpha,dc=quadrant"

kadmin/admin@ALPHA.QUADRANT's Password: sysadm
New password for wilma@ALPHA.QUADRANT: geheim
Verifying - New password for wilma@ALPHA.QUADRANT: geheim
Success : Password changed

ldapbackend

samba-and-active-directory

domain member

group policiy

movies

Kennwortrichtlinie deaktivieren

Du gehst in die Gruppenrichtlinienverwaltung.
Dann gehst du in das Verzecihnis deiner gewünschten Domäne.
Jetzt solltest du einen eintrag sehen, der sich "Default Domain Controllers Policy" nennt.
Mit rechter Maustaste draufklicken und bearbeiten. Dann öffnet sich der Gruppenrichtlinienverwaltungs-Editor
(Achtung! Auf den ersten Blick sehr leicht mit der Gruppenrichtlinienverwaltung zu verwechseln).
Jetzt schaust du unter "Computerconfiguration> Richtlinien> Windows-Einstellungen> Sicherheitseinstellungen> Kontorichtlinien> Kennwortrichtlinien.

Dort darf man dann endlich die Kennwortrichtlinie deaktivieren.

debian

ubuntu

http://xiep.de/allgemein/ubuntu-server-12-04-mit-samba-4-und-active-directory-pdc/

dns

https://wiki.archlinux.org/index.php/Samba_4_Active_Directory_Domain_Controller

kennwortrichtlinien

http://chris-blog.net/2014/01/kennwortrichtlinie-in-samba-4-domain-deaktivieren/

Debugging / Probleme mit Kennwortrichtlinien

Rechte sysvol kontrollieren

samba-tool ntacl sysvolcheck

Rechte auf sysvol zuruecksetzen

samba-tool ntacl sysvolreset