From ade7be48786f70adda0260c60ca28e4ca1288f2a Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 6 Oct 2008 20:33:54 +0000 Subject: introduce some dependencies, manage home now by usertype, cleaned up whitespace stuff --- manifests/init.pp | 92 ++++++++++++++++++++++++++----------------------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 1a5b4e7..de635ce 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -10,59 +10,55 @@ class user {} # ssh:_key have to be handed over as the classname # containing the ssh_keys define user::define_user( - $name, - $name_comment = '', - $uid, - $gid, - $home_dir = '', + $name_comment = '', + $uid, + $gid, + $home_dir = '', $home_dir_mode = '0750', - $ssh_key = '', - $shell = '' - ){ + $ssh_key = '', + $shell = '' +){ + $real_home_dir = $home_dir ? { + '' => "/home/$name", + default => $home_dir + } - $real_home_dir = $home_dir ? { - '' => "/home/$name", - default => $home_dir - } - - $real_name_comment = $name_comment ? { - '' => $name, - default => $name_comment, - } - - $real_shell = $shell ? { - '' => $operatingsystem ? { - openbsd => "/usr/local/bin/bash", - default => "/bin/bash", - }, - default => $shell, - } + $real_name_comment = $name_comment ? { + '' => $name, + default => $name_comment, + } - user { $name: - allowdupe => false, - comment => "$real_name_comment", - ensure => present, - gid => $gid, - home => $real_home_dir, - shell => $real_shell, - uid => $uid, - } + $real_shell = $shell ? { + '' => $operatingsystem ? { + openbsd => "/usr/local/bin/bash", + default => "/bin/bash", + }, + default => $shell, + } - case $name { - root: {} - default: { - group { $name: - allowdupe => false, - ensure => present, - gid => $gid - } - } - } + user { $name: + allowdupe => false, + comment => "$real_name_comment", + ensure => present, + gid => $gid, + home => $real_home_dir, + managehome => true, + shell => $real_shell, + uid => $uid, + before => Class[$ssh_key], + } - file {$real_home_dir: - ensure => directory, - mode => $home_dir_mode, owner => $name, group => $gid; - } + case $name { + root: {} + default: { + group { $name: + allowdupe => false, + ensure => present, + gid => $gid + require => User[$name], + } + } + } case $ssh_key { '': {} -- cgit v1.2.3