Size: 35211
Comment:
|
Size: 35232
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 47: | Line 47: |
openLDAP-palvelin oli alunperin myös LTSP5-palvelin, ei pelkkä komentorivipohjainen palvelin-asennus. Tästä palvelimesta oli sammutettu dhcp3-palvelu. openLDAP-palvelin asennettiin ensin valmiiksi, vasta sitten siirryttiin muokkaamaan LTSP5-palvelinta. openLDAP-palvelimeen rakennettiin puurakenne ja base.ldif-tiedoston avulla perusasetukset käyttäjistä ja käyttäjäryhmistä. openLDAP-palvelimelle käyttäjät luotiin Webminin avulla. LTSP5-palvelimella muokattiin /etc/pam.d/-hakemiston tiedostoja siirtämään sisäänkirjautuminen openLDAP-palvelimelle. LTSP5-palvelimelta poistettiin muut kuin pääkäyttäjän tunnukset tiedostoista /etc/passwd, /etc/shadow ja /etc/group. Kun komentoriviltä varmistettiin (ldapsearch, getent), että tunnukset löytyvät openLDAP-palvlimelta, niin päästiin kokeilemaan päätteen kirjautumista openÖDAP-palvelun avulla. |
2. openLDAP-palvelin oli alunperin myös LTSP5-palvelin, ei pelkkä komentorivipohjainen palvelin-asennus. Tästä palvelimesta oli sammutettu dhcp3-palvelu. 3. openLDAP-palvelin asennettiin ensin valmiiksi, vasta sitten siirryttiin muokkaamaan LTSP5-palvelinta. 4. openLDAP-palvelimeen rakennettiin puurakenne ja base.ldif-tiedoston avulla perusasetukset käyttäjistä ja käyttäjäryhmistä. 5. openLDAP-palvelimelle käyttäjät luotiin Webminin avulla. 6. LTSP5-palvelimella muokattiin /etc/pam.d/-hakemiston tiedostoja siirtämään sisäänkirjautuminen openLDAP-palvelimelle. 7. LTSP5-palvelimelta poistettiin muut kuin pääkäyttäjän tunnukset tiedostoista /etc/passwd, /etc/shadow ja /etc/group. 8. Kun komentoriviltä varmistettiin (ldapsearch, getent), että tunnukset löytyvät openLDAP-palvlimelta, niin päästiin kokeilemaan päätteen kirjautumista openÖDAP-palvelun avulla. |
SisällysluetteloBRTableOfContents(3) |
@ Mikael: teen vielä tämän päivän (22.1) näitä siirroksia asetustiedostoista, lisäksi käytän kummankin koneen bash_history-tiedostoja, joista yritän nähdä mitä kulloinkin teit, sieltä saan myös komentorivikäskyjä, joita käytit.
Bash_history yms tiedostot ovat täällä: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/
Laita huomenna (23.1) omat kommenttisi ja korjauksesi tänne sekaan. Kun saamme tämän jotenkin kasaan, niin yritän tämän pohjalta tehdä vielä puhtaan openLDAP-asennuksen LTSP5:n jatkoksi.
Pudotin myös NFS-jaon pois. Siihen liittyvät PAM-tiedosto/asetukset ovat tässä mukana, kommentoi ne pois huomenna.
Yritän myös palauttaa NFS-asetukset jossain vaiheessa, palvelimeksi tulee tällöin 192.168.1.110 (jossa on varsinaisesti MythTV).
Kiitos, Asmo.
LTSP5 - openLDAP
Tämä ohje on tarkoitettu Ubuntu 8.04.1-versiolla. Ohje perustuu asennukseen, joka tehtiin Valamossa LTSP5-työpajassa tammikuussa 2009. Asennuksen teki Mikael Lammentausta.
Tämä ohje ei ole perinteinen "Leikkaa ja liimaa"-tyyppinen, vaan pikemminkin mahdollisimman tarkka kuvaus yhdestä toimivasta LTSP5-openLDAP-palvelinyhdistelmästä.
Toivomme, että lähtien liikkeelle tästä peruskuvauksesta saamme luoduksi monipuolisen ohjeen koskien openLDAP-käyttöä LTSP5-ympäristössä.
tarkoituksemme on kuitenkin tehdä myös varsinainen asennusohje openLDAP-palvelimesta LTSP5-ympäristössä.
Tässä ohjeessa edellytetään, että käytössä on kaksi palvelinkonetta, jossa ensimmäiseen on ensin asennettu täysin toimiva LTSP5-ympäristö. Toiseen koneeseen riittää pelkkä Ubuntu 8.04.1-asennus. Näissä kahdessa palvelinkoneessa on yksi verkkokortti kummassakin. Perusasennuksen jälkeen tässä ohjeessa on käytetty seuraavanlaista lähiverkkoa. LTSP5-perusasennuksesta, tosin kahdella verkkokortilla, löytyy oma ohjeensa: http://wiki.ubuntu-fi.org/LTSP5_Perusasennus.
http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/LTSP5-openLDAP.gif
ADSL-modeemi jakaa LAN-reitittimelle/kytkimelle ip-osoitteen (192.168.0.100). Lähiverkkoon päin LAN-reititin/kytkin näkyy ip-osoitteessa 192.168.1.1. Tämä LAN-reititin/kytkin tarjoaa myös nimipalvelut.
LTSP5-palvelin on 192.168.1.101.
openLDAP-palvelin on 192.168.1.102.
Pääte, jolle on annettu kiinteä ip-osoite MAC-osoitteen perusteella, on 192.168.1.200. Pääte kirjautuu automaattisesti sisään palvelimelle.
Kuvaus asennusjärjestyksestä
Seuraavassa on kuvaus siitä, miten asennus eteni Valamon työpajassa.
/etc/pam.d-hakemiston tiedostoihin kajoaminen on ärrimmäisen kriittistä. On mahdollista asettaa LTSP5-palvelin sellaiseen tilaan, että sisäänkirjautuminen ei ole enää mahdollista millään tunnuksella. Tähän varauduttiin avaamalla konsoliin (Ctrl-Alt-F1) root-tunnus!
- LTSP5-palvelin oli etukäteen asennettu valmiiksi ja toimivaksi.
- openLDAP-palvelin oli alunperin myös LTSP5-palvelin, ei pelkkä komentorivipohjainen palvelin-asennus. Tästä palvelimesta oli sammutettu dhcp3-palvelu.
- openLDAP-palvelin asennettiin ensin valmiiksi, vasta sitten siirryttiin muokkaamaan LTSP5-palvelinta.
- openLDAP-palvelimeen rakennettiin puurakenne ja base.ldif-tiedoston avulla perusasetukset käyttäjistä ja käyttäjäryhmistä.
- openLDAP-palvelimelle käyttäjät luotiin Webminin avulla.
- LTSP5-palvelimella muokattiin /etc/pam.d/-hakemiston tiedostoja siirtämään sisäänkirjautuminen openLDAP-palvelimelle.
- LTSP5-palvelimelta poistettiin muut kuin pääkäyttäjän tunnukset tiedostoista /etc/passwd, /etc/shadow ja /etc/group.
- Kun komentoriviltä varmistettiin (ldapsearch, getent), että tunnukset löytyvät openLDAP-palvlimelta, niin päästiin kokeilemaan päätteen kirjautumista openÖDAP-palvelun avulla.
Lähiverkon perusasetukset
Tässä ohjeessa on käytetty seuraavanlaisia asetustiedostoja, alla on ensin LTSP5-palvelin ja sen jälkeen openLDAP-palvelin.
LTSP5-palvelin, verkkoasetukset - 192.168.1.101
root@ubuntu:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.101 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.1.1 root@ubuntu:~#
root@ubuntu:~# cat /etc/ltsp/dhcpd.conf # # Default LTSP dhcpd.conf config file. # authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.150 192.168.1.200; option domain-name "ubuntu"; option domain-name-servers 192.168.1.1; option broadcast-address 192.168.1.255; option routers 192.168.1.1; # next-server 192.168.0.1; # get-lease-hostnames true; option subnet-mask 255.255.255.0; option root-path "/opt/ltsp/i386"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } host ltsp001 { hardware ethernet 00:22:15:15:4B:4C; fixed-address 192.168.1.200; } } root@ubuntu:~#
root@ubuntu:~# cat /var/lib/tftpboot/ltsp/i386/lts.conf [00:22:15:15:4B:4C] X_CONF = /etc/X11/asus-eee-xorg.conf X_COLOR_DEPTH=16 LDM_DIRECX=True LDM_AUTOLOGIN=True LDM_USERNAME=ltsp001 LDM_PASSWORD=edubuntu root@ubuntu:~#
root@ubuntu:~# cat /etc/ldap/ldap.conf ############### # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=ubuntu,dc=fi URI ldap://192.168.1.102 root@ubuntu:~#
root@ubuntu:~# cat /etc/ldap.conf ###DEBCONF### ## ## Configuration of this file will be managed by debconf as long as the ## first line of the file says '###DEBCONF###' ## ## You should use dpkg-reconfigure to configure this file via debconf ## # The distinguished name of the search base. base dc=ubuntu,dc=fi # Another way to specify your LDAP server is to provide an uri ldap://192.168.1.102 # The LDAP version to use (defaults to 3 # if supported by client library) ldap_version 3 # The distinguished name to bind to the server with # if the effective user ID is root. Password is # stored in /etc/ldap.secret (mode 600) rootbinddn cn=manager,dc=ubuntu,dc=fi # Do not hash the password at all; presume # the directory server will do it, if # necessary. This is the default. pam_password md5 nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,daemon,dhcp,dhcpd,games,gdm,gnats,haldaemon,hplip,irc,klog,libuuid,list,lp,mail,man,messagebus,nbd,news,ntp,nx,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data root@ubuntu:/etc#
root@ubuntu:/etc# cat ldap.secret TP2009ltsp root@ubuntu:/etc#
root@ubuntu:~# cat /etc/nsswitch.conf #################### # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis root@ubuntu:~#
root@ubuntu:~# getent passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh dhcp:x:101:102::/nonexistent:/bin/false syslog:x:102:103::/home/syslog:/bin/false klog:x:103:104::/home/klog:/bin/false hplip:x:104:7:HPLIP system user,,,:/var/run/hplip:/bin/false avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false gdm:x:106:114:Gnome Display Manager:/var/lib/gdm:/bin/false pulse:x:107:116:PulseAudio daemon,,,:/var/run/pulse:/bin/false messagebus:x:108:119::/var/run/dbus:/bin/false avahi:x:109:120:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false polkituser:x:110:122:PolicyKit,,,:/var/run/PolicyKit:/bin/false haldaemon:x:111:123:Hardware abstraction layer,,,:/var/run/hald:/bin/false dhcpd:x:112:124::/nonexistent:/bin/false nbd:x:113:125::/etc/nbd-server:/bin/false sshd:x:114:65534::/var/run/sshd:/usr/sbin/nologin admin-ubuntu:x:1000:1000:Administrator Ubuntu,,,:/root/admin-ubuntu:/bin/bash nx:x:115:127:FreeNX Server,,,:/var/lib/nxserver/home/:/usr/bin/nxserver ntp:x:116:128::/home/ntp:/bin/false statd:x:117:65534::/var/lib/nfs:/bin/false ltsp001:x:1001:10000:LTSP 001:/home/ltsp001:/bin/bash ltsp002:x:1002:10000:LTSP 002:/home/ltsp002:/bin/bash ltsp003:x:1003:10000:LTSP 003:/home/ltsp003:/bin/bash ltsp004:x:1004:10000:LTSP 004:/home/ltsp004:/bin/bash ltsp005:x:1005:10000:LTSP 005:/home/ltsp005:/bin/bash ltsp006:x:1006:10000:LTSP 006:/home/ltsp006:/bin/bash ltsp007:x:1007:10000:LTSP 007:/home/ltsp007:/bin/bash ltsp008:x:1008:10000:LTSP 008:/home/ltsp008:/bin/bash ltsp009:x:1009:10000:LTSP 009:/home/ltsp009:/bin/bash ltsp010:x:1010:10000:LTSP 010:/home/ltsp010:/bin/bash ltsp011:x:1011:10000:LTSP 011:/home/ltsp011:/bin/bash ltsp012:x:1012:10000:LTSP 012:/home/ltsp012:/bin/bash ltsp013:x:1013:10000:LTSP 013:/home/ltsp013:/bin/bash ltsp014:x:1014:10000:LTSP 014:/home/ltsp014:/bin/bash ltsp015:x:1015:10000:LTSP 015:/home/ltsp015:/bin/bash ltsp016:x:1016:10000:LTSP 016:/home/ltsp016:/bin/bash ltsp017:x:1017:10000:LTSP 017:/home/ltsp017:/bin/bash ltsp018:x:1018:10000:LTSP 018:/home/ltsp018:/bin/bash ltsp019:x:1019:10000:LTSP 019:/home/ltsp019:/bin/bash ltsp020:x:1020:10000:LTSP 020:/home/ltsp020:/bin/bash ltsp021:x:1021:10000:LTSP 021:/home/ltsp021:/bin/bash ltsp022:x:1022:10000:LTSP 022:/home/ltsp022:/bin/bash ltsp023:x:1023:10000:LTSP 023:/home/ltsp023:/bin/bash ltsp024:x:1024:10000:LTSP 024:/home/ltsp024:/bin/bash ltsp025:x:1025:10000:LTSP 025:/home/ltsp025:/bin/bash ltsp026:x:1026:10000:LTSP 026:/home/ltsp026:/bin/bash ltsp027:x:1027:10000:LTSP 027:/home/ltsp027:/bin/bash ltsp028:x:1028:10000:LTSP 028:/home/ltsp028:/bin/bash ltsp029:x:1029:10000:LTSP 029:/home/ltsp029:/bin/bash root@ubuntu:~#
LTSP5-palvelin - PAM
root@ubuntu:/etc/pam.d# cat common-auth # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # #auth requisite pam_unix.so nullok_secure #auth optional pam_smbpass.so migrate missingok ### PAIKALLISET HAKEMISTOT #auth required pam_env.so #auth sufficient pam_unix.so likeauth nullok try_first_pass #auth sufficient pam_ldap.so use_first_pass #auth required pam_deny.so ### NFS-HAKEMISTOT auth required pam_mount.so auth required pam_env.so auth sufficient pam_unix.so likeauth nullok use_first_pass auth sufficient pam_ldap.so try_first_pass auth required pam_deny.so root@ubuntu:/etc/pam.d#
root@ubuntu:/etc/pam.d# cat common-account # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # #account required pam_unix.so account sufficient pam_unix.so account sufficient pam_ldap.so root@ubuntu:/etc/pam.d#
root@ubuntu:/etc/pam.d# cat common-account # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # #account required pam_unix.so account sufficient pam_unix.so account sufficient pam_ldap.so root@ubuntu:/etc/pam.d#
root@ubuntu:/etc/pam.d# cat common-session # # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # #session required pam_unix.so ### PAIKALLISET HAKEMISTOT #session required pam_limits.so #session required pam_unix.so ##Creates the home directories if they do not exist #session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 #session optional pam_ldap.so ### NFS session required pam_limits.so session required pam_unix.so session optional pam_mount.so shadow md5 use_authtok session optional pam_ldap.so root@ubuntu:/etc/pam.d#
openLDAP-palvelin, verkkoasetukset - 192.168.1.102
root@ubuntu:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.102 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.1.1 root@ubuntu:~#
openLDAP-asetustiedostot
openLDAP-puurakenne
dc=fi | dc=ubuntu----| | | ou=Users ou=Groups | | | cn=Users | cn=ltsp001 ...
Näistä tiedostoista on poistettu osa kommenttiriveistä, #-merkillä alkavat, luettavuuden parantamiseksi.
LTSP5-palvelimen pääkäyttäjän tunnus on itse palvelimella eli passwd-tiedostossa.
root@ubuntu:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash [--] admin-ubuntu:x:1000:1000:Administrator Ubuntu,,,:/root/admin-ubuntu:/bin/bash [--] root@ubuntu:~#
/etc/ldap/slapd.conf
Tämä konfiguraatiotiedosto määrittää LDAP-palvelimen asetukset. Konfiguraatio mm. sisältää LDAPin hallinnoijan tunnuksen (rootdn) sekä salasanan kryptatussa muodossa.
root@ubuntu:~# cat /etc/ldap/slapd.conf #################### # Global Directives: # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel none modulepath /usr/lib/ldap moduleload back_hdb sizelimit 500 tool-threads 1 ###################################### # Specific Backend Directives for hdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend hdb ################################################### # Specific Directives for database #1, of type hdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database hdb # The base of your directory in database #1 suffix "dc=ubuntu,dc=fi" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn "cn=manager,dc=ubuntu,dc=fi" # Where the database file are physically stored for database #1 directory "/var/lib/ldap" password-hash {crypt} rootpw {MD5}gonsh+ULQWhKd6JXdMo4kQ== # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Number of objects that can be locked at the same time. dbconfig set_lk_max_objects 1500 # Number of locks (both requested and granted) dbconfig set_lk_max_locks 1500 # Number of lockers dbconfig set_lk_max_lockers 1500 # Indexing options for database #1 index objectClass eq # Save the time that the entry gets modified, for database #1 lastmod on # Checkpoint the BerkeleyDB database periodically in case of system # failure and to speed slapd shutdown. checkpoint 512 30 # Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,shadowLastChange by dn="cn=manager,dc=ubuntu,dc=fi" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=manager,dc=ubuntu,dc=fi" write by * read root@ubuntu:~#
/root/base.ldif
Tämä tiedosto sisältää juurirakenteen (sekä yhden testikäyttäjän). Missä komento jolla se ladataan? Voiko latauksen tai rakenteen määrityksen tehdä webminillä?
root@ubuntu:~# cat /root/base.ldif dn: dc=ubuntu,dc=fi objectclass: organization objectclass: dcObject o: LTSP-paja dc: ubuntu description: LTSP-tyopajan oma domain dn: ou=Hosts,dc=ubuntu,dc=fi ou: Hosts objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja dn: ou=People,dc=ubuntu,dc=fi ou: People objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja dn: ou=Groups,dc=ubuntu,dc=fi ou: Groups objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja dn: uid=ltsp001,ou=People,dc=ubuntu,dc=fi objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: ltsp001 sn: Doe givenName: John cn: John Doe displayName: John Doe uidNumber: 1000 gidNumber: 10000 userPassword: edubuntu gecos: John Doe loginShell: /bin/bash homeDirectory: /home/ltsp001 shadowExpire: -1 shadowFlag: 0 shadowWarning: 7 shadowMin: 8 shadowMax: 999999 shadowLastChange: 10877 mail: john.doe@example.com postalCode: 31000 l: Valamo o: LTSP-paja mobile: +33 (0)6 xx xx xx xx homePhone: +33 (0)5 xx xx xx xx title: Teppo Testaaja postalAddress: initials: JD dn: cn=users,ou=Groups,dc=ubuntu,dc=fi objectClass: posixGroup cn: users gidNumber: 10000 root@ubuntu:~#
Webmin - webmin-openldap-users.txt
Uusia käyttäjiä voi ladata Webminillä.
create:ltsp001:edubuntu:1001:10000:LTSP 001:/home/ltsp001:/bin/bash::::: create:ltsp002:edubuntu:1002:10000:LTSP 002:/home/ltsp002:/bin/bash::::: create:ltsp003:edubuntu:1003:10000:LTSP 003:/home/ltsp003:/bin/bash::::: create:ltsp004:edubuntu:1004:10000:LTSP 004:/home/ltsp004:/bin/bash::::: create:ltsp005:edubuntu:1005:10000:LTSP 005:/home/ltsp005:/bin/bash::::: create:ltsp006:edubuntu:1006:10000:LTSP 006:/home/ltsp006:/bin/bash::::: create:ltsp007:edubuntu:1007:10000:LTSP 007:/home/ltsp007:/bin/bash::::: create:ltsp008:edubuntu:1008:10000:LTSP 008:/home/ltsp008:/bin/bash::::: create:ltsp009:edubuntu:1009:10000:LTSP 009:/home/ltsp009:/bin/bash::::: create:ltsp010:edubuntu:1010:10000:LTSP 010:/home/ltsp010:/bin/bash::::: create:ltsp011:edubuntu:1011:10000:LTSP 011:/home/ltsp011:/bin/bash::::: create:ltsp012:edubuntu:1012:10000:LTSP 012:/home/ltsp012:/bin/bash::::: create:ltsp013:edubuntu:1013:10000:LTSP 013:/home/ltsp013:/bin/bash::::: create:ltsp014:edubuntu:1014:10000:LTSP 014:/home/ltsp014:/bin/bash::::: create:ltsp015:edubuntu:1015:10000:LTSP 015:/home/ltsp015:/bin/bash::::: create:ltsp016:edubuntu:1016:10000:LTSP 016:/home/ltsp016:/bin/bash::::: create:ltsp017:edubuntu:1017:10000:LTSP 017:/home/ltsp017:/bin/bash::::: create:ltsp018:edubuntu:1018:10000:LTSP 018:/home/ltsp018:/bin/bash::::: create:ltsp019:edubuntu:1019:10000:LTSP 019:/home/ltsp019:/bin/bash::::: create:ltsp020:edubuntu:1020:10000:LTSP 020:/home/ltsp020:/bin/bash::::: create:ltsp021:edubuntu:1021:10000:LTSP 021:/home/ltsp021:/bin/bash::::: create:ltsp022:edubuntu:1022:10000:LTSP 022:/home/ltsp022:/bin/bash::::: create:ltsp023:edubuntu:1023:10000:LTSP 023:/home/ltsp023:/bin/bash::::: create:ltsp024:edubuntu:1024:10000:LTSP 024:/home/ltsp024:/bin/bash::::: create:ltsp025:edubuntu:1025:10000:LTSP 025:/home/ltsp025:/bin/bash::::: create:ltsp026:edubuntu:1026:10000:LTSP 026:/home/ltsp026:/bin/bash::::: create:ltsp027:edubuntu:1027:10000:LTSP 027:/home/ltsp027:/bin/bash::::: create:ltsp028:edubuntu:1028:10000:LTSP 028:/home/ltsp028:/bin/bash::::: create:ltsp029:edubuntu:1029:10000:LTSP 029:/home/ltsp029:/bin/bash:::::
/etc/ldap/ldap.conf
Tämä konfiguraatio on openLDAP-asiakasta varten (ldapsearch).
root@ubuntu:~# cat /etc/ldap/ldap.conf ############### # LDAP Defaults # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=ubuntu,dc=fi URI ldap://192.168.1.102 root@ubuntu:~#
root@ubuntu:~# cat /etc/ldap.conf ###DEBCONF### ## ## Configuration of this file will be managed by debconf as long as the ## first line of the file says '###DEBCONF###' ## ## You should use dpkg-reconfigure to configure this file via debconf ## # The distinguished name of the search base. base dc=ubuntu,dc=fi # Another way to specify your LDAP server is to provide an uri ldap:///192.168.1.102 # The LDAP version to use (defaults to 3 # if supported by client library) ldap_version 3 # The distinguished name to bind to the server with. # Optional: default is to bind anonymously. binddn cn=manager,dc=ubuntu,dc=fi # The credentials to bind with. # Optional: default is no credential. bindpw TP2009ltsp # The distinguished name to bind to the server with # if the effective user ID is root. Password is # stored in /etc/ldap.secret (mode 600) rootbinddn cn=manager,dc=ubuntu,dc=fi # The search scope. scope sub # Do not hash the password at all; presume # the directory server will do it, if # necessary. This is the default. pam_password md5 # RFC2307bis naming contexts # Syntax: # nss_base_XXX base?scope?filter # where scope is {base,one,sub} # and filter is a filter to be &'d with the # default filter. # You can omit the suffix eg: # nss_base_passwd ou=People, # to append the default base DN but this # may incur a small performance impact. nss_base_passwd ou=People,dc=ubuntu,dc=fi?one nss_base_shadow ou=People,dc=ubuntu,dc=fi?pne nss_base_group ou=Groups,dc=ubuntu,dc=fi?one nss_base_hosts ou=Hosts,dc=ubuntu,dc=fi?one # SASL mechanism for PAM authentication - use is experimental # at present and does not support password policy control #pam_sasl_mech DIGEST-MD5 nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,daemon,dhcp,dhcpd,games,gdm,gnats,haldaemon,hplip,irc,klog,libuuid,list,lp,mail,man,messagebus,nbd,news,ntp,nx,openldap,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data root@ubuntu:~#
root@ubuntu:~# cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis root@ubuntu:~#
root@ubuntu:~# cat /etc/ldap.secret TP2009ltsp root@ubuntu:~#
root@ubuntu:/etc/pam.d# cat common-account common-auth common-password common-session # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # #account required pam_unix.so account sufficient pam_unix.so account sufficient pam_ldap.so # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # #auth requisite pam_unix.so nullok_secure #auth optional pam_smbpass.so migrate missingok ### PAIKALLISET HAKEMISTOT #auth required pam_env.so #auth sufficient pam_unix.so likeauth nullok try_first_pass #auth sufficient pam_ldap.so use_first_pass #auth required pam_deny.so ### NFS-HAKEMISTOT auth required pam_mount.so auth required pam_env.so auth sufficient pam_unix.so likeauth nullok use_first_pass auth sufficient pam_ldap.so try_first_pass auth required pam_deny.so # # /etc/pam.d/common-password - password-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define the services to be # used to change user passwords. The default is pam_unix. # Explanation of pam_unix options: # # The "nullok" option allows users to change an empty password, else # empty passwords are treated as locked accounts. # # The "md5" option enables MD5 passwords. Without this option, the # default is Unix crypt. # # The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in # login.defs. # # You can also use the "min" option to enforce the length of the new # password. # # See the pam_unix manpage for other options. #password requisite pam_unix.so nullok obscure md5 # Alternate strength checking for password. Note that this # requires the libpam-cracklib package to be installed. # You will need to comment out the password line above and # uncomment the next two in order to use this. # (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH') # # password required pam_cracklib.so retry=3 minlen=6 difok=3 # password required pam_unix.so use_authtok nullok md5 # minimally-intrusive inclusion of smbpass in the stack for # synchronization. If the module is absent or the passwords don't # match, this module will be ignored without prompting; and if the # passwords do match, the NTLM hash for the user will be updated # automatically. #password optional pam_smbpass.so nullok use_authtok use_first_pass missingok ### PAIKALLISET HAKEMISTOT #password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 #password sufficient pam_unix.so nullok md5 shadow use_authtok #password sufficient pam_ldap.so use_authtok #password required pam_deny.so ### NFS password required pam_mount.so use_authtok shadow md5 password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_authtok md5 password required pam_deny.so # # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # #session required pam_unix.so ### PAIKALLISET HAKEMISTOT #session required pam_limits.so #session required pam_unix.so ##Creates the home directories if they do not exist #session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 #session optional pam_ldap.so ### NFS session required pam_limits.so session required pam_unix.so session optional pam_mount.so shadow md5 use_authtok session optional pam_ldap.so root@ubuntu:/etc/pam.d#
/usr/bin/ldapsearch
Testataan saadaanko tietoja palvelimelta.
root@ubuntu:~# ldapsearch -x -D "cn=manager,dc=ubuntu,dc=fi" -W > ldapsearch.txt
# extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # ubuntu.fi dn: dc=ubuntu,dc=fi objectClass: organization objectClass: dcObject o: LTSP-paja dc: ubuntu description: LTSP-tyopajan oma domain # Hosts, ubuntu.fi dn: ou=Hosts,dc=ubuntu,dc=fi ou: Hosts objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja # People, ubuntu.fi dn: ou=People,dc=ubuntu,dc=fi ou: People objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja # Groups, ubuntu.fi dn: ou=Groups,dc=ubuntu,dc=fi ou: Groups objectClass: top objectClass: organizationalUnit objectClass: domainRelatedObject associatedDomain: paja # users, Groups, ubuntu.fi dn: cn=users,ou=Groups,dc=ubuntu,dc=fi objectClass: posixGroup cn: users gidNumber: 10000 # ltsp001, People, ubuntu.fi dn: uid=ltsp001,ou=People,dc=ubuntu,dc=fi cn: LTSP 001 uid: ltsp001 uidNumber: 1001 loginShell: /bin/bash homeDirectory: /home/ltsp001 gidNumber: 10000 userPassword:: e2NyeXB0fVNNWEZodUZEeWh2M1k= shadowLastChange: 14252 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 001 # ltsp002, People, ubuntu.fi dn: uid=ltsp002,ou=People,dc=ubuntu,dc=fi cn: LTSP 002 uid: ltsp002 uidNumber: 1002 loginShell: /bin/bash homeDirectory: /home/ltsp002 gidNumber: 10000 userPassword:: e2NyeXB0fUhRbUpjWkxBSFNMNW8= shadowLastChange: 14252 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 002 [--] # ltsp029, People, ubuntu.fi dn: uid=ltsp029,ou=People,dc=ubuntu,dc=fi cn: LTSP 029 uid: ltsp029 uidNumber: 1029 loginShell: /bin/bash homeDirectory: /home/ltsp029 gidNumber: 10000 userPassword:: e2NyeXB0fVdHbFhRRDZrVmFrTlE= shadowLastChange: 14252 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 029 # search result search: 2 result: 0 Success # numResponses: 35 # numEntries: 34
/var/log
LTSP-palvelin
Jan 22 10:06:27 ubuntu dhcpd: DHCPDISCOVER from 00:22:15:15:4b:4c via eth0 Jan 22 10:06:27 ubuntu dhcpd: DHCPOFFER on 192.168.1.200 to 00:22:15:15:4b:4c via eth0 Jan 22 10:06:27 ubuntu dhcpd: Dynamic and static leases present for 192.168.1.200. Jan 22 10:06:27 ubuntu dhcpd: Remove host declaration ltsp001 or remove 192.168.1.200 Jan 22 10:06:27 ubuntu dhcpd: from the dynamic address pool for 192.168.1/24 Jan 22 10:06:27 ubuntu dhcpd: DHCPREQUEST for 192.168.1.200 (192.168.1.102) from 00:22:15:15:4b:4c via eth0 Jan 22 10:06:27 ubuntu dhcpd: DHCPACK on 192.168.1.200 to 00:22:15:15:4b:4c via eth0 Jan 22 10:06:27 ubuntu nbdrootd[6335]: connect from 192.168.1.200 (192.168.1.200) Jan 22 10:06:27 ubuntu nbd_server[6336]: connect from 192.168.1.200, assigned file is /opt/ltsp/images/i386.img Jan 22 10:06:27 ubuntu nbd_server[6336]: Size of exported file/device is 556453888 Jan 22 10:06:52 ubuntu ldminfod[6586]: connect from 192.168.1.200 (192.168.1.200)
Jan 22 10:06:58 ubuntu sshd[6589]: Accepted password for ltsp001 from 192.168.1.200 port 35580 ssh2 Jan 22 10:06:58 ubuntu sshd[6591]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0) Jan 22 10:06:58 ubuntu sshd[6591]: pam_mount(mount.c:182) realpath of volume "/home/ltsp001" is "/home/ltsp001" Jan 22 10:07:33 ubuntu sshd[6591]: pam_mount(pam_mount.c:538) mount of /nfs/ltsp001 failed
openLDAP-palvelin
Jan 22 11:56:18 ubuntu sshd[6392]: Accepted password for admin-ubuntu from 192.168.1.101 port 50307 ssh2 Jan 22 11:56:18 ubuntu sshd[6394]: pam_unix(sshd:session): session opened for user admin-ubuntu by (uid=0) Jan 22 11:56:18 ubuntu sshd[6394]: pam_mount(mount.c:182) realpath of volume "/root/admin-ubuntu" is "/root/admin-ubuntu" Jan 22 11:56:53 ubuntu sshd[6394]: pam_mount(pam_mount.c:538) mount of /nfs/admin-ubuntu failed