有人知道如何在 Linux 中创建符号“目录”吗?

有人知道如何在 Linux 中创建符号“目录”吗?

我尝试过这个ln -s directory_to_use directory方法,但它所做的只是创建一个链接到的“文件” directory_to_use,在使用 FTP 时它不起作用。

我正在寻找的是,例如,cPanel 的www目录指向public_html一个符号链接(www本身是一个目录),两者都列出相同的内容。

有人知道如何创建这种符号链接吗?

答案1

只有一种符号链接。

您在 FTP 中遇到的问题可能是 FTP 服务器被限制在文件系统的子树中(这称为chroot 监狱),指向该子树之外的符号链接将不起作用。这是设计使然:chroot jail 是为了安全,您一定不能通过跟随符号链接逃离 jail。

将您需要使用 FTP 访问的所有文件都放入监狱中。只要符号链接不试图越狱,它们就会起作用。

(如果您是机器的 root 权限,则有办法使 jail 内可访问更多文件,但如果您不了解所有问题,我不建议您摆弄它。)

答案2

如果您遇到 chroot 问题,并且确实希望使文件可在另一个目录中访问,硬链接可能是解决方案。请记住,通过在该目录中创建硬链接,您将暴露您链接到的文件(大概这样没问题)

要创建 directoryA 的硬链接副本作为 directoryB/directoryA(假设 directoryB 已经存在),您可以使用:

cp -rl directoryA directoryB/

例子:

mkdir /var/dupe
cp -rl /var/log /var/dupe/

答案3

一般来说它是有效的。也许你应该检查权限。

例如,在您的情况下,检查 apache 的 error_log。它可能表明您无权访问。

答案4

你误解了这个问题

最有可能的是,问题在于您的 FTP 帐户被 chroot 了,无法切换到符号链接指示的目录。大多数 FTP 客户端应该支持符号链接,通常甚至会用一个特殊图标显示它,表示它是一个链接。如果您的 FTP 客户端无法正常工作,请尝试使用开源客户端 FileZilla,它非常好用。

相关内容