我有两台计算机,都运行 Ubuntu(一台运行 Ubuntu Server 10.04LTS,另一台运行 Ubuntu Desktop 10.10)。我在桌面上设置了 Samba 共享。在服务器上,我将 Samba 共享安装到 /mnt/fileserver。这是共享:
[files]
path = /home/fileserver/files
guest ok = yes
writeable = yes
create mask = 0777
directory mask = 0777
我在服务器上有一个脚本,用于备份我的本地 Web 开发文件并将其放在桌面上。它们被压缩,然后放入 Samba 安装中。当我尝试使用 mv 命令将它们移动到 Samba 安装中时,我得到了
mv: failed to preserve ownership for 'file': Permission denied
我的脚本如下所示:
_DIR=$(date +%m-%d-%Y)
mkdir /mnt/fileserver/webserver_backups/$_DIR
tar vfcpj /tmp/www.tar.bz2 /var/www 2>> /var/log/backup.txt
mv /tmp/www.tar.bz2 /mnt/fileserver/webserver_backups/$_DIR/www.tar.bz2
所有文件似乎仍能正常传输,但我很好奇为什么会出现这个错误。
答案1
忽略错误。
Linux 和 Windows 以完全不同的方式设置文件权限。文件可以正常传输,但由于权限样式不兼容,因此您最初对文件拥有的权限不会传输。例如,哪个用户拥有该文件,它是否可执行,每个人都可以读取它还是不能读取它……
因此,传输的文件将继承 Samba 共享的挂载设置。如果您使用 Susan 的凭据进行挂载,则她现在拥有该文件。
答案2
我遇到了同样的错误,但文件还是被移动了。错误发生后,检查源和目标以查看文件移动是否成功。我花了很长时间寻找错误的解决方案,却没有意识到我不需要解决任何问题。