可以禁用 sftp 的目录列表吗?

可以禁用 sftp 的目录列表吗?

小组讨论中出现了一个问题:能否在保留读写访问权限的同时禁用 sftp 的目录列表?

如果有帮助的话,我们正在 ubuntu 服务器 11.02 上使用 openssh。

答案1

删除读取权限。

  • 对目录的读取访问权限意味着您可以查看该目录中的文件列表。
  • 执行 (X) 访问意味着您可以 cd 进入目录或遍历它
  • 写访问权限意味着您可以添加或更改目录中的项目。

答案2

我不这么认为。

我在 sshd_config 手册页中没有发现任何有关限制 sftp 命令的提示(例如您可以对某些 ftp 守护进程施加的限制)。

我还没有对此进行测试,但也许您可以将该ls命令别名为在 ssh 上下文中不执行任何操作的命令(因此可以在 .sshrc 中或通过强制命令)。

答案3

我最近刚刚设置了一个 chroot sftp 系统,当我测试时,我注意到具有 /bin/false shell 的 chroot 用户无法ls在不被踢出的情况下执行程序。 sshd_config 也使用内部 sftp 服务器。

我还没有时间调查它,但我怀疑内部 sftp-server 正在尝试生成一个子 shell,并且被拒绝,因为用户的 shell 是 /bin/false。这只是一个理论。

FWIW,我的用户主目录是 root:root 755。

相关内容