Differences between revisions 40 and 41
Revision 40 as of 2009-01-22 09:15:02
Size: 31472
Editor: AsmoKoskinen
Comment:
Revision 41 as of 2009-01-22 09:25:19
Size: 32950
Editor: AsmoKoskinen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 979: Line 979:

== /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 ===

SisällysluetteloBRTableOfContents(3)

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.


@ 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. 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.

Kiitos, Asmo.


  • Tämä ohje ei ole leikkaa-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ä.

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äytössä 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.

Palvelin, jossa on LTSP5-ympäristö, on 192.168.1.101.

Palvelin, jossa on openLDAP, on 192.168.1.102.

Pääte, jolle on annettu kiinteä ip-osoite MAC-osoitteen perusteella, on 192.168.1.200. Pääte myös kirjautuu automaattisesti.

Lähiverkon perusasetukset

Tässä ohjeessa on käytetty seuraavanlaisia asetustiedostoja.

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