仅授予用户对 1 个目录的权限

仅授予用户对 1 个目录的权限

我的家庭服务器上使用的是 Debian。我的目标是创建一个只允许在其目录中上传文件的用户(/var/www/user)。该用户应该能够使用 SSH 访问其目录,但不能查看父目录。/var/www/user 应该是其根目录,而他不能查看 /var/www。我该如何限制用户权限?

答案1

您可以将以下指令放入 /etc/ssh/sshd_config:

ChrootDirectory /var/www/%u

man sshd_config

请注意,使用此设置,除非 /var/www/user 包含完整的 shell 环境(/bin/sh 等),否则用户将无法登录交互式会话。但他们将能够使用 ssh/scp/sftp 将文件传输到该目录或从该目录传输出文件。

以上内容将适用于所有用户。若要将其限制为仅限一个用户,请Match User user在 sshd_config 之前添加ChrootDirectory

答案2

也许监狱工具可以派上用场。这是一个为用户设置 chroot 环境的工具,它只提供非常特定的可执行文件,同时限制对某个目录及其子目录的访问。

相关内容