diff --git a/manifests/server.pp b/manifests/server.pp index b76a8c7..5517eee 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -14,6 +14,7 @@ $use_chroot = 'yes', $uid = 'nobody', $gid = 'nobody', + $fake_super = undef, $modules = {}, ) inherits rsync { diff --git a/manifests/server/module.pp b/manifests/server/module.pp index 972e4d6..bd2de3c 100644 --- a/manifests/server/module.pp +++ b/manifests/server/module.pp @@ -35,6 +35,7 @@ # $exclude - list of files to exclude # $exclude_from - file containing a list of files to exclude # $dont_compress - disable compression on matching files +# $fake_super - yes||no, store permission information in extended attributes, to allow running rsyncd as an unprivileged user # # sets up an rsync server # @@ -77,7 +78,8 @@ $exclude = undef, $exclude_from = undef, $dont_compress = undef, - $ignore_nonreadable = undef) { + $ignore_nonreadable = undef, + $fake_super = undef) { concat::fragment { "frag-${name}": content => template('rsync/module.erb'), diff --git a/templates/header.erb b/templates/header.erb index bd7756c..84d05da 100644 --- a/templates/header.erb +++ b/templates/header.erb @@ -14,3 +14,6 @@ address = <%= @address %> <% if @motd_file != 'UNSET' -%> motd file = <%= @motd_file %> <% end -%> +<% if @fake_super -%> +fake super = <%= @fake_super %> +<% end -%> diff --git a/templates/module.erb b/templates/module.erb index f1dee10..3ff3f7d 100644 --- a/templates/module.erb +++ b/templates/module.erb @@ -75,3 +75,6 @@ exclude from = <%= @exclude_from%> <% if @dont_compress -%> dont compress = <%= Array(@dont_compress).join(' ')%> <% end -%> +<% if @fake_super -%> +fake super = <%= @fake_super %> +<% end -%>