目前我的用户已 chroot 到/srv/www
,但我想授予用户访问另一个目录 的权限/Zend/
。有什么办法吗?
我正在使用 Debian 6。
答案1
一般来说,chroot 的设计就不会让这种情况发生,除非你明确地做一些事情让其中一个目录出现为另一个目录的真正后代(而不是带有符号链接)。
这可以在各种类 Unix 上以各种方式完成(例如,使用 FreeBSD 中的空挂载)。 ProFTPd chroot 参考页面对在各种系统上执行此操作有一个很好的总结:
Linux (as of the 2.4.0 kernel):
mount --bind /var/ftp/incoming /home/bob/incoming
mount --bind /var/ftp/incoming /home/dave/incoming
or, alternatively:
mount -o bind /var/ftp/incoming /home/bob/incoming
mount -o bind /var/ftp/incoming /home/dave/incoming
BSD (as of 4.4BSD):
mount_null /var/ftp/incoming /home/bob/incoming
mount_null /var/ftp/incoming /home/dave/incoming
Solaris:
mount -F lofs /var/ftp/incoming /home/bob/incoming
mount -F lofs /var/ftp/incoming /home/dave/incoming
编辑:添加一些 Debian 特定的细节,您的挂载可能如下所示:
mount -o bind /true/path/to/Zend /srv/www/Zend
... 这样就会显示出来,就像/Zend
您的用户被 chroot 到 一样/srv/www
。