You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

FileZilla共享外接硬盘文件报错问题求助

FileZilla共享外接硬盘文件报错问题求助

Hey,你遇到的这个问题我之前帮不少朋友排查过,大概率是权限或者挂载配置的问题,咱们一步步来捋清楚:

  • 先确认外接硬盘的挂载状态与基础权限
    先SSH登录你的VPS,执行df -h命令,看看外接硬盘是不是已经成功挂载,找到它对应的挂载点(比如/mnt/external_hd这种)。
    接着用ls -ld /mnt/external_hd查看挂载点的权限,确保你用来连接FTP的用户(不管是默认的ftp用户还是你自定义的账号)拥有读/写权限。如果权限不对,用chmod 755 /mnt/external_hd开启读权限(要写权限的话用chmod 775),同时记得把FTP用户加到对应的用户组里:usermod -aG ftp your_ftp_username

  • 检查FileZilla Server的用户共享配置
    登录FileZilla Server的管理界面,找到你用的FTP用户,查看「共享文件夹」设置:

    • 务必确认你添加的共享路径是外接硬盘的实际挂载点,别填成设备路径(比如/dev/sdb1这种是不对的);
    • 检查用户对这个共享文件夹的权限开关,是不是根据你的需求勾选了「读取」「写入」,有时候默认可能只开了部分权限,导致访问失败。
  • 排查系统安全策略的限制
    很多VPS默认开启了SELinux(CentOS/RHEL系列)或AppArmor(Debian/Ubuntu系列),这些安全工具可能会阻止FTP进程访问外接硬盘:

    • 如果是SELinux,先临时关闭测试:setenforce 0,之后再用客户端访问试试。如果能正常访问了,就需要配置永久规则,比如setsebool -P ftp_home_dir on,或者针对挂载点添加规则:semanage fcontext -a -t public_content_rw_t "/mnt/external_hd(/.*)?",执行完再刷新规则:restorecon -Rv /mnt/external_hd
    • 如果是AppArmor,找到对应的配置文件(比如/etc/apparmor.d/usr.sbin.proftpd,FileZilla Server常依赖proftpd后端),把外接硬盘的挂载点路径添加到允许访问的列表里,然后重启AppArmor服务:systemctl restart apparmor
  • 留意外接硬盘的文件系统权限(尤其是NTFS格式)
    如果你的外接硬盘是NTFS格式,挂载时没设置权限参数的话,所有文件都会默认归root所有,FTP用户根本访问不了。这种情况要修改/etc/fstab里的挂载配置,比如:

    /dev/sdb1 /mnt/external_hd ntfs-3g defaults,uid=ftp,gid=ftp,umask=002 0 0
    

    修改后执行mount -a重新挂载,这样FTP用户就能拥有对应权限了。

备注:内容来源于stack exchange,提问作者hawk8327

火山引擎 最新活动