Harjoitustehtävän aiheena oli oman Puppet modulin julkaiseminen. Julkaistava moduli sisältää edellisessä harjoitustehtävässä kuvatun Puppet modulin toteutuksen mukaiset tiedostot. Nyt julkaistavaa Puppet modulia voidaan käyttää Linux käyttöjärjestelmän käyttäjienhallinnan perustehtäviin suorittamiseen Puppet Agent koneilla. Modulia voidaan myös helposti laajentaa erilaisten käyttötarpeiden mukaisesti.
Puppet moduli on ladattavissa Dropbox linkistä https://www.dropbox.com/s/1e9eiqo7alrnggw/eliimatt-usermgt-0.0.1.tar.gz
Harjoitusympäristö
Harjoitus suoritettiin 12.12.2012 opiskelijan kotona käyttäen Haaga-Helian TIKO-kannettavaa. Internet-yhteytenä oli Elisa Oyj:n tarjoama VDSL tyyppinen 100/10 mbit kiinteä laajakaistayhteys. Haaga-Helian TIKO-kannettavan käyttöjärjestelmä ladattiin Xubuntu versio 12.04 32-bittinen Linux live-cd:ltä. Tietokoneen kiintolevylle asennettua käyttöjärjestelmää ei käytetty harjoitustehtävän suorittamiseen.
Haaga-Helian TIKO-kannettava HP EliteBook 2560p kokoonpano:
- Suoritin:Intel Core i5-2450M @2.50GHz
- Keskusmuisti: 8 Gt DDR3
- Kiintolevy: 500 Gt SATA300 7200rpm
- Käyttöjärjestelmä: Windows 7 Professional 64-bittinen
Puppet modulin julkaiseminen
Palautin ensiksi edellisen harjoitustehtävän yhteydessä käytetyt tiedostot tekemistäni varmuuskopioista Xubuntu live-cd:n käyttäjän xubuntu kotihakemistoon. Kirjoitin modulille tekstimuotoisen README tiedoston käyttäen edellisen harjoitustehtävä tekstejä pohjana. Nimesin modulin hakemiston Puppet Forge tyylillä tekijä-moduli_nimi-versio_numero. Modulin eliimatt-usermgt-0.0.1 julkaisuhakemiston rakenne on seuraava:
├── eliimatt-usermgt-0.0.1
│ ├── files
│ │ ├── bash_aliases
│ │ └── profile
│ ├── lib
│ │ └── puppet
│ │ └── parser
│ │ └── functions
│ │ └── hashpw.rb
│ ├── manifests
│ │ ├── change_password.pp
│ │ ├── create_user.pp
│ │ ├── remove_user.pp
│ │ └── setup_etcskel.pp
│ └── README
Pakkasin modulin hakemiston tar ohjelmalla komennolla:
$ tar czvf eliimatt-usermgt-0.0.1.tar.gz eliimatt-usermgt-0.0.1/
Tein itselleni Dropbox tilin ja siirsin modulipaketin Dropbox hakemistoon. Otin Dropbox linkin talteen ja lisäsin sen tähän blogikirjoitukseen. Modulin kehittämisessä käytetyt lähteet esitetään vielä kertauksena.
Puppet modulin asennusohjeet
Pura modulin asennuspaketti Puppet Master koneella hakemistoon /etc/puppet/modules ja muuta hakemiston nimi muotoon usermgt komennolla:
$ mv eliimatt-usermgt-0.0.1/ usermgt
Modulia suositellaan käytettäviksi tiedostojen /etc/puppet/manifests/site.pp ja /etc/puppet/manifests/nodes.pp avulla. Näiden tiedostojen käyttämisestä
on esimerkki edellisessä harjoitustehtävässä.
Lähteet
Cooper, M. 2012. Advanced Bash-Scripting Guide. Appendix M. Sample .bashrc and .bash_profile Files.
http://tldp.org/LDP/abs/html/sample-bashrc.html
Finninday.net 2011. Zero to puppet in one day. Puppet master configs.
http://finninday.net/wiki/index.php/Zero_to_puppet_in_one_day#Puppet_master_configs
Karvinen, Tero 2012a. Linux keskitetty hallinta ICT4TN011-2 kurssin kotisivu.
http://terokarvinen.com/2012/aikataulu-linuxin-keskitetty-hallinta-ict4tn011-2-puppet
Karvinen, Tero 2012b. PuppetMaster on Ubuntu 12.04.
http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04
Liimatta, Eino 2012. Läksy w48: Oman Puppet modulin toteuttaminen.
http://eliimatt.wordpress.com/2012/12/05/laksy-w48-oman-puppet-modulin-toteuttaminen/
Liimatta, Eino 2012. Läksy w45: Muotit, parametrisoidut luokat ja määritellyt tyypit.
http://eliimatt.wordpress.com/2012/11/15/laksy-w45-muotit-parametrisoidut-luokat-ja-maaritellyt-tyypit
Ortega, Felipe 2012. [Puppet Users] rand losing its randomness after using fqdn_rand.
https://groups.google.com/forum/#!msg/puppet-users/kc_KJwLwHvo/FjokplF1IuoJ
Pereira, Jude 2012. Use Ruby to Generate your Shadow Password.
http://judepereira.com/blog/use-ruby-to-generate-your-shadow-password/
Sobral, Daniel 2010. Module dcsobral/users. Puppet Forge.
http://forge.puppetlabs.com/dcsobral/users
About
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti.
http://www.gnu.org/licenses/gpl.html
Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen
Avainsanat: Puppet Agent, Puppet Master, Puppet module, user management, Xubuntu