summaryrefslogtreecommitdiff
path: root/manifests/sftp_only.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/sftp_only.pp')
-rw-r--r--manifests/sftp_only.pp29
1 files changed, 29 insertions, 0 deletions
diff --git a/manifests/sftp_only.pp b/manifests/sftp_only.pp
new file mode 100644
index 0000000..2047ef1
--- /dev/null
+++ b/manifests/sftp_only.pp
@@ -0,0 +1,29 @@
+# gid: by default it will take the same as the uid
+define user::sftp_only(
+ $ensure = present,
+ $managehome = false,
+ $uid = 'absent',
+ $gid = 'uid',
+ $homedir_mode = '0750',
+ $password = 'absent',
+ $password_crypted = true
+) {
+ include user::groups::sftponly
+ user::managed{"${name}":
+ ensure => $ensure,
+ uid => $uid,
+ gid => $gid,
+ name_comment => "SFTP-only_user_${name}",
+ groups => [ 'sftponly' ],
+ managehome => $managehome,
+ homedir_mode => $homedir_mode,
+ shell => $operatingsystem ? {
+ debian => '/usr/sbin/nologin',
+ ubuntu => '/usr/sbin/nologin',
+ default => '/sbin/nologin'
+ },
+ password => $password,
+ password_crypted => $password_crypted,
+ require => Group['sftponly'],
+ }
+}