查看源代码 ssh_sftpd (ssh v5.2.5)

指定用于处理 SFTP 子系统的通道进程。

指定用于处理 SFTP 子系统的通道进程。

概要

函数

应与 ssh:daemon/[1,2,3] 一起使用

函数

链接到此函数

subsystem_spec(Options)

查看源代码
-spec subsystem_spec(Options) -> Spec
                        when
                            Options ::
                                [{cwd, string()} |
                                 {file_handler, CbMod | {CbMod, FileState}} |
                                 {max_files, integer()} |
                                 {root, string()} |
                                 {sftpd_vsn, integer()}],
                            Spec :: {Name, {CbMod, Options}},
                            Name :: string(),
                            CbMod :: atom(),
                            FileState :: term().

应与 ssh:daemon/[1,2,3] 一起使用

Name"sftp"CbMod 是 Erlang 模块的名称,该模块使用 ssh_server_channel(替代 ssh_daemon_channel)行为实现子系统。

选项

  • cwd - 设置服务器的初始当前工作目录。

  • file_handler - 确定调用哪个模块来访问文件服务器。默认值为 ssh_sftpd_file,它使用 filefilelib API 来访问标准 OTP 文件服务器。此选项可用于插入其他文件服务器。

  • max_files - 默认值为 0,表示没有上限。如果提供,则每次 READDIR 请求返回给 SFTP 客户端的文件名数量将限制为最多给定值。

  • root - 设置 SFTP 根目录。然后,用户将无法看到此根目录之上的任何文件。例如,如果根目录设置为 /tmp,则用户会将此目录视为 /。如果用户随后写入 cd /etc,则用户将移动到 /tmp/etc

  • sftpd_vsn - 设置要使用的 SFTP 版本。默认为 5。版本 6 正在开发中,并且有限。