树莓派Apache与ProFTPD无法识别硬盘符号链接问题求助
解决Apache和ProFTPD无法访问符号链接的问题
我来帮你一步步排查和解决这个问题,分Apache和ProFTPD两个部分来处理:
一、Apache部分的配置调整
修正目标目录的Apache配置
你的apache2.conf里只配置了/var/www/目录,但你的网站实际目录是/home/pi/www/html/,这会导致Apache没有对这个目录启用符号链接跟随。打开/etc/apache2/apache2.conf,添加以下配置段:<Directory /home/pi/www/html/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>添加后重启Apache服务:
sudo systemctl restart apache2确保Apache用户能访问符号链接目标
Apache默认以www-data用户运行,这个用户需要有进入符号链接目标路径的权限:- 给挂载点添加执行权限(进入目录需要执行权限):
sudo chmod o+x /media/hrc1tb - 给目标目录添加执行和读权限:
sudo chmod o+rx /media/hrc1tb/Film-Dizi
- 给挂载点添加执行权限(进入目录需要执行权限):
二、ProFTPD部分的配置调整
开启ProFTPD的符号链接支持
打开ProFTPD的主配置文件(通常是/etc/proftpd/proftpd.conf),添加针对你的FTP目录的配置:<Directory /home/pi/www/html/film> AllowSymlinks on SymlinksOwnerMatch off </Directory>AllowSymlinks on:允许服务器识别符号链接SymlinksOwnerMatch off:如果符号链接的所有者和FTP登录用户不一致,也允许访问(适合你的场景)
配置完成后重启ProFTPD:sudo systemctl restart proftpd
确保ProFTPD用户能访问目标目录
ProFTPD通常以nobody或ftp用户运行,同样需要给目标路径添加权限:sudo chmod o+x /media/hrc1tb sudo chmod o+rx /media/hrc1tb/Film-Dizi
额外检查项
- 挂载点权限:用
mount | grep /media/hrc1tb查看挂载选项,如果有noexec或nosuid,会阻止访问。需要编辑/etc/fstab,修改对应挂载行的选项,去掉noexec,然后执行sudo mount -o remount /media/hrc1tb重新挂载。 - 符号链接本身:确保符号链接创建正确,执行
ls -l /home/pi/www/html/film确认它指向的是正确的/media/hrc1tb/Film-Dizi路径。
内容的提问来源于stack exchange,提问作者Harun Reşit Ç
相关产品推荐
相关产品推荐

