diff options
Diffstat (limited to 'lib/puppet/provider/user/useradd.rb')
| -rw-r--r-- | lib/puppet/provider/user/useradd.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/puppet/provider/user/useradd.rb b/lib/puppet/provider/user/useradd.rb index 55cc2d5dd..8ed0a9bd1 100644 --- a/lib/puppet/provider/user/useradd.rb +++ b/lib/puppet/provider/user/useradd.rb @@ -17,6 +17,8 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ value !~ /\s/ end + has_features :manages_homedir, :allows_duplicates + def addcmd cmd = [command(:add)] @model.class.validproperties.each do |property| @@ -33,10 +35,17 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ cmd << "-M" else end - if @model[:allowdupe] == :true + + if @model.allowdupe? cmd << "-o" end + if @model.managehome? + cmd << "-m" + elsif %w{Fedora RedHat}.include?(Facter.value("operatingsystem")) + cmd << "-M" + end + cmd << @model[:name] cmd |
