Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- site.pp:
- node default {
- include users::mysite
- resources { user: purge => true }
- Group<| name == dev |>
- Group<| name == qa |>
- Group<| name == ops |>
- Group<| name == ops |> -> Users::Virtual::Localuser<| title == jim |>
- Group<| name == ops |> -> Users::Virtual::Localuser<| title == bob |>
- Group<| name == dev |> -> Users::Virtual::Localuser<| title == alex |>
- Group<| name == dev |> -> Users::Virtual::Localuser<| title == nick |>
- }
- users/manifests/virtual.pp
- class users::virtual {
- define localuser ($ensure,$uid,$groups,$realname,$pass,$sshkey="") {
- user { $title:
- ensure => $ensure,
- uid => $uid,
- groups => $groups,
- shell => "/bin/bash",
- home => "/home/$title",
- comment => $realname,
- password => $pass,
- managehome => true,
- }
- if ( $sshkey != "" ) {
- ssh_authorized_key { $title:
- ensure => "present",
- type => "ssh-rsa",
- key => "$sshkey",
- user => "$title",
- require => User["$title"],
- name => "$title",
- }
- }
- file { "/home/$title/":
- ensure => directory,
- owner => $title,
- mode => 700,
- require => User[$title]
- }
- }
- }
- users/manifets/mysite.pp
- @users::virtual::localuser { "nick":
- ensure => present,
- realname => "nick",
- uid => "1007",
- groups => ["users","dev"],
- pass => 'alksdjflkajsd',
- sshkey => 'asdfasdfasdf',
- }
Add Comment
Please, Sign In to add comment