Version information
This version is compatible with:
- Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=3.5.0 <5.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'wusa-sftp_jail', '0.1.3'
Learn more about managing modules with a PuppetfileDocumentation
sftp_jail
Table of Contents
This module leverages saz-ssh to more easily create a more robust-ier SFTP jail.
Because of how SSH key pairs work in Linux, this module creates a home dir for each jail user, so that keys can be added to authorized_keys
and a homedir assigned without the nasty problem of the user escaping from the jail and landing in /
because of a mistaken homedir assignment.
Usage
Examples
Single user
The sftp_jail::jail
resource creates a jail with a single home directory and an incoming
directory. incoming
is owned by the user and group provided when declaring the resource:
sftp_jail::jail { 'myjail':
user => 'bbriggs',
group => 'bbriggs',
}
Shared jail
Sometimes, more than one user will need to access the same jail, but with different permissions. For instance, one may need read-write access while another is limited to read-only. In such a case, first create the jail with your write user and set up a match_group that redirects users. Again, the users and groups must already exist.
sftp_jail::jail { 'shared_jail':
user => 'writeuser',
group => 'writegroup',
match_group => 'sftpusers',
}
Now add a user to your jail.
sftp_jail::user { 'readuser':
jail => '/chroot/shared_jail',
}
To share write access to /incoming
, set the group
parameter of sftp_jail::jail
to a group that is common to both users, such as the sftpusers
group that you might use to redirect users into a jail.
Parameters
Jail
user
The user that will own the corresponding home directory in the jail, giving the user a place to land. Also sets user ownership for /incoming
.
group
The group that will own the corresponding home directory in the jail, giving the user a place to land. Also sets group ownership for /incoming
.
match_group
Set the group that SSHd will look for when redirecting users to the jail. Useful for shared jails. Defaults to the value of group
.
User
user
The username that will own the corresponding home directory in the jail, giving the user a place to land. Defaults to resource title.
group
The group that will own the corresponding home directory in the jail, giving the user a place to land. Defaults to resource title.
jail
The path of the jail's base directory, such as /chroot/myjail
. Do not include a trailing slash.
Change Log
All changes to this project will be documented in this file. This project adheres to Semantic Versioning.
2016-05-29 Release [0.1.3]
- Fixed duplicate declaration bug with ssh.
- Removed automatic inclusion of ssh class when sftp_jail is invoked (see previous bullet).
[YANKED] 2016-05-29 Release [0.1.2]
- Accidental/Empty release
2016-03-31 Release [0.1.0]
- Initial release
Dependencies
- saz/ssh (>= 2.5.0 < 3.0.0)
- puppetlabs/stdlib (>=4.1.0)