summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/user/useradd.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/provider/user/useradd.rb')
-rw-r--r--lib/puppet/provider/user/useradd.rb11
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