Openldap-linux-pam-nss: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 158: Zeile 158:
 
  netstat -lntp | grep slapd
 
  netstat -lntp | grep slapd
 
  tcp        0      0 0.0.0.0:389            0.0.0.0:*              LISTEN    499/slapd
 
  tcp        0      0 0.0.0.0:389            0.0.0.0:*              LISTEN    499/slapd
==Welche PID hat der slapd==
 
pgrep slapd
 
499
 
500
 
501
 
 
=Abfragen=
 
==anonym==
 
  ldapsearch -x -LLL -H  ldap://127.0.0.1 -b  dc=linuggs,dc=de
 
==gebunden interaktiv==
 
ldapsearch -x -LLL -D "cn=admin, dc=linuggs, dc=de" -W -H  ldap://127.0.0.1 -b  dc=linuggs,dc=de
 
==gebunden automatisch==
 
ldapsearch -x -LLL -D "cn=admin, dc=linuggs, dc=de" -w sysadm  -H  ldap://127.0.0.1 -b  dc=linuggs,dc=de
 
 
=Defaultclientkonfiguration von LDAP=
 
*[[ldap.conf]]
 
 
=gruppe hinzufügen=
 
ldapadd -xD cn=admin,dc=linuggs,dc=de -w sysadm -f group.ldif
 
adding new entry "cn=it,ou=groups,dc=linuggs,dc=de"
 
 
=user ldif anlegen=
 
<pre>
 
dn: uid=leroy,ou=users,dc=linuggs,dc=de
 
cn: leroy
 
objectClass: account
 
objectClass: posixAccount
 
objectClass: shadowAccount
 
uid: leroy
 
uidNumber: 2001
 
gidNumber: 3001
 
homeDirectory: /home/leroy
 
loginShell: /bin/bash
 
</pre>
 
 
=user hinzufügen=
 
ldapadd -xD cn=admin,dc=linuggs,dc=de -w sysadm -f user.ldif
 
adding new entry "uid=leroy,ou=user,dc=linuggs,dc=de"
 
=ldapscripts=
 
*[[ldapscripts handling]]
 
 
=Openldap posix accounts=
 
*[[openldap posix accounts]]
 
==ldapsearch==
 
root@maria:~# ldapsearch -x -LLL -b dc=linuggs,dc=de 'uid=thomas' cn gidNumber
 
dn: uid=thomas,ou=People,dc=linuggs,dc=de
 
cn: thomas will
 
gidNumber: 5000
 
 
=apache2 ldap=
 
*[[apache2 ldap]]
 
 
=ssl=
 
==certifikate generieren==
 
 
==ssl.ldif erstellen==
 
<pre>
 
dn: cn=config
 
 
add: olcTLSCACertificateFile
 
olcTLSCACertificateFile: /etc/ldap/ssl/xin-ca.crt
 
-
 
add: olcTLSCertificateFile
 
olcTLSCertificateFile: /etc/ldap/ssl/xin-ca-maria.xinux.org.crt
 
-
 
add: olcTLSCertificateKeyFile
 
olcTLSCertificateKeyFile: /etc/ldap/ssl/xin-ca-maria.xinux.org.key
 
</pre>
 
 
==konfig hinzufügen==
 
<pre>
 
ldapmodify -Y EXTERNAL -H ldapi:/// -f ssl.ldif
 
SASL/EXTERNAL authentication started
 
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
 
SASL SSF: 0
 
modifying entry "cn=config
 
</pre>
 
==ldaps freischalten==
 
*/etc/default/slapd
 
SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"
 
==slapd restart==
 
systemctl restart slapd
 
==slapd ssl check==
 
*netstat -lntp | grep 636
 
tcp        0      0 0.0.0.0:636            0.0.0.0:*              LISTEN      2204/slapd     
 
tcp6      0      0 :::636                  :::*                    LISTEN      2204/slapd
 
 
=Links=
 
*https://help.ubuntu.com/lts/serverguide/openldap-server.html
 
*https://help.ubuntu.com/community/OpenLDAPServer
 
*http://www.plone-entwicklerhandbuch.de/plone-entwicklerhandbuch/authentifizierung/ldap
 
*http://www.zytrax.com/books/ldap/
 
*https://wiki.debian.org/LDAP/OpenLDAPSetup
 
*https://darkstar.gernox.de/2012/10/28/openldap/
 
*http://www.openldap.org/doc/admin24/
 
*https://wiki.debian.org/LDAP/OpenLDAPSetup
 
*http://askubuntu.com/questions/481917/apache2-4-7-ldap-url-authentication-on-ubuntu-14-04
 
 
=Servertools=
 
==slapdadd==
 
User zur SLAPD Datenbank hinzufügen
 
 
slapadd -b dc=linuggs,dc=de -l muster.ldif
 
 
*-b: Baseroot
 
*-l: Informationen werden aus der angegebenen Datei gelsen. Nicht vom Standard-Input
 
 
slapadd -b dc=linuggs,dc=de -f slapd.conf
 
 
*-f: eine alternative slapd.conf benutzen
 
 
==slapcat==
 
Der Befehl slapcat ermöglicht die Speicherung der aktuellen LDAP-Daten in einer Textdatei im LDIF-Format
 
 
slapcat > ldapdaten.txt
 

Version vom 15. September 2022, 16:54 Uhr

Installation

passwort nach wahl festlegen
  • apt install slapd ldap-utils libldap2-dev
slapd
OpenLDAP Standalone Server
ldap-utils
Utilities zum Zugriff auf den LDAP Server

Grundkonfiguration

Ldap-61.png

Ldap-62.png

Weitere Konfiguration

  • dpkg-reconfigure -p low slapd

Ldap-63.png

Ldap-64.png

Ldap-65.png

Ldap-61.png

Ldap-62.png

Ldap-67.png

Ldap-66.png

Konfiguration des Clients

ldap.conf

  • cat /etc/ldap/ldap.conf
base            dc=it21, dc=int
uri             ldap://server.it21.int
ldap_version    3
rootbinddn      cn=admin, dc=it21, dc=int
pam_password    md5

Passwort für den Adminzugang eintragen

  • echo 123Start$ > /etc/ldap.secret

Kontrolle

Stimmt der base dn?

  • ldapsearch -x -LLL
dn: dc=it21,dc=int
objectClass: top
objectClass: dcObject
objectClass: organization
o: int21
dc: it21

Grundstruktur

Erstellen

  • cat /root/struktur.ldif
dn: ou=users,dc=it21,dc=int
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=it21,dc=int
objectClass: organizationalUnit
ou: groups

dn: ou=hosts,dc=it21,dc=int
objectClass: organizationalUnit
ou: hosts

Anlegen

ldapadd -xD cn=admin,dc=it21,dc=int -w 123Start$ -f struktur.ldif

adding new entry "ou=users,dc=it21,dc=int"
adding new entry "ou=groups,dc=it21,dc=int"
adding new entry "ou=hosts,dc=it21,dc=int"

Ldapscripts

Installation

  • apt install ldapscripts

Konfiguration

Hauptkonfiguration

  • cat /etc/ldapscripts/ldapscripts.conf
SUFFIX="dc=it21,dc=int"
GSUFFIX="ou=groups"
USUFFIX="ou=users"
MSUFFIX="ou=hosts"
BINDDN="cn=admin,dc=it21,dc=int"
USHELL="/bin/bash"
UHOMES="/home/%u"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
GIDSTART="10000" # Group ID
UIDSTART="10000" # User ID
MIDSTART="20000" # Machine ID
GCLASS="posixGroup"   # Leave "posixGroup" here if not sure !
PASSWORDGEN="pwgen"
RECORDPASSWORDS="no"
PASSWORDFILE="/var/log/ldapscripts_passwd.log"
LOGTOFILE="yes"
LOGFILE="/var/log/ldapscripts.log"
LOGTOSYSLOG="no"
SYSLOGFACILITY="local4"
SYSLOGLEVEL="info"
LDAPSEARCHBIN="/usr/bin/ldapsearch"
LDAPADDBIN="/usr/bin/ldapadd"
LDAPDELETEBIN="/usr/bin/ldapdelete"
LDAPMODIFYBIN="/usr/bin/ldapmodify"
LDAPMODRDNBIN="/usr/bin/ldapmodrdn"
LDAPPASSWDBIN="/usr/bin/ldappasswd"
LDAPSEARCHOPTS="-o ldif-wrap=no"
GETENTPWCMD=""
GETENTGRCMD=""
GTEMPLATE=""
UTEMPLATE=""
MTEMPLATE=""

Password Datei

  • echo -n "123Start$" > /etc/ldapscripts/ldapscripts.passwd

Managment

Gruppen anlegen

  • ldapaddgroup it

Benutzer anlegen

  • ldapadduser thomas it
  • ldapadduser tina it

Passwörter setzen

  • ldapsetpasswd thomas
  • ldapsetpasswd tina

nsswitch und pam anbinden

=Installation

  • env DEBIAN_FRONTEND=noninteractive apt install -yqq libnss-ldap libpam-ldap
Wir konfigurieren von Hand

Wir benutzen nur eine Konfigurationdatei

  • ln -fs /etc/ldap/ldap.conf /etc/libnss-ldap.conf
  • ln -fs /etc/ldap/ldap.conf /etc/pam_ldap.conf

Nsswitch anpassen

  • cat /etc/nsswitch.conf
passwd:         files ldap
group:          files ldap

Reboot

!!!Reboot!!!

Tests

  • getent group it
it:*:10000:
  • getent passwd thomas
thomas:*:10000:10000:thomas:/home/thomas:/bin/bash
  • getent passwd tina
tina:*:10001:10000:tina:/home/tina:/bin/bash
  • su - tina
tina@server:~$

Starten des slapd

systemctl start slapd

Stoppen des slapd

systemctl stop slapd

Neustarten des slapd

systemctl restart slapd

Auf welchem Port lauscht der slapd

netstat -lntp | grep slapd
tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN     499/slapd