我试图设置SFTP,以便一些可信任的人可以访问/编辑/创build一些文件。 我有一个用户进入他们的主目录(/ home / name),但遇到了问题。 我希望他们也能够访问VPS的其他部分,因为它也是一个游戏服务器,虚拟主机等,我希望他们能够完全控制在他们的监狱目录之外的文件。
我试图做一个符号链接(ln -s)到所需的目录,但它不能正常工作。 我尝试(cp -rl)到我想要访问的文件,它工作 – 他们可以编辑他们的目录中的文件,它改变了存储在监狱之外的文件。 但他们不能创build新的文件(他们可以但不会更新监狱之外)。 我知道我可能不是这样做的“正确的方式”,但我能做些什么来做我想要的?
符号链接纯粹是象征性的:它们只包含一个path,所以当你打开一个符号链接时,操作系统读取path并使用它。 在chroot环境中,链接(尤其是具有绝对path的链接)通常不会指向正常环境中指向的相同位置。
如果服务器操作系统是Linux,那么最好的办法就是将整个目录绑定到chroot目录中的某处。 当使用这个时,重要的是要记住,这不是目录的副本,在这里删除的任何内容都将从其他目录中删除(如果用户可以使用mv
文件或rm -rf
)。 去做这个:
mount --bind /some/directory /somewhere/else
目录中的文件应该是真实的文件。 这里的符号链接可能会有相同的问题,你有试图链接到文件的第一位。