Specifies a channel process to handle a sftp subsystem.

Specifies a channel process to handle a sftp subsystem.


subsystem_spec() = {subsystem_name(), {channel_callback(), channel_init_args()}}

subsystem_name() = "sftp"

channel_callback() = atom() - Name of the erlang module implementing the subsystem using the ssh_channel behavior see ssh_channel(3)

channel_init_args() = list() - The one given as argument to function subsystem_spec/1.


subsystem_spec(Options) -> subsystem_spec()

  • Options = [{Option, Value}]

Should be used together with ssh:daemon/[1,2,3]

Options are:

{cwd, String}

Sets the initial current working directory for the server.

{file_handler, CallbackModule}

Determines which module to call for communicating with the file server. Default value is ssh_sftpd_file that uses the file and filelib API:s to access the standard OTP file server. This option may be used to plug in the use of other file servers.

{max_files, Integer}

The default value is 0, which means that there is no upper limit. If supplied, the number of filenames returned to the sftp client per READDIR request, is limited to at most the given value.

{root, String}

Sets the sftp root directory. The user will then not be able to see any files above this root. If for instance the root is set to /tmp the user will see this directory as / and if the user does cd /etc the user will end up in /tmp/etc.