Skip to content

Commit c1dc4c7

Browse files
committed
make user/group of resources configurable
1 parent 6902474 commit c1dc4c7

File tree

8 files changed

+57
-33
lines changed

8 files changed

+57
-33
lines changed

data/common.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ ssh::server::sshd_config_mode: '0600'
2121
ssh::client::ssh_config: '/etc/ssh/ssh_config'
2222
ssh::server::service_name: 'svc:/network/ssh:default'
2323
ssh::sftp_server_path: 'internal-sftp'
24+
ssh::client::config_user: 0
25+
ssh::client::config_group: 0
26+
ssh::server::config_user: 0
27+
ssh::server::config_group: 0
28+
ssh::server::host_priv_key_user: 0
2429
ssh::server::host_priv_key_group: 0
2530
ssh::server::host_priv_key_mode: '0600'
2631
ssh::validate_sshd_file : false

manifests/client.pp

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,23 @@
3535
# @param match_block
3636
# Add ssh match_block (with concat)
3737
#
38+
# @param config_user
39+
# Numeric id or name of the user for the config file
40+
# @param config_group
41+
# Numeric id or name of the group for the config file
42+
#
3843
class ssh::client (
39-
Stdlib::Absolutepath $ssh_config,
40-
Hash $default_options,
41-
Optional[String[1]] $client_package_name = undef,
42-
String $ensure = present,
43-
Boolean $storeconfigs_enabled = true,
44-
Hash $options = {},
45-
Boolean $use_augeas = false,
46-
Array $options_absent = [],
47-
Hash $match_block = {},
44+
Stdlib::Absolutepath $ssh_config,
45+
Hash $default_options,
46+
Variant[Integer, String[1]] $config_user,
47+
Variant[Integer, String[1]] $config_group,
48+
Optional[String[1]] $client_package_name = undef,
49+
String $ensure = present,
50+
Boolean $storeconfigs_enabled = true,
51+
Hash $options = {},
52+
Boolean $use_augeas = false,
53+
Array $options_absent = [],
54+
Hash $match_block = {},
4855
) {
4956
if $use_augeas {
5057
$merged_options = sshclient_options_to_augeas_ssh_config($options, $options_absent, { 'target' => $ssh_config })

manifests/client/config.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
} else {
1919
concat { $ssh::client::ssh_config:
2020
ensure => present,
21-
owner => 0,
22-
group => 0,
21+
owner => $ssh::client::config_user,
22+
group => $ssh::client::config_group,
2323
mode => '0644',
2424
}
2525

manifests/server.pp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,21 @@
2323
# @param sshd_config_mode
2424
# Mode to set on the sshd config file
2525
#
26+
# @param host_priv_key_user
27+
# Numeric id or name of the user for the private host key
28+
#
2629
# @param host_priv_key_group
27-
# Name of the group for the private host key
30+
# Numeric id or name of the group for the private host key
2831
#
2932
# @param host_priv_key_mode
3033
# Mode of the private host key
3134
#
35+
# @param config_user
36+
# Numeric id or name of the user for the sshd config file
37+
#
38+
# @param config_group
39+
# Numeric id or name of the group for the sshd config file
40+
#
3241
# @param default_options
3342
# Default options to set, will be merged with options parameter
3443
#
@@ -80,8 +89,11 @@
8089
Stdlib::Absolutepath $sshd_dir,
8190
Stdlib::Absolutepath $sshd_binary,
8291
Stdlib::Filemode $sshd_config_mode,
83-
Integer $host_priv_key_group,
92+
Variant[Integer, String[1]] $host_priv_key_user,
93+
Variant[Integer, String[1]] $host_priv_key_group,
8494
Stdlib::Filemode $host_priv_key_mode,
95+
Variant[Integer, String[1]] $config_user,
96+
Variant[Integer, String[1]] $config_group,
8597
Hash $default_options,
8698
String $ensure = present,
8799
Optional[Stdlib::Absolutepath] $include_dir = undef,

manifests/server/config.pp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
} else {
3535
concat { $ssh::server::sshd_config:
3636
ensure => present,
37-
owner => 0,
38-
group => 0,
37+
owner => $ssh::server::config_user,
38+
group => $ssh::server::config_group,
3939
mode => $ssh::server::sshd_config_mode,
4040
validate_cmd => $sshd_validate_cmd,
4141
notify => Service[$ssh::server::service_name],
@@ -51,8 +51,8 @@
5151
if $ssh::server::include_dir {
5252
file { $ssh::server::include_dir:
5353
ensure => directory,
54-
owner => 0,
55-
group => 0,
54+
owner => $ssh::server::config_user,
55+
group => $ssh::server::config_group,
5656
mode => $ssh::server::include_dir_mode,
5757
purge => $ssh::server::include_dir_purge,
5858
recurse => $ssh::server::include_dir_purge,
@@ -68,8 +68,8 @@
6868
if $ssh::server::use_issue_net {
6969
file { $ssh::server::issue_net:
7070
ensure => file,
71-
owner => 0,
72-
group => 0,
71+
owner => $ssh::server::config_user,
72+
group => $ssh::server::config_group,
7373
mode => $ssh::server::sshd_config_mode,
7474
content => template("${module_name}/issue.net.erb"),
7575
notify => Service[$ssh::server::service_name],

manifests/server/config_file.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131

3232
concat { $path:
3333
ensure => present,
34-
owner => 0,
35-
group => 0,
34+
owner => $ssh::server::config_user,
35+
group => $ssh::server::config_group,
3636
mode => $mode,
3737
validate_cmd => $sshd_validate_cmd,
3838
notify => Service[$ssh::server::service_name],

manifests/server/host_key.pp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@
8787
if $ensure == 'present' {
8888
file { "${name}_pub":
8989
ensure => $ensure,
90-
owner => 0,
91-
group => 0,
90+
owner => $ssh::server::config_user,
91+
group => $ssh::server::config_group,
9292
mode => '0644',
9393
path => "${ssh::server::sshd_dir}/${name}.pub",
9494
source => $manage_pub_key_source,
@@ -98,7 +98,7 @@
9898

9999
file { "${name}_priv":
100100
ensure => $ensure,
101-
owner => 0,
101+
owner => $ssh::server::host_priv_key_user,
102102
group => $ssh::server::host_priv_key_group,
103103
mode => $ssh::server::host_priv_key_mode,
104104
path => "${ssh::server::sshd_dir}/${name}",
@@ -110,16 +110,16 @@
110110
} else {
111111
file { "${name}_pub":
112112
ensure => $ensure,
113-
owner => 0,
114-
group => 0,
113+
owner => $ssh::server::config_user,
114+
group => $ssh::server::config_group,
115115
mode => '0644',
116116
path => "${ssh::server::sshd_dir}/${name}.pub",
117117
notify => Class['ssh::server::service'],
118118
}
119119

120120
file { "${name}_priv":
121121
ensure => $ensure,
122-
owner => 0,
122+
owner => $ssh::server::host_priv_key_user,
123123
group => $ssh::server::host_priv_key_group,
124124
mode => $ssh::server::host_priv_key_mode,
125125
path => "${ssh::server::sshd_dir}/${name}",
@@ -132,8 +132,8 @@
132132
if $ensure == 'present' {
133133
file { "${name}_cert":
134134
ensure => $ensure,
135-
owner => 0,
136-
group => 0,
135+
owner => $ssh::server::config_user,
136+
group => $ssh::server::config_group,
137137
mode => '0644',
138138
path => "${ssh::server::sshd_dir}/${name}-cert.pub",
139139
source => $manage_cert_source,
@@ -143,8 +143,8 @@
143143
} else {
144144
file { "${name}_cert":
145145
ensure => $ensure,
146-
owner => 0,
147-
group => 0,
146+
owner => $ssh::server::config_user,
147+
group => $ssh::server::config_group,
148148
mode => '0644',
149149
path => "${ssh::server::sshd_dir}/${name}-cert.pub",
150150
notify => Class['ssh::server::service'],

manifests/server/instances.pp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555

5656
concat { $sshd_instance_config_file:
5757
ensure => $ensure,
58-
owner => 0,
59-
group => 0,
58+
owner => $ssh::server::config_user,
59+
group => $ssh::server::config_group,
6060
mode => '0600',
6161
validate_cmd => $validate_cmd,
6262
notify => Service["${title}.service"],

0 commit comments

Comments
 (0)