Size: 37289
Comment:
|
← Revision 115 as of 2011-09-20 05:28:17 ⇥
Size: 35506
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
||<tablebgcolor="#dcc585" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="border: 1px solid black; padding: 0.5em;">'''Sisällysluettelo'''[[BR]][[TableOfContents(3)]] || ---- 1. Bash_history yms tiedostot ovat täällä: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/ 2. Kun saamme tämän jotenkin kasaan, niin yritän tämän pohjalta tehdä vielä puhtaan openLDAP-asennuksen LTSP5:n jatkoksi. 3. Pudotin NFS-jaon pois. Poistin myös nfs-jakoon liittyvät asetukset pam-dhakemistossa, nyt pääte kirjautuu automaattisesti ja kotihakemisto on LTSP5-palvelimen /home-hakemistossa. Ei virheilmoituksia. Paketin "libpam-cracklib" asennus auttoi, ei enää virheilmoituksia myöskään siitä. Muokatut pam.d-tiedostot ovat täällä: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-without-nfs/ {{{ Jan 24 15:38:48 ubuntu sshd[6667]: Accepted password for ltsp001 from 192.168.1.200 port 39947 ssh2 Jan 24 15:38:48 ubuntu sshd[6669]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0) }}} 4. Yritän palauttaa NFS-asetukset jossain vaiheessa, palvelimeksi tulee tällöin 192.168.1.111 (jossa on varsinaisesti MythTV). Hyvä kuvaus ldap/ad-ympäristöstä: http://www.wpk.tpu.fi/Tutkinto/3%20tyot/Jari%20Hyyti%C3%A4inen/tutkintotyo_hyytiainen.pdf = TEHTÄVÄÄ = Tietoturva on vielä heikko. Sitä on parannettava seuraavilla asioilla: /!\ binddn - selauskäyttäjä, jolla ei ole kirjoitusoikeuksia Käytin tätä ohjetta: http://home.subnet.at/~max/ldap/ 1. Loin nss.ldif-tiedoston ja sen avulla uuden haaran puurakenteeseen. {{{ root@ubuntu:~# cat nss.ldif dn: cn=nss, dc=ubuntu,dc=fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword: {CRYPT}BzGwbmUEHZj8E root@ubuntu:~# }}} Muokkasin sekä openLDAP-palvelimen slapd.conf-tiedostoa että LTSP5-palvelimen ldap.conf-tiedostoa. Alla vain "cn=nss"-muokatut kohdat. {{{ # Read slapd.conf(5) for possible values loglevel 256 # 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 # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=manager,dc=ubuntu,dc=fi" write by dn="cn=nss,dc=ubuntu,dc=fi" read by * auth root@ubuntu:~# }}} {{{ root@ubuntu:~# cat /etc/ldap.conf # The distinguished name to bind to the server with. # Optional: default is to bind anonymously. binddn cn=nss,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 # 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 nss_base_group ou=Group,dc=ubuntu,dc=fi #nss_base_passwd ou=People,dc=padl,dc=com?one #nss_base_shadow ou=People,dc=padl,dc=com?one #nss_base_group ou=Group,dc=padl,dc=com?one #nss_base_hosts ou=Hosts,dc=padl,dc=com?one #nss_base_services ou=Services,dc=padl,dc=com?one #nss_base_networks ou=Networks,dc=padl,dc=com?one #nss_base_protocols ou=Protocols,dc=padl,dc=com?one #nss_base_rpc ou=Rpc,dc=padl,dc=com?one #nss_base_ethers ou=Ethers,dc=padl,dc=com?one #nss_base_netmasks ou=Networks,dc=padl,dc=com?ne #nss_base_bootparams ou=Ethers,dc=padl,dc=com?one #nss_base_aliases ou=Aliases,dc=padl,dc=com?one #nss_base_netgroup ou=Netgroup,dc=padl,dc=com?one root@ubuntu:~# }}} Ldapsearch - cn=nss {{{ root@ubuntu:~# ldapsearch -x -D "cn=nss,dc=ubuntu,dc=fi" -W -u "cn=nss" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: cn=nss # requesting: ALL # # nss, ubuntu.fi dn: cn=nss,dc=ubuntu,dc=fi ufn: nss, ubuntu.fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword:: e0NSWVBUfUJ6R3dibVVFSFpqOEU= # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 root@ubuntu:~# }}} Log {{{ Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 fd=53 ACCEPT from IP=192.168.1.101:51363 (IP=0.0.0.0:389) Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=0 BIND dn="cn=nss,dc=ubuntu,dc=fi" method=128 Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=0 BIND dn="cn=nss,dc=ubuntu,dc=fi" mech=SIMPLE ssf=0 Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=0 RESULT tag=97 err=0 text= Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=1 SRCH base="ou=People,dc=ubuntu,dc=fi" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=ltsp001))" Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=1 SRCH attr=uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos description objectClass Jan 25 17:06:16 ubuntu slapd[5286]: <= bdb_equality_candidates: (uid) not indexed Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= Jan 25 17:06:16 ubuntu slapd[5286]: conn=485 fd=53 closed (connection lost) }}} ---- /!\ SSL-sertifikaatit ja salattu tietoliikenne - nyt salasanat ym tiedot kulkevat salaamatta eikä eritellä mitkä koneet saavat suorittaa kyselyjä Ohjeet SSL-sertifikaattien ja SASL-salauksen käyttöönottoon on kuvattu täällä: http://openlab.savonia-amk.fi/wiki/index.php/HOWTO_OpenLDAP ---- = LTSP5 - openLDAP = |
||<tablebgcolor="#dcc585" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="border: 1px solid black; padding: 0.5em;">'''Sisällysluettelo'''<<BR>><<TableOfContents(3)>> || = LTSP5 - OpenLDAP = |
Line 175: | Line 7: |
/!\ Tämä ohje ei ole perinteinen "Leikkaa ja liimaa"-tyyppinen, vaan pikemminkin mahdollisimman tarkka kuvaus yhdestä toimivasta LTSP5-openLDAP-palvelinyhdistelmästä. {i} Toivomme, että lähtien liikkeelle tästä peruskuvauksesta saamme luoduksi monipuolisen ohjeen koskien openLDAP-käyttöä LTSP5-ympäristössä. {i} 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 {OK} 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. {OK} LTSP5-palvelin on '''192.168.1.101'''. {OK} openLDAP-palvelin on '''192.168.1.102'''. {OK} Pääte, jolle on annettu kiinteä ip-osoite MAC-osoitteen perusteella, on '''192.168.1.200'''. Pääte kirjautuu automaattisesti sisään palvelimelle. |
/!\ Tämä ohje ei ole perinteinen "Leikkaa ja liimaa"-tyyppinen, vaan pikemminkin mahdollisimman tarkka kuvaus yhdestä toimivasta LTSP5-openLDAP-palvelinyhdistelmästä. /!\ Tästä ohjeesta puuttuu SSL-sertifikaattien ja SASL-salauksen asennuksen ja käytön kuvaus sekä kotihakemistojen NFS-palvelimen asennuksen ja käytön kuvaus. {i} Toivomme, että lähtien liikkeelle tästä peruskuvauksesta saamme luoduksi monipuolisen ohjeen koskien openLDAP-käyttöä LTSP5-ympäristössä. Tarkoituksemme on tehdä myös perinteinen "Leikkaa ja liimaa"-tyyppinen asennusohje openLDAP-palvelimesta LTSP5-ympäristössä. Tässä ohjeessa on käytössä 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}} {OK} 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. {OK} LTSP5-palvelin on '''192.168.1.101'''. {OK} openLDAP-palvelin on '''192.168.1.102'''. {OK} Pääte, jolle on annettu kiinteä ip-osoite MAC-osoitteen perusteella, on '''192.168.1.200'''. Pääte kirjautuu automaattisesti sisään palvelimelle. |
Line 195: | Line 27: |
Seuraavassa on kuvaus siitä, miten asennus eteni Valamon työpajassa. /!\ /etc/pam.d-hakemiston tiedostoihin kajoaminen on äärimmä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 muokkauksen ajaksi. Tunnusta ei suljettu välillä! * 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. ''Myös paikallisten tunnusten kirjautuminen on mahdollinen. Samalla tehtiin kotihakemistojen liittäminen NFS-verkkolevyltä, jolloin salasanan kyselyn hoiti ensimmäisenä modulina pam_mount, joka välitti tiedot edelleen pam_unix-modulille'' * LTSP5-palvelimelta poistettiin muut normaalit käyttäjätunnukset 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 openLDAP-palvelun avulla. |
Seuraavassa on kuvaus siitä, miten asennus eteni Valamon työpajassa tammikuussa 2009. /!\ /etc/pam.d-hakemiston tiedostoihin kajoaminen on äärimmä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 muokkauksen ajaksi. Tunnusta ei suljettu välillä! {OK} LTSP5-palvelin oli etukäteen asennettu valmiiksi ja toimivaksi. {OK} openLDAP-palvelin oli alunperin myös LTSP5-palvelin, ei pelkkä komentorivipohjainen palvelin-asennus. Tästä palvelimesta oli sammutettu dhcp3-palvelu. {OK} openLDAP-palvelin asennettiin ensin valmiiksi, vasta sitten siirryttiin muokkaamaan LTSP5-palvelinta. {OK} openLDAP-palvelimeen rakennettiin puurakenne ja base.ldif-tiedoston avulla perusasetukset käyttäjistä ja käyttäjäryhmistä. {OK} openLDAP-palvelimelle käyttäjät luotiin Webminin avulla. {OK} LTSP5-palvelimella muokattiin /etc/pam.d/-hakemiston tiedostoja siirtämään sisäänkirjautuminen openLDAP-palvelimelle. /!\ Pääkäyttäjän tunnus (admin-ubuntu) ja kaikki järjestelmän demonitunnukset jätettiin LTSP5-palvelimelle. Yleensä ei suositella tunnuksia, joiden ID on alle 1000 - root-tunnus (ID 1000) mukaan lukien - siirrettäväksi openLDAP-palvelimelle. {OK} LTSP5-palvelimelta poistettiin muut normaalit käyttäjätunnukset kuin pääkäyttäjän tunnukset tiedostoista /etc/passwd, /etc/shadow ja /etc/group. {OK} Kun komentoriviltä varmistettiin (ldapsearch- ja getent-käsky), että tunnukset löytyvät openLDAP-palvelimelta, niin päästiin kokeilemaan päätteen kirjautumista openLDAP-palvelun avulla. |
Line 219: | Line 51: |
openLDAP-puurakenne on tässä asennuksessa tällainen. Paras puurakenne syntyy rekisteröidyn domain-nimen pohjalta, jota voidaan käyttää myös esimerkiksi postipalveluiden yhteydessä. Ubuntu.fi on rekisteröity, osuuskunta Sangen omistuksessa oleva. Ubuntu.fi ohjautuu tällä hetkellä Ubuntu-fi.org-sivustolle. Tämä malli käynee kuitenkin esimerkistä, jonka pohjalta voi rakentaa aidon ratkaisun. | Paras puurakenne syntyy rekisteröidyn domain-nimen pohjalta, jota voidaan käyttää myös esimerkiksi postipalveluiden yhteydessä. Ubuntu.fi on rekisteröity, osuuskunta Sangen omistuksessa oleva osoite. Ubuntu.fi ohjautuu tällä hetkellä Ubuntu-fi.org-sivustolle. Tämä malli käynee kuitenkin esimerkistä, jonka pohjalta voi rakentaa aidon ratkaisun. |
Line 222: | Line 54: |
openLDAP-puurakenne on tässä asennuksessa tällainen: |
|
Line 226: | Line 60: |
dc=ubuntu----| | | ou=Users ou=Groups |
dc=ubuntu----|----------| | | | ou=Users ou=Groups cn=nss |
Line 235: | Line 69: |
== Pääkäyttäjät ja heidän salasanansa == Kuten myöhemmin kerrotaan, nämä salasanat eivät ole parhaat mahdolliset. Käytä jokaisella palvelimella ja palvelussa eri salasanoja! * LTSP-palvelimen pääkäyttäjä: admin-ubuntu | Salasana: TP2009ltsp * openLDAP-palvelimen pääkäyttäjä: admin-ubuntu | Salasana: TP2009ltsp * openLDAP-palvelun pääkäyttäjä: cn=manager | Salasana: TP2009ltsp * openLDAP-palvelun selauskäyttäjä: cn=nss | Salasana: TP2009nss |
|
Line 243: | Line 85: |
{i} Osasta tiedostoja on poistettu kommenttirivejä (#-merkillä alkavia) luettavuuden parantamiseksi. | {i} Osasta tiedostoja on poistettu kommenttirivejä (#-merkillä alkavia) luettavuuden parantamiseksi. |
Line 247: | Line 89: |
Tämä on LTSP5-palvelimen verkkokortin asetustiedosto. {{{ root@ubuntu:~# cat /etc/network/interfaces |
Tämä on LTSP5-palvelimen verkkokortin asetustiedosto: /etc/network/interfaces {{{ |
Line 268: | Line 109: |
root@ubuntu:~# }}} Tämä LTSP5-palvelimen dhcp3-palvelun asetustiedosto. Tässä Asus Eee 701-tietokoneelle, joka toimii päätteenä, on annettu kiinteä ip-osoite samoin kuin host-nimi. {{{ root@ubuntu:~# cat /etc/ltsp/dhcpd.conf |
}}} Tämä LTSP5-palvelimen dhcp3-palvelun asetustiedosto: /etc/ltsp/dhcpd.conf Asus Eee 701-tietokoneelle, joka toimii päätteenä, on annettu kiinteä ip-osoite samoin kuin host-nimi. {{{ |
Line 302: | Line 143: |
root@ubuntu:~# }}} Koska Asus Eee 701 käyttää hieman erikoista näytön resoluutiota, se pitää kertoa lts.conf-tiedostossa. Pääte myös pakotetaan kirjautumaan sisään määrätyllä tunnuksella, tämä toimii myös openLDAP-ympäristössä. {{{ root@ubuntu:~# cat /var/lib/tftpboot/ltsp/i386/lts.conf |
}}} Koska Asus Eee 701 käyttää hieman erikoista näytön resoluutiota, se pitää kertoa lts.conf-tiedostossa. Pääte myös pakotetaan kirjautumaan sisään määrätyllä tunnuksella, tämä toimii myös openLDAP-ympäristössä: /var/lib/tftpboot/ltsp/i386/lts.conf {{{ |
Line 316: | Line 155: |
root@ubuntu:~# | |
Line 321: | Line 159: |
Tämä on openLDAP-palvelimen verkkokortin asetustiedosto. {{{ root@ubuntu:~# cat /etc/network/interfaces |
Tämä on openLDAP-palvelimen verkkokortin asetustiedosto: /etc/network/interfaces {{{ |
Line 342: | Line 179: |
root@ubuntu:~# }}} |
}}} |
Line 348: | Line 183: |
Tässä on tiedot openLDAP-asiakasohjelmalle (ldapsearch). {{{ /etc/ldap/ldap.conf: |
{i} Osasta tiedostoja on poistettu kommenttirivejä (#-merkillä alkavia) luettavuuden parantamiseksi. Muokatut tiedostot löytyvät LTSP5-palvelimen osalta tästä hakemistosta: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-ltsp5/ Seuraavassa on kuvaus openLDAP-palvelimeen liittyvistä tiedostoista. === LTSP5-palvelin - /etc/ldap/ldap.conf === Kaikkien pitää päästä lukemaan tätä tiedostoa. Siksi sen lukuoikeudet ovat näin: {{{ root@ubuntu:~# ls -al /etc/ldap/ldap.conf -rw-r--r-- 1 root root 267 2009-01-25 15:16 /etc/ldap/ldap.conf root@ubuntu:~# }}} {{{ |
Line 364: | Line 211: |
=== /etc/ldap.conf === Tämä konfiguraatio taas järjestelmälle (GLIBC ?), jotta sisäänkirjautuminen onnistuu. Tässä ei vielä käytetä salattua yhteyttä. /!\ binddn-käyttäjä olisi syytä luoda, eikä käyttää manager-tunnusta sitä varten! Tällä käyttäjällä tulee olla oikeudet lukea LDAPin sisältö, jotta saadaan sisäänkirjautumistiedot. Koska tähän tiedostoon on lukuoikeudet muillakin kuin root-tunnuksella, managerin salasana ei tule olla täällä! /!\ Koska tämä konfiguraatio on monimutkainen, selkeyden vuoksi vain muutetut rivit on jätetty näkyviin! {{{ /etc/ldap.conf: ## |
=== LTSP5-palvelin - /etc/ldap.conf === Kaikkien pitää päästä lukemaan tätä tiedostoa. Siksi sen lukuoikeudet ovat näin: {{{ root@ubuntu:~# ls -al /etc/ldap.conf -rw-r--r-- 1 root root 9243 2009-01-26 17:20 /etc/ldap.conf root@ubuntu:~# }}} Tässä tiedostossa kerrotaan esimerkiksi, että selainkäyttäjä on 'nss' ja salasana on 'TP2009nss'. Ei sama kuin openLDAP-palvelimen pääkäyttäjän (admin-ubuntu) tai openLDAP-palvelun pääkäyttäjän (cn=manager) salasana. {{{ |
Line 383: | Line 228: |
uri ldap:///192.168.1.102 | uri ldap://192.168.1.102 |
Line 391: | Line 236: |
binddn cn=manager,dc=ubuntu,dc=fi | binddn cn=nss,dc=ubuntu,dc=fi |
Line 395: | Line 240: |
bindpw TP2009ltsp # !!! TIETOTURVAONGELMA !!! | bindpw TP2009nss |
Line 401: | Line 246: |
# The search scope. scope sub |
|
Line 420: | Line 262: |
nss_base_passwd ou=People,dc=ubuntu,dc=fi?one nss_base_shadow ou=People,dc=ubuntu,dc=fi?one nss_base_group ou=Groups,dc=ubuntu,dc=fi?one nss_base_hosts ou=Hosts,dc=ubuntu,dc=fi?one }}} |
nss_base_passwd ou=People,dc=ubuntu,dc=fi?one nss_base_shadow ou=People,dc=ubuntu,dc=fi?one nss_base_group ou=Group,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,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data }}} |
Line 430: | Line 275: |
Tässä on openLDAP-palvelimen manager-käyttäjän salasana. Se on selväkielinen. Tiedostolla tulee olla oikeudet '600', eli -rw------- root root. |
Tässä on openLDAP-palvelimen manager-käyttäjän salasana. Se on selväkielinen - vain root-käyttäjä muokkaa tai lukee sitä. Tiedostolla tulee olla oikeudet siis '600'. /!\ Käytä pääkäyttäjälle (cn=manager) eri salasanaa kuin selauskäyttäjälle (cn=nss). Tämän asennuksen yhteydessä kummankin Ubuntu-järjestelmän pääkäyttäjän salasana on sama kuin openLDAP-pääkäyttäjän, mikä ei tietenkään ole suositeltavaa! Käytä eri salasanoja kunkin järjestelmän pääkäyttäjille! |
Line 438: | Line 285: |
{{{ root@ubuntu:~# ls -al /etc/ldap.secret -rw------- 1 root root 11 2009-01-08 17:12 /etc/ldap.secret root@ubuntu:~# }}} |
|
Line 444: | Line 296: |
/etc/nsswitch.conf | |
Line 454: | Line 305: |
... }}} === Testaus === ==== /usr/bin/ldapsearch ==== Testataan saadaanko tietoja palvelimelta. Ensin yhdestä käyttäjästä nimen perusteella (LTSP 001) ja sitten kaikista käyttäjistä. * ldapsearch -x -D "cn=manager,dc=ubuntu,dc=fi" -W -u "cn=LTSP 001" * ldapsearch -x -D "cn=manager,dc=ubuntu,dc=fi" -W {{{ admin-ubuntu@ubuntu:~$ ldapsearch -x -D "cn=manager,dc=ubuntu,dc=fi" -W -u "cn=LTSP 001" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: cn=LTSP 001 # requesting: ALL # # ltsp001, People, ubuntu.fi dn: uid=ltsp001,ou=People,dc=ubuntu,dc=fi ufn: ltsp001, People, ubuntu.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 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 admin-ubuntu@ubuntu:~$ }}} {{{ root@ubuntu:/etc/pam.d# ldapsearch -x -D "cn=manager,dc=ubuntu,dc=fi" -W Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # ubuntu.fi |
}}} == LTSP5-palvelin - PAM == /!\ Kuten edellä kerrottiin, niin /etc/pam.d/-hakemiston tiedostoihin kajoaminen on järjestelmän kannalta äärimmäisen kriittistä. LTSP5-palvelin voidaan todellakin saada tilaan, jossa kirjautuminen ei onnistu millään tunnuksella. {i} Varsinaisen asennusohjeen yhteydessä kerrotaan kaikki tarvittavat kirjastot ja asennettavien pakettien nimet. Jos käyttäjän kotihakemistoa ei ole olemassa se luodaan kirjautumisen yhteydessä (pam_mkhomedir.so). === /etc/pam.d/common-password - password-related modules common to all services === {{{ 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 }}} === /etc/pam.d/common-auth - authentication settings common to all services === {{{ 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 }}} === /etc/pam.d/common-account - authorization settings common to all services === {{{ account sufficient pam_unix.so account sufficient pam_ldap.so }}} === /etc/pam.d/common-session - session-related modules common to all services === {{{ session required pam_limits.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 session optional pam_ldap.so }}} == LTSP5-palvelin - PAM ja NFS == Tähän osioon liittyvät tiedostot ovat täällä: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-ltsp5-nfs/ ja http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-openldap-nfs/ Kotihakemistot voidaan siirtää pois LTSP5-palvelimelta, tässä tapauksessa samalle palvelimelle, jossa on openLDAP. openLDAP-palveliemlle pitää asentaa NFS-tuki ja sen jälkeen muokata exports-tiedostoa. {{{ /home 192.168.1.0/255.255.255.0(rw,no_root_squash,async) }}} Vastaavasti LTSP5-palveleimella pitää olla tuki NFS-liitokselle ja lisätä kotihakemisto fstab-tiedostoon näin. {{{ 192.168.1.102:/home /home nfs rsize=8192,wsize=8192,timeo=14,intr 0 0 }}} /!\ Kuten edellä kerrottiin, niin /etc/pam.d/-hakemiston tiedostoihin kajoaminen on järjestelmän kannalta äärimmäisen kriittistä. LTSP5-palvelin voidaan todellakin saada tilaan, jossa kirjautuminen ei onnistu millään tunnuksella. {i} Varsinaisen asennusohjeen yhteydessä kerrotaan kaikki tarvittavat kirjastot ja asennettavien pakettien nimet. Jos käyttäjän kotihakemistoa ei ole olemassa se luodaan kirjautumisen yhteydessä (pam_mkhomedir.so). Kokonaan uusia tiedostoja ovat /etc/pam.d/common-pammount ja /etc/security/pam_mount.conf.xml. === /etc/pam.d/common-password - password-related modules common to all services === {{{ 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-auth - authentication settings common to all services === {{{ account sufficient pam_unix.so account sufficient pam_ldap.so }}} === /etc/pam.d/common-account - authorization settings common to all services === {{{ 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-session - session-related modules common to all services === {{{ session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 session optional pam_ldap.so session required pam_limits.so session required pam_unix.so session optional pam_mount.so shadow md5 use_authtok session optional pam_ldap.so }}} === /etc/pam.d/common-pammount === {{{ auth optional pam_mount.so try_first_pass session optional pam_mount.so try_first_pass }}} === /etc/security/pam_mount.conf.xml === {{{ <volume fstype="nfs" server="192.168.1.102" path="/home/%(USER)" mountpoint="~"/> }}} === LTSP-päätteen jättämät jäljet kummallakin palvelimella === ==== LTSP5-palvelin ==== Alla näkyy miten LTSP-pääte luo oman kotihakemsitonsa, kun se kirjautuu ensimmäisen kerran. Auth-log-tiedostossa näkyy sekä salasanan hyväksyminen että kotihakemiston liittäminen. {{{ admin-ubuntu@ubuntu:~$ mount 192.168.1.102:/home on /home type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.1.102) gvfs-fuse-daemon on /root/admin-ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=admin-ubuntu) }}} {{{ admin-ubuntu@ubuntu:/home$ mount 192.168.1.102:/home on /home type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.1.102) gvfs-fuse-daemon on /root/admin-ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=admin-ubuntu) 192.168.1.102:/home/ltsp001 on /home/ltsp001 type nfs (rw,addr=192.168.1.102) ltspfs on /media/ltsp001/usbdisk-sda1 type fuse.ltspfs (rw,nosuid,nodev,user=ltsp001) gvfs-fuse-daemon on /home/ltsp001/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ltsp001) }}} {{{ admin-ubuntu@ubuntu:/home$ ls -al yhteensä 8 drwxr-xr-x 2 root root 4096 2009-01-27 10:33 . drwxr-xr-x 21 root root 4096 2009-01-13 09:37 .. }}} {{{ admin-ubuntu@ubuntu:/home$ ls -al yhteensä 12 drwxr-xr-x 3 root root 4096 2009-01-27 10:40 . drwxr-xr-x 21 root root 4096 2009-01-13 09:37 .. drwxr-xr-x 23 ltsp001 10000 4096 2009-01-27 10:40 ltsp001 }}} {{{ Jan 27 10:42:04 ubuntu sshd[6904]: Accepted password for ltsp001 from 192.168.1.200 port 56724 ssh2 Jan 27 10:42:04 ubuntu sshd[6925]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0) Jan 27 10:42:04 ubuntu sshd[6925]: pam_mount(mount.c:182) realpath of volume "/home/ltsp001" is "/home/ltsp001" }}} ==== openLDAP-palvelin ==== LTSP-päätteen liitos näkyy myös openLDAP-palvelimella. {{{ Jan 27 10:40:18 ubuntu mountd[5394]: authenticated mount request from 192.168.1.101:1016 for /home/ltsp001 (/home) }}} == openLDAP-palvelin == Muokatut tiedostot löytyvät LTSP5-palvelimen osalta tästä hakemistosta: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-openldap/ OpenLDAP-palvelimella ei tarvitse määrittää muita asetuksia kuin slapd, koska palvelimelle itsellään ei käytetä LDAP-tunnuksia. Webmin-ohjelman käyttö vaati näitä tiedostoja, siitä on tarkemmin alempana. openLDAP-palvelimen pääkäyttäjän tunnus (admin-ubuntu) 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. Koska samassa konfiguraatiossa voi olla useita tietokantoja, konfiguraation järjestykselläkin on merkitystä. {i} openLDAP-palvelimella ei tarvita lainkaan ldap-tiedostoja tosin kuin LTSP5-palvelimella: /etc/ldap/ldap.conf, /etc/ldap.conf ja /etc/ldap.secret. Näin ainoa tiedsoto jossa, openLDAP-palvelun pääkäyttäjän (cn=manager) salasana on näkyvissä, on alla oleva tiedosto. Siinä se on kuitenkin kryptattu. /!\ Jos halutaan käyttää Webmin-ohjelmaa ja hallita käyttäjiä sen avulla, niin /etc/ldap.conf, /etc/ldap.secret ja /etc/ldap/ldap.conf tiedostojen pitää olla käytössä myös openLDAP-palvelimella. Kopioi ne sellaisenaan LTSP5-palvelimelta. Tiedostojen oikeudet tulee kuitenkin asettaa näin openLDAP-palvelimella: {{{ root@ubuntu:~# ls -al /etc/ldap.* -rw------- 1 root root 9160 2009-01-26 15:27 /etc/ldap.conf -rw------- 1 root root 11 2009-01-08 16:35 /etc/ldap.secret }}} /!\ phpLdapAdmin ei vaadi ldap-tiedostojen käyttöä! {{{ # This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel 256 # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_hdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. 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 # 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 # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=manager,dc=ubuntu,dc=fi" write by dn="cn=nss,dc=ubuntu,dc=fi" read by * auth }}} === base.ldif === Tämä tiedosto (base.ldif) sisältää juurirakenteen. Se ladataan openLDAP-palvelimella komennolla slapadd. Tämä tiedosto luotiin Valamossa työpajan yhteydessä. {{{ |
Line 518: | Line 608: |
objectClass: organization objectClass: dcObject |
objectclass: organization objectclass: dcObject |
Line 524: | Line 614: |
# Hosts, ubuntu.fi | |
Line 532: | Line 621: |
# People, ubuntu.fi | |
Line 540: | Line 628: |
# Groups, ubuntu.fi | |
Line 548: | Line 635: |
# users, Groups, ubuntu.fi | |
Line 553: | Line 639: |
# 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 |
}}} === nss-ldif === openLDAP-palveliemn selausta varten luotiin nss-käyttäjä. Se luettiin openLDAP-palvelimelle sisään samalla tavalla kuin base.ldif-tiedosto. {{{ dn: cn=nss, dc=ubuntu,dc=fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword: {CRYPT}BzGwbmUEHZj8E }}} === Salasana nss-käyttäjälle === Salasana luotiin nss-käyttäjille käskyllä "slappasswd". Kryptattu salsana sisällytetään ldif-tiedostoon. openLDAP-palvelimen manager-käyttäjän salasana luotiin jo varsinaisen asennuksen yhteydessä. == Webmin - openLDAP-modulit == Uusia käyttäjiä voi luoda Webminillä. Webmin-ohjelman asennuksesta on oma ohjeensa: http://wiki.ubuntu-fi.org/Webmin {{{ 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::::: create:ltsp030:edubuntu:1030:10000:LTSP 029:/home/ltsp030:/bin/bash::::: }}} === Ruutukaappauksia Webmin-ohjelmasta === [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_01.png|Webmin-openLDAP_01.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_02.png|Webmin-openLDAP_02.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_03.png|Webmin-openLDAP_03.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_04.png|Webmin-openLDAP_04.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_05.png|Webmin-openLDAP_05.png]] === Ruutukaappauksia phpLdapAdmin-ohjelmasta === [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/phpLdapAdmin-01.png|phpLdapAdmin-01.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/phpLdapAdmin-02.png|phpLdapAdmin-02.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/phpLdapAdmin-03.png|phpLdapAdmin-03.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/phpLdapAdmin-04.png|phpLdapAdmin-04.png]] [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/phpLdapAdmin-05.png|phpLdapAdmin-05.png]] == ITALC == iTALC toimii päätteiden suhteen aivan normaalisti. [[http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/iTALC_01.png|iTALC_01.png]] == Testi- ja kyselytyökaluja == Toimivaa openLDAP-palvelinta voidaan testata ja tehdä hakuja seuraavila työkaluilla. === getent passwd === Root- ja admin-ubuntu-tunnukset ovat LTSP5-palvelimen paikallisessa passwd-tiedostossa. Ltsp-käyttäjät ovat openLDAP-palvelimella. Getent-ohjelma näkee ne kummatkin. {{{ admin-ubuntu@ubuntu:~$ getent passwd root:x:0:0:root:/root:/bin/bash |
Line 587: | Line 737: |
# 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 }}} ==== /usr/bin/getent ==== Edellä olevaan nsswitch.conf-tiedostoon liittyy komento "getent". Sen avulla voidaan tarkistaa, että paikallisen "passwd"-tiedoston lisäksi käyttäjiä löytyy myös openLDAP-palvelimelta. Alla on koko tuloste, kun annetaan "getent"-käsky. Alla on myös vastaava tuloste, kun paikallisen "group"-tiedoston lisäksi käyttäjäryhmiä löytyy myös openLDAP-palvelimelta. Kaikki openLDAP-palvelimella olevat käyttäjät kuuluvat samaan ryhmään (users:*:10000). {{{ 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 |
|
Line 652: | Line 738: |
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 |
[--] |
Line 684: | Line 768: |
root@ubuntu:~# }}} {{{ root@ubuntu:~# getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:admin-ubuntu tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20:admin-ubuntu fax:x:21: voice:x:22: cdrom:x:24:admin-ubuntu floppy:x:25:admin-ubuntu tape:x:26: sudo:x:27: audio:x:29:pulse,admin-ubuntu dip:x:30:admin-ubuntu www-data:x:33: backup:x:34: operator:x:37: list:x:38: irc:x:39: src:x:40: gnats:x:41: shadow:x:42: utmp:x:43:nx video:x:44:admin-ubuntu sasl:x:45: plugdev:x:46:admin-ubuntu staff:x:50: games:x:60: users:x:100: nogroup:x:65534: libuuid:x:101: dhcp:x:102: syslog:x:103: klog:x:104: scanner:x:105:hplip nvram:x:106: fuse:x:107:admin-ubuntu ssl-cert:x:108: lpadmin:x:109:admin-ubuntu crontab:x:110: mlocate:x:111: ssh:x:112: avahi-autoipd:x:113: gdm:x:114: admin:x:115:admin-ubuntu pulse:x:116: pulse-access:x:117: pulse-rt:x:118: messagebus:x:119: avahi:x:120: netdev:x:121: polkituser:x:122: haldaemon:x:123: dhcpd:x:124: nbd:x:125: admin-ubuntu:x:1000: nx:x:126: slocate:x:127: ntp:x:128: openldap:x:129: users:*:10000: root@ubuntu:~# }}} == LTSP5-palvelin - PAM == /!\ Kuten edellä kerrottiin, niin /etc/pam.d/-hakemiston tiedostoihin kajoaminen on järjestelmän kannalta äärimmäisen kriittistä. LTSP5-palvelin voidaan todellakin saada tilaan, jossa kirjautuminen ei onnistu millään tunnuksella. Näihin liittyviä muutoksia on kerrottu muuan muassa näissä ohjeissa: https://help.ubuntu.com/community/LDAPClientAuthentication http://www.gentoo.org/doc/en/ldap-howto.xml === /etc/pam.d/common-password - password-related modules common to all services === {{{ root@ubuntu:/etc/pam.d# cat common-password |
ltsp030:x:1030:10000:LTSP 030:/home/ltsp030:/bin/bash admin-ubuntu@ubuntu:~$ }}} === ldapsearch === Tavallisena käyttäjänä tehdään kysely kaikista käyttäjistä. Selainkäyttäjän salasana pitää luonnollisesti tuntea. {{{ admin-ubuntu@ubuntu:~$ ldapsearch -x -D "cn=nss,dc=ubuntu,dc=fi" -W Enter LDAP Password: # extended LDIF |
Line 778: | Line 781: |
# /etc/pam.d/common-password - password-related modules common to all services | # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL |
Line 780: | Line 786: |
# 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-auth - authentication settings common to all services === {{{ 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 }}} === /etc/pam.d/common-account - authorization settings common to all services === {{{ 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 account required pam_ldap.so }}} === /etc/pam.d/common-session - session-related modules common to all services === {{{ 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 }}} == openLDAP-palvelin == OpenLDAP-palvelimella ei tarvitse määrittää muita asetuksia kuin slapd, koska palvelimelle itsellään ei käytetä LDAP-tunnuksia. 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. /!\ Koska tämä konfiguraatio on kaikista monimutkaisin, selkeyden vuoksi vain muutetut rivit ja osioiden kommentit on jätetty näkyviin! Koska samassa konfiguraatiossa voi olla useita tietokantoja, konfiguraation järjestyksellä on merkitystä. /!\ Tänne olisi määriteltävä oikeudet bind-käyttäjälle! Käyttäjän voi luoda esim. Webminillä. {{{ root@ubuntu:~# cat /etc/ldap/slapd.conf #################### # Global Directives: ... loglevel none ... ################################################### # Specific Directives for database #1, of type hdb: # Database specific directives apply to this databasse until another # 'database' directive occurs ... # 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" password-hash {crypt} rootpw {MD5}gonsh+ULQWhKd6JXdMo4kQ== # 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 }}} === base.ldif === Tämä tiedosto (''base.ldif'') sisältää juurirakenteen. Missä komento jolla se ladataan? Voiko latauksen tai rakenteen määrityksen tehdä webminillä? {{{ |
# ubuntu.fi |
Line 1004: | Line 789: |
objectclass: organization objectclass: dcObject |
objectClass: organization objectClass: dcObject |
Line 1010: | Line 795: |
# Hosts, ubuntu.fi | |
Line 1017: | Line 803: |
# People, ubuntu.fi | |
Line 1024: | Line 811: |
# Groups, ubuntu.fi | |
Line 1031: | Line 819: |
# users, Groups, ubuntu.fi | |
Line 1035: | Line 824: |
}}} == Webmin - openLDAP-modulit == Uusia käyttäjiä voi luoda Webminillä (webmin-openldap-users.txt). Webmin-ohjelman asennuskesta on oma ohjeensa: http://wiki.ubuntu-fi.org/Webmin {{{ 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::::: }}} === Ruutukaappauksia Webmin-ohjelmasta === [http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_01.png Webmin-openLDAP_01.png] [http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_02.png Webmin-openLDAP_02.png] [http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_03.png Webmin-openLDAP_03.png] [http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_04.png Webmin-openLDAP_04.png] [http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/Webmin-openLDAP_05.png Webmin-openLDAP_05.png] |
memberUid: ltsp030 # 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 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 001 [--] # nss, ubuntu.fi dn: cn=nss,dc=ubuntu,dc=fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword:: e01ENX1pSi9VV0crQUxLV0xUZ3dFbW1aajRRPT0= # ltsp030, People, ubuntu.fi dn: uid=ltsp030,ou=People,dc=ubuntu,dc=fi uid: ltsp030 cn: LTSP 030 homeDirectory: /home/ltsp030 uidNumber: 1030 objectClass: posixAccount objectClass: shadowAccount objectClass: person objectClass: inetOrgPerson gidNumber: 10000 gecos: LTSP 030 sn: LTSP 030 loginShell: /bin/bash # search result search: 2 result: 0 Success # numResponses: 37 # numEntries: 36 admin-ubuntu@ubuntu:~$ }}} Tavallisena käyttäjänä tehdään kysely käyttäjästä "LTSP 001". Selainkäyttäjän salasana pitää luonnollisesti tuntea. {{{ admin-ubuntu@ubuntu:~$ ldapsearch -x -D "cn=nss,dc=ubuntu,dc=fi" -W -u "cn=LTSP 001" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: cn=LTSP 001 # requesting: ALL # # ltsp001, People, ubuntu.fi dn: uid=ltsp001,ou=People,dc=ubuntu,dc=fi ufn: ltsp001, People, ubuntu.fi cn: LTSP 001 uid: ltsp001 uidNumber: 1001 loginShell: /bin/bash homeDirectory: /home/ltsp001 gidNumber: 10000 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 001 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 admin-ubuntu@ubuntu:~$ }}} == LTSP-päätteen jättämät jäljet kummallakin palvelimella == === LTSP-pääte ja LTSP-palvelin === ==== /var/log/daemon.log ==== {{{ Jan 26 19:13:17 ubuntu dhcpd: DHCPREQUEST for 192.168.1.200 (192.168.1.101) from 00:22:15:15:4b:4c via eth0 Jan 26 19:13:17 ubuntu dhcpd: DHCPACK on 192.168.1.200 to 00:22:15:15:4b:4c via eth0 Jan 26 19:13:18 ubuntu nbdrootd[6342]: connect from 192.168.1.200 (192.168.1.200) Jan 26 19:13:18 ubuntu nbd_server[6343]: connect from 192.168.1.200, assigned file is /opt/ltsp/images/i386.img Jan 26 19:13:18 ubuntu nbd_server[6343]: Size of exported file/device is 556453888 Jan 26 19:13:40 ubuntu ldminfod[6352]: connect from 192.168.1.200 (192.168.1.200) }}} ==== /var/log/auth.log ==== {{{ Jan 26 19:13:46 ubuntu sshd[6355]: Accepted password for ltsp001 from 192.168.1.200 port 43270 ssh2 Jan 26 19:13:46 ubuntu sshd[6357]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0) }}} === LTSP-pääte ja openLDAP-palvelin === ==== /var/log/syslog ==== {{{ Jan 26 19:13:46 ubuntu slapd[5287]: conn=32 op=2 SRCH base="ou=Group,dc=ubuntu,dc=fi" scope=1 deref=0 filter="(&(objectClass=posixGroup)(|(memberUid=ltsp001)(uniqueMember=uid=ltsp001,ou=people,dc=ubuntu,dc=fi)))" }}} |
LTSP5 - OpenLDAP
Tämä ohje on tarkoitettu Ubuntu 8.04.1-versiolle. 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ä.
Tästä ohjeesta puuttuu SSL-sertifikaattien ja SASL-salauksen asennuksen ja käytön kuvaus sekä kotihakemistojen NFS-palvelimen asennuksen ja käytön kuvaus.
Toivomme, että lähtien liikkeelle tästä peruskuvauksesta saamme luoduksi monipuolisen ohjeen koskien openLDAP-käyttöä LTSP5-ympäristössä. Tarkoituksemme on tehdä myös perinteinen "Leikkaa ja liimaa"-tyyppinen asennusohje openLDAP-palvelimesta LTSP5-ympäristössä.
Tässä ohjeessa on käytössä 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.
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 tammikuussa 2009.
/etc/pam.d-hakemiston tiedostoihin kajoaminen on äärimmä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 muokkauksen ajaksi. Tunnusta ei suljettu välillä!
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.
Pääkäyttäjän tunnus (admin-ubuntu) ja kaikki järjestelmän demonitunnukset jätettiin LTSP5-palvelimelle. Yleensä ei suositella tunnuksia, joiden ID on alle 1000 - root-tunnus (ID 1000) mukaan lukien - siirrettäväksi openLDAP-palvelimelle.
LTSP5-palvelimelta poistettiin muut normaalit käyttäjätunnukset kuin pääkäyttäjän tunnukset tiedostoista /etc/passwd, /etc/shadow ja /etc/group.
Kun komentoriviltä varmistettiin (ldapsearch- ja getent-käsky), että tunnukset löytyvät openLDAP-palvelimelta, niin päästiin kokeilemaan päätteen kirjautumista openLDAP-palvelun avulla.
LDAP-puurakenne
Paras puurakenne syntyy rekisteröidyn domain-nimen pohjalta, jota voidaan käyttää myös esimerkiksi postipalveluiden yhteydessä. Ubuntu.fi on rekisteröity, osuuskunta Sangen omistuksessa oleva osoite. Ubuntu.fi ohjautuu tällä hetkellä Ubuntu-fi.org-sivustolle. Tämä malli käynee kuitenkin esimerkistä, jonka pohjalta voi rakentaa aidon ratkaisun.
Termi dc on Domain Component, ou on Organizational Unit, cn on Common Name. Rakenteessa on haara käyttäjille ja ryhmille. Rakenne ladataan standardissa LDIF-muodossa, joka esitellään myöhemmin tässä dokumentissa.
openLDAP-puurakenne on tässä asennuksessa tällainen:
dc=fi | dc=ubuntu----|----------| | | | ou=Users ou=Groups cn=nss | | | cn=Users | cn=ltsp001, ltsp002 ...
Pääkäyttäjät ja heidän salasanansa
Kuten myöhemmin kerrotaan, nämä salasanat eivät ole parhaat mahdolliset. Käytä jokaisella palvelimella ja palvelussa eri salasanoja!
- LTSP-palvelimen pääkäyttäjä: admin-ubuntu | Salasana: TP2009ltsp
- openLDAP-palvelimen pääkäyttäjä: admin-ubuntu | Salasana: TP2009ltsp
- openLDAP-palvelun pääkäyttäjä: cn=manager | Salasana: TP2009ltsp
- openLDAP-palvelun selauskäyttäjä: cn=nss | Salasana: TP2009nss
Lähiverkon perusasetukset
Tässä ohjeessa on käytetty seuraavanlaisia asetustiedostoja, alla on ensin LTSP5-palvelin ja sen jälkeen openLDAP-palvelin.
Osasta tiedostoja on poistettu kommenttirivejä (#-merkillä alkavia) luettavuuden parantamiseksi.
LTSP5-palvelin - 192.168.1.101
Tämä on LTSP5-palvelimen verkkokortin asetustiedosto: /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
Tämä LTSP5-palvelimen dhcp3-palvelun asetustiedosto: /etc/ltsp/dhcpd.conf
Asus Eee 701-tietokoneelle, joka toimii päätteenä, on annettu kiinteä ip-osoite samoin kuin host-nimi.
# # 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; } }
Koska Asus Eee 701 käyttää hieman erikoista näytön resoluutiota, se pitää kertoa lts.conf-tiedostossa. Pääte myös pakotetaan kirjautumaan sisään määrätyllä tunnuksella, tämä toimii myös openLDAP-ympäristössä: /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
openLDAP-palvelin - 192.168.1.102
Tämä on openLDAP-palvelimen verkkokortin asetustiedosto: /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
LTSP5-palvelimen muokatut tiedostot openLDAP-palvelua varten
Osasta tiedostoja on poistettu kommenttirivejä (#-merkillä alkavia) luettavuuden parantamiseksi.
Muokatut tiedostot löytyvät LTSP5-palvelimen osalta tästä hakemistosta: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-ltsp5/
Seuraavassa on kuvaus openLDAP-palvelimeen liittyvistä tiedostoista.
LTSP5-palvelin - /etc/ldap/ldap.conf
Kaikkien pitää päästä lukemaan tätä tiedostoa. Siksi sen lukuoikeudet ovat näin:
root@ubuntu:~# ls -al /etc/ldap/ldap.conf -rw-r--r-- 1 root root 267 2009-01-25 15:16 /etc/ldap/ldap.conf root@ubuntu:~#
############### # 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
LTSP5-palvelin - /etc/ldap.conf
Kaikkien pitää päästä lukemaan tätä tiedostoa. Siksi sen lukuoikeudet ovat näin:
root@ubuntu:~# ls -al /etc/ldap.conf -rw-r--r-- 1 root root 9243 2009-01-26 17:20 /etc/ldap.conf root@ubuntu:~#
Tässä tiedostossa kerrotaan esimerkiksi, että selainkäyttäjä on 'nss' ja salasana on 'TP2009nss'. Ei sama kuin openLDAP-palvelimen pääkäyttäjän (admin-ubuntu) tai openLDAP-palvelun pääkäyttäjän (cn=manager) salasana.
# 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=nss,dc=ubuntu,dc=fi # The credentials to bind with. # Optional: default is no credential. bindpw TP2009nss # 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 # 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?one nss_base_group ou=Group,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,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data
/etc/ldap.secret
Tässä on openLDAP-palvelimen manager-käyttäjän salasana. Se on selväkielinen - vain root-käyttäjä muokkaa tai lukee sitä. Tiedostolla tulee olla oikeudet siis '600'.
Käytä pääkäyttäjälle (cn=manager) eri salasanaa kuin selauskäyttäjälle (cn=nss). Tämän asennuksen yhteydessä kummankin Ubuntu-järjestelmän pääkäyttäjän salasana on sama kuin openLDAP-pääkäyttäjän, mikä ei tietenkään ole suositeltavaa! Käytä eri salasanoja kunkin järjestelmän pääkäyttäjille!
/etc/ldap.secret: TP2009ltsp
root@ubuntu:~# ls -al /etc/ldap.secret -rw------- 1 root root 11 2009-01-08 17:12 /etc/ldap.secret root@ubuntu:~#
/etc/nsswitch.conf
Tätä tiedostoa käyttävät monet muutkin palvelut kuin vain openLDAP, esimerkiksi dns ja nis. Käyttäjiin liittyvät tiedostot (passwd, shadow ja group) on liitetty openLDAP-palveluun. Muut rivit on jätettävä ennalleen, ainoa lisäys on 'ldap' kyseisten rivien loppuun.
#################### # /etc/nsswitch.conf # # 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
LTSP5-palvelin - PAM
Kuten edellä kerrottiin, niin /etc/pam.d/-hakemiston tiedostoihin kajoaminen on järjestelmän kannalta äärimmäisen kriittistä. LTSP5-palvelin voidaan todellakin saada tilaan, jossa kirjautuminen ei onnistu millään tunnuksella.
Varsinaisen asennusohjeen yhteydessä kerrotaan kaikki tarvittavat kirjastot ja asennettavien pakettien nimet.
Jos käyttäjän kotihakemistoa ei ole olemassa se luodaan kirjautumisen yhteydessä (pam_mkhomedir.so).
/etc/pam.d/common-password - password-related modules common to all services
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
/etc/pam.d/common-auth - authentication settings common to all services
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
/etc/pam.d/common-account - authorization settings common to all services
account sufficient pam_unix.so account sufficient pam_ldap.so
/etc/pam.d/common-session - session-related modules common to all services
session required pam_limits.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 session optional pam_ldap.so
LTSP5-palvelin - PAM ja NFS
Tähän osioon liittyvät tiedostot ovat täällä: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-ltsp5-nfs/ ja http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-openldap-nfs/
Kotihakemistot voidaan siirtää pois LTSP5-palvelimelta, tässä tapauksessa samalle palvelimelle, jossa on openLDAP. openLDAP-palveliemlle pitää asentaa NFS-tuki ja sen jälkeen muokata exports-tiedostoa.
/home 192.168.1.0/255.255.255.0(rw,no_root_squash,async)
Vastaavasti LTSP5-palveleimella pitää olla tuki NFS-liitokselle ja lisätä kotihakemisto fstab-tiedostoon näin.
192.168.1.102:/home /home nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
Kuten edellä kerrottiin, niin /etc/pam.d/-hakemiston tiedostoihin kajoaminen on järjestelmän kannalta äärimmäisen kriittistä. LTSP5-palvelin voidaan todellakin saada tilaan, jossa kirjautuminen ei onnistu millään tunnuksella.
Varsinaisen asennusohjeen yhteydessä kerrotaan kaikki tarvittavat kirjastot ja asennettavien pakettien nimet.
Jos käyttäjän kotihakemistoa ei ole olemassa se luodaan kirjautumisen yhteydessä (pam_mkhomedir.so).
Kokonaan uusia tiedostoja ovat /etc/pam.d/common-pammount ja /etc/security/pam_mount.conf.xml.
/etc/pam.d/common-password - password-related modules common to all services
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-auth - authentication settings common to all services
account sufficient pam_unix.so account sufficient pam_ldap.so
/etc/pam.d/common-account - authorization settings common to all services
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-session - session-related modules common to all services
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 session optional pam_ldap.so session required pam_limits.so session required pam_unix.so session optional pam_mount.so shadow md5 use_authtok session optional pam_ldap.so
/etc/pam.d/common-pammount
auth optional pam_mount.so try_first_pass session optional pam_mount.so try_first_pass
/etc/security/pam_mount.conf.xml
<volume fstype="nfs" server="192.168.1.102" path="/home/%(USER)" mountpoint="~"/>
LTSP-päätteen jättämät jäljet kummallakin palvelimella
LTSP5-palvelin
Alla näkyy miten LTSP-pääte luo oman kotihakemsitonsa, kun se kirjautuu ensimmäisen kerran. Auth-log-tiedostossa näkyy sekä salasanan hyväksyminen että kotihakemiston liittäminen.
admin-ubuntu@ubuntu:~$ mount 192.168.1.102:/home on /home type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.1.102) gvfs-fuse-daemon on /root/admin-ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=admin-ubuntu)
admin-ubuntu@ubuntu:/home$ mount 192.168.1.102:/home on /home type nfs (rw,rsize=8192,wsize=8192,timeo=14,intr,addr=192.168.1.102) gvfs-fuse-daemon on /root/admin-ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=admin-ubuntu) 192.168.1.102:/home/ltsp001 on /home/ltsp001 type nfs (rw,addr=192.168.1.102) ltspfs on /media/ltsp001/usbdisk-sda1 type fuse.ltspfs (rw,nosuid,nodev,user=ltsp001) gvfs-fuse-daemon on /home/ltsp001/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ltsp001)
admin-ubuntu@ubuntu:/home$ ls -al yhteensä 8 drwxr-xr-x 2 root root 4096 2009-01-27 10:33 . drwxr-xr-x 21 root root 4096 2009-01-13 09:37 ..
admin-ubuntu@ubuntu:/home$ ls -al yhteensä 12 drwxr-xr-x 3 root root 4096 2009-01-27 10:40 . drwxr-xr-x 21 root root 4096 2009-01-13 09:37 .. drwxr-xr-x 23 ltsp001 10000 4096 2009-01-27 10:40 ltsp001
Jan 27 10:42:04 ubuntu sshd[6904]: Accepted password for ltsp001 from 192.168.1.200 port 56724 ssh2 Jan 27 10:42:04 ubuntu sshd[6925]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0) Jan 27 10:42:04 ubuntu sshd[6925]: pam_mount(mount.c:182) realpath of volume "/home/ltsp001" is "/home/ltsp001"
openLDAP-palvelin
LTSP-päätteen liitos näkyy myös openLDAP-palvelimella.
Jan 27 10:40:18 ubuntu mountd[5394]: authenticated mount request from 192.168.1.101:1016 for /home/ltsp001 (/home)
openLDAP-palvelin
Muokatut tiedostot löytyvät LTSP5-palvelimen osalta tästä hakemistosta: http://www.arkki.info/howto/Wiki/LTSP5-openLDAP/etc-openldap/
OpenLDAP-palvelimella ei tarvitse määrittää muita asetuksia kuin slapd, koska palvelimelle itsellään ei käytetä LDAP-tunnuksia. Webmin-ohjelman käyttö vaati näitä tiedostoja, siitä on tarkemmin alempana.
openLDAP-palvelimen pääkäyttäjän tunnus (admin-ubuntu) 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. Koska samassa konfiguraatiossa voi olla useita tietokantoja, konfiguraation järjestykselläkin on merkitystä.
openLDAP-palvelimella ei tarvita lainkaan ldap-tiedostoja tosin kuin LTSP5-palvelimella: /etc/ldap/ldap.conf, /etc/ldap.conf ja /etc/ldap.secret. Näin ainoa tiedsoto jossa, openLDAP-palvelun pääkäyttäjän (cn=manager) salasana on näkyvissä, on alla oleva tiedosto. Siinä se on kuitenkin kryptattu.
Jos halutaan käyttää Webmin-ohjelmaa ja hallita käyttäjiä sen avulla, niin /etc/ldap.conf, /etc/ldap.secret ja /etc/ldap/ldap.conf tiedostojen pitää olla käytössä myös openLDAP-palvelimella. Kopioi ne sellaisenaan LTSP5-palvelimelta. Tiedostojen oikeudet tulee kuitenkin asettaa näin openLDAP-palvelimella:
root@ubuntu:~# ls -al /etc/ldap.* -rw------- 1 root root 9160 2009-01-26 15:27 /etc/ldap.conf -rw------- 1 root root 11 2009-01-08 16:35 /etc/ldap.secret
phpLdapAdmin ei vaadi ldap-tiedostojen käyttöä!
# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel 256 # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_hdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. 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 # 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 # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=manager,dc=ubuntu,dc=fi" write by dn="cn=nss,dc=ubuntu,dc=fi" read by * auth
base.ldif
Tämä tiedosto (base.ldif) sisältää juurirakenteen. Se ladataan openLDAP-palvelimella komennolla slapadd. Tämä tiedosto luotiin Valamossa työpajan yhteydessä.
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: cn=users,ou=Groups,dc=ubuntu,dc=fi objectClass: posixGroup cn: users gidNumber: 10000
nss-ldif
openLDAP-palveliemn selausta varten luotiin nss-käyttäjä. Se luettiin openLDAP-palvelimelle sisään samalla tavalla kuin base.ldif-tiedosto.
dn: cn=nss, dc=ubuntu,dc=fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword: {CRYPT}BzGwbmUEHZj8E
Salasana nss-käyttäjälle
Salasana luotiin nss-käyttäjille käskyllä "slappasswd". Kryptattu salsana sisällytetään ldif-tiedostoon. openLDAP-palvelimen manager-käyttäjän salasana luotiin jo varsinaisen asennuksen yhteydessä.
Webmin - openLDAP-modulit
Uusia käyttäjiä voi luoda Webminillä. Webmin-ohjelman asennuksesta on oma ohjeensa: http://wiki.ubuntu-fi.org/Webmin
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::::: create:ltsp030:edubuntu:1030:10000:LTSP 029:/home/ltsp030:/bin/bash:::::
Ruutukaappauksia Webmin-ohjelmasta
Ruutukaappauksia phpLdapAdmin-ohjelmasta
ITALC
iTALC toimii päätteiden suhteen aivan normaalisti.
Testi- ja kyselytyökaluja
Toimivaa openLDAP-palvelinta voidaan testata ja tehdä hakuja seuraavila työkaluilla.
getent passwd
Root- ja admin-ubuntu-tunnukset ovat LTSP5-palvelimen paikallisessa passwd-tiedostossa. Ltsp-käyttäjät ovat openLDAP-palvelimella. Getent-ohjelma näkee ne kummatkin.
admin-ubuntu@ubuntu:~$ getent passwd root:x:0:0:root:/root:/bin/bash [--] admin-ubuntu:x:1000:1000:Administrator Ubuntu,,,:/root/admin-ubuntu:/bin/bash [--] 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 ltsp030:x:1030:10000:LTSP 030:/home/ltsp030:/bin/bash admin-ubuntu@ubuntu:~$
ldapsearch
Tavallisena käyttäjänä tehdään kysely kaikista käyttäjistä. Selainkäyttäjän salasana pitää luonnollisesti tuntea.
admin-ubuntu@ubuntu:~$ ldapsearch -x -D "cn=nss,dc=ubuntu,dc=fi" -W Enter LDAP Password: # 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 memberUid: ltsp030 # 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 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 001 [--] # nss, ubuntu.fi dn: cn=nss,dc=ubuntu,dc=fi objectClass: organizationalRole objectClass: simpleSecurityObject cn: nss description: LDAP NSS user userPassword:: e01ENX1pSi9VV0crQUxLV0xUZ3dFbW1aajRRPT0= # ltsp030, People, ubuntu.fi dn: uid=ltsp030,ou=People,dc=ubuntu,dc=fi uid: ltsp030 cn: LTSP 030 homeDirectory: /home/ltsp030 uidNumber: 1030 objectClass: posixAccount objectClass: shadowAccount objectClass: person objectClass: inetOrgPerson gidNumber: 10000 gecos: LTSP 030 sn: LTSP 030 loginShell: /bin/bash # search result search: 2 result: 0 Success # numResponses: 37 # numEntries: 36 admin-ubuntu@ubuntu:~$
Tavallisena käyttäjänä tehdään kysely käyttäjästä "LTSP 001". Selainkäyttäjän salasana pitää luonnollisesti tuntea.
admin-ubuntu@ubuntu:~$ ldapsearch -x -D "cn=nss,dc=ubuntu,dc=fi" -W -u "cn=LTSP 001" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=ubuntu,dc=fi> (default) with scope subtree # filter: cn=LTSP 001 # requesting: ALL # # ltsp001, People, ubuntu.fi dn: uid=ltsp001,ou=People,dc=ubuntu,dc=fi ufn: ltsp001, People, ubuntu.fi cn: LTSP 001 uid: ltsp001 uidNumber: 1001 loginShell: /bin/bash homeDirectory: /home/ltsp001 gidNumber: 10000 objectClass: posixAccount objectClass: shadowAccount objectClass: inetOrgPerson objectClass: person sn: LTSP 001 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 admin-ubuntu@ubuntu:~$
LTSP-päätteen jättämät jäljet kummallakin palvelimella
LTSP-pääte ja LTSP-palvelin
/var/log/daemon.log
Jan 26 19:13:17 ubuntu dhcpd: DHCPREQUEST for 192.168.1.200 (192.168.1.101) from 00:22:15:15:4b:4c via eth0 Jan 26 19:13:17 ubuntu dhcpd: DHCPACK on 192.168.1.200 to 00:22:15:15:4b:4c via eth0 Jan 26 19:13:18 ubuntu nbdrootd[6342]: connect from 192.168.1.200 (192.168.1.200) Jan 26 19:13:18 ubuntu nbd_server[6343]: connect from 192.168.1.200, assigned file is /opt/ltsp/images/i386.img Jan 26 19:13:18 ubuntu nbd_server[6343]: Size of exported file/device is 556453888 Jan 26 19:13:40 ubuntu ldminfod[6352]: connect from 192.168.1.200 (192.168.1.200)
/var/log/auth.log
Jan 26 19:13:46 ubuntu sshd[6355]: Accepted password for ltsp001 from 192.168.1.200 port 43270 ssh2 Jan 26 19:13:46 ubuntu sshd[6357]: pam_unix(sshd:session): session opened for user ltsp001 by (uid=0)
LTSP-pääte ja openLDAP-palvelin
/var/log/syslog
Jan 26 19:13:46 ubuntu slapd[5287]: conn=32 op=2 SRCH base="ou=Group,dc=ubuntu,dc=fi" scope=1 deref=0 filter="(&(objectClass=posixGroup)(|(memberUid=ltsp001)(uniqueMember=uid=ltsp001,ou=people,dc=ubuntu,dc=fi)))"