Doc*_*Doc 36 chroot debian symlink
我有一个用户被 chroot 到她的主目录,但我希望她也能够管理/var/www. 因此,我做了以下事情:
root@server:/home/username# ln -s /var/www www
root@server:/home/username# cd www
root@server:/home/username/www# chown username:username *
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试/www使用 FileZilla打开时,它返回“没有这样的文件或目录”。我可以看到链接的目录,但我无法访问它。我究竟做错了什么?
Chr*_*own 59
符号链接本质上只是指向另一个文件的指针,您不能指向 chroot 之外的内容,因为它正在寻找具有该名称的文件(/var/www,该文件在 chroot 中不存在)。另一方面,硬链接是指向 inode 的指针。因此,如果您想这样做,您需要通过省略-s. 但是,由于各种原因(主要是那些文件系统是DAG),您不能在 Linux 中硬链接目录(.和..除外)。
也许最好的方法是使用绑定安装。尝试这个:
mount --bind /var/www /home/username/www
Run Code Online (Sandbox Code Playgroud)