ssh_sftpd(3)

NAME
ssh_sftpd - Specifies the channel process to handle an SFTP subsystem.

DESCRIPTION

Specifies a channel process to handle an SFTP subsystem.

EXPORTS

subsystem_spec(Options) -> Spec

    Types:
        Options =
            [{cwd, string()} |
             {file_handler, CbMod | {CbMod, FileState}} |
             {max_files, integer()} |
             {max_handles, integer()} |
             {max_path, integer()} |
             {root, string()} |
             {sftpd_vsn, integer()}]
        Spec = {Name, {CbMod, Options}}
        Name = string()
        CbMod = atom()
        FileState = term()

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

    The Name is "sftp" and CbMod is the name of the Erlang module implementing the subsystem using the ssh_server_channel (replaces ssh_daemon_channel) behaviour.

    Options:

        cwd:
            Sets the initial current working directory for the server.

        file_handler:
            Determines which module to call for accessing the file server. The default value is ssh_sftpd_file, which uses the file and filelib APIs to access the standard OTP file server. This option can be used to plug in other file servers.

        max_files:
            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.

        max_handles:
            The default value is 1000. Positive integer value represents the maximum number of file handles allowed for a connection.

        max_path:
            The default value is 4096. Positive integer value represents the maximum path length which cannot be exceeded in data provided by the SFTP client. (Note: limitations might be also enforced by underlying operating system)

        root:
            Sets the SFTP root directory. The user cannot access files outside this directory tree. If, for example, the root directory is set to /tmp, then the user sees this directory as /. If the user then writes cd /etc, the user moves to /tmp/etc.

            Note: This provides application-level isolation. For additional security, consider using OS-level chroot or similar mechanisms. See the SFTP Security section in the Hardening guide for deployment recommendations.

        sftpd_vsn:
            Sets the SFTP version to use. Defaults to 5. Version 6 is under development and limited.