useradd.rb

Path: lib/puppet/provider/user/useradd.rb
Last Update: Thu Oct 23 01:19:07 +0200 2008

Required files

puppet/provider/nameservice/objectadd  

Methods

Public Instance methods

[Source]

    # File lib/puppet/provider/user/useradd.rb, line 40
40:     def add_properties
41:         cmd = []
42:         Puppet::Type.type(:user).validproperties.each do |property|
43:             next if property == :ensure
44:             # the value needs to be quoted, mostly because -c might
45:             # have spaces in it
46:             if value = @resource.should(property) and value != ""
47:                 cmd << flag(property) << value
48:             end
49:         end
50:         cmd
51:     end

[Source]

    # File lib/puppet/provider/user/useradd.rb, line 53
53:     def addcmd
54:         cmd = [command(:add)]
55:         cmd += add_properties
56:         cmd += check_allow_dup
57:         cmd += check_manage_home
58:         cmd << @resource[:name]
59:     end

[Source]

    # File lib/puppet/provider/user/useradd.rb, line 26
26:     def check_allow_dup
27:         @resource.allowdupe? ? ["-o"] : []
28:     end

[Source]

    # File lib/puppet/provider/user/useradd.rb, line 30
30:     def check_manage_home
31:         cmd = []
32:         if @resource.managehome?
33:             cmd << "-m"
34:         elsif %w{Fedora RedHat}.include?(Facter.value("operatingsystem"))
35:             cmd << "-M"
36:         end
37:         cmd
38:     end

Retrieve the password using the Shadow Password library

[Source]

    # File lib/puppet/provider/user/useradd.rb, line 62
62:     def password
63:         if ent = Shadow::Passwd.getspnam(@resource.name)
64:             return ent.sp_pwdp
65:         else
66:             return :absent
67:         end
68:     end

[Validate]