我允许朋友在我的机器上拥有一个本地帐户,专门用于 SCP。我可以将他的帐户的 shell 指定为/bin/true
,或以任何其他方式限制该帐户,同时仍允许 SCP 吗?
答案1
我建议使用rsync
而不是scp
.对于用户来说,它还有更多实用的功能。在服务器端,它带有rrsync
允许synvc
访问给定目录,但不允许一般 shell 访问,也不允许访问其他目录。
或者,您可以限制该帐户仅允许 SFTP 而不允许 shell 访问。 SFTP 是 SSH 协议中的一种独特访问类型,与通过在服务器上运行 shell 命令来工作的 rsync 和 scp 不同。 (rrsync 通过仅允许一个特定的 shell 命令来限制访问,该命令仅支持某些 rsync 传输,而不支持其他任何操作。)SFTP 访问启用了 SFTP 客户端以及SSHFS。
历史上曾有过这样的项目rssh
和scponly
,您可以将其设置为用户的 shell,然后用户将只能运行文件副本而无法获得 shell 访问权限。然而,这些项目目前尚未维护,而且很可能不安全。
答案2
不,你不知道。正如 Gilles 指出的那样,rssh 非常适合此目的,就像斯波利。也可以看看这个相关问题中的讨论。