You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rsync备份脚本执行时出现Permission denied(13)权限问题的解决咨询

rsync备份脚本执行时出现Permission denied(13)权限问题的解决咨询

看起来你在给MC服务器文件做USB备份时遇到了权限卡壳的问题,我来帮你拆解一下原因和解决办法:

核心问题:USB挂载点的权限限制

你遇到的Permission denied错误,本质不是源目录的权限问题(毕竟源目录已经是drwxrwxrwx+,而且你的用户也在minecraft-runners组里),而是USB驱动器的挂载权限没有给你的用户/组足够的写入权限。默认情况下,USB盘挂载后往往只有root或者特定用户有读写权限,导致rsync没法在上面创建目录或写入文件。

分步解决办法

1. 先检查当前USB挂载点的权限

先运行这条命令看看挂载点的权限细节:

ls -ld /home/user/sandisk-usb

如果输出是类似drwxr-xr-x的格式,说明组和其他用户只有读权限,没有写入权限,这就是问题根源。

2. 重新挂载USB盘并设置正确权限

首先卸载当前挂载的USB盘:

sudo umount /home/user/sandisk-usb

然后重新挂载,明确指定你的用户和所属组拥有读写权限(把user换成你的实际用户名,minecraft-runners保留):

sudo mount /dev/sdX1 /home/user/sandisk-usb -o uid=user,gid=minecraft-runners,umask=002
  • uid=user:让你的用户成为挂载点的所有者
  • gid=minecraft-runners:把挂载点的组设置为你的MC服务组
  • umask=002:保证目录权限是775、文件权限是664,组内成员有读写权限

3. 验证挂载权限并重新测试脚本

再次运行ls -ld /home/user/sandisk-usb,如果输出显示drwxrwxr-x,所有者是你的用户、组是minecraft-runners,那就没问题了。

现在直接运行你的rsync脚本,不需要手动创建目录,应该能正常同步所有子目录,不会再出现权限错误。

额外的crontab准备建议

因为你之后要把脚本放到crontab里定期执行,记得做这两件事:

  • 把USB盘的挂载配置写到/etc/fstab里,确保开机自动挂载(避免crontab执行时USB没挂载导致失败)。比如添加一行(注意替换文件系统类型,FAT32的话用vfat):
    /dev/sdX1 /home/user/sandisk-usb ext4 defaults,uid=user,gid=minecraft-runners,umask=002 0 2
    
  • 测试crontab任务时,可以先设置一个短周期(比如5分钟后执行),确认脚本能正常运行再调整到你需要的频率。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:49:32