在主目录之外的其他目录中启动 SSH 会话并将其锁定在那里

在主目录之外的其他目录中启动 SSH 会话并将其锁定在那里

我已经设置了一个 SSH 服务器,让一些朋友可以通过 SSH 和 FileZilla 登录该服务器。我在两个硬盘的主目录中放置了一个符号链接,以便它们可以访问一些文件。事实证明,这对于某些 FileZilla (Windows) 用户来说太困难了,他们总是在文件系统中迷失方向。

我的问题是:

  • 是否可以让 SSH 用户在其主目录之外的其他目录中启动?将“cd some_dir”附加到其 .bashrc 仅适用于 SSH,不适用于 FileZilla。

  • 是否可以锁定该目录及其子目录中的用户?有些用户转到 / 并且找不到返回的路,尽管我不断向他们解释他们可以在目标字段中输入“/path/to/their/dir”。

答案1

我建议您更改用户的主目录以指向目标目录。您可以通过/etc/passwd直接编辑或usermod --home NEW_HOME_DIR username(这也将复制前一个文件中的文件)来完成此操作。

更新: 至于加锁,除了监狱之外,没有太多选择chroot。如果将登录 shell 设置为/bin/rbash,它将启动受限 shell。除此之外,这意味着cd将不起作用,使用绝对路径的命令也将不起作用。阅读bash(1)下面的手册页RESTRICTED SHELL了解更多详情。

相关内容