在这种情况下如何启用符号链接

在这种情况下如何启用符号链接

我无法将这个问题归类为 ubuntu,因为它与它无关。但我知道这里的人肯定可以回答这个问题。我使用 SSH 登录到我的一个部署箱(这里没有 ubuntu)。

我正在使用一个名为 TeamCity 的工具,它使用用户主目录下的一个名为“.BuildServer”的文件夹。此文件夹的大小可能会随着应用程序的运行而增大,但当前用户只能获得有限的空间。但好消息是,我获得了 /home/deploy(deploy 是这里的用户)文件夹之外的文件夹访问权限。我现在想将 /home/deploy 目录中的这个 .BuildServer 链接到我获得权限的其他文件夹(这意味着所有文件都应重新路由到该目录)

希望我的问题清楚,请帮忙。

答案1

如果您想指向/home/deploy/.BuildServer其他目录,您有多种选择/under_root/somefolder/

1)创建符号链接

ln -s /under_root/somefolder/ /home/deploy/.BuildServer

您应该先删除 .BuildServer 目录。或者,您可以将.BuildServer目录移动到新位置:

mv /home/deploy/.BuildServer/ /under_root/somefolder/

现在运行ln命令(见上文)。注意:访问的用户/under_root/somefolder/应该有权访问该文件夹。假设用户是deploysomefolder由拥有deploy,但/under_root由其他用户拥有。现在有两种可能性:让deploy成为组的成员,用于/under_root并给组添加执行位。(chmod g+x /under_root)。另一种情况是 deploy 不能拥有组关系/under_root。在这种情况下,请确保任何人都可以进入目录:)chmod o+x /under_root。必须对“上方”的每个文件夹执行此操作/under_root/somefolder

2)绑定挂载

这只能由具有 root 权限的用户完成(询问您的系统管理员)。

mount --bind /under_root/somefolder /home/deploy/.BuildServer

使用这种方法,无需处理 的权限/under_root。与符号链接相比,另一个优势是即使 ssh chroot 到 ,此方法也能正常工作/home/deploy

相关内容