Warm tip: This article is reproduced from serverfault.com, please click

backup-树莓派网络硬盘的 Rsnapshot 文件权限问题

(backup - Rsnapshot filepermission problem with network hdd over raspberry pi)

发布于 2020-12-28 17:06:22

在尝试解决这个问题几天后,我想在这里寻求帮助:

我想使用 rsnapshot 进行备份,它通常在服务器上运行并管理本地备份。就我而言,我想在我的计算机上运行 rsnapshot 并让 rsnapshot 管理我在外部硬盘驱动器上的备份。这个外部硬盘连接到我的树莓派并使用以下命令安装到我的计算机上:

sudo sshfs -o default_permissions,allow_other,idmap=user,IdentityFile=/home/user/.ssh/id_rsa pi@192.168.0.1:/mnt/externelHdd /mnt/backupHdd

这里,/mnt/backupHdd 是 rsnapshots 备份目录的本地根。

此外,我想将外部硬盘驱动器直接连接到我的计算机上以进行更大的备份作业。为此,我编写了一个脚本,它使用上层命令在本地或通过网络安装外部硬盘驱动器。之后,它使用 .rsnapshot 启动 rsnapshot 作业sudo rsnapshot daily当硬盘在本地连接时,一切正常。当它通过 sshfs 连接时,我收到权限被拒绝的错误。

当文件/目录是通过物理连接(不同用户:本地和 rasppi)创建时,Rsnapshot 显然不允许管理每个 sshfs 的文件。我想与选项来解决这个allow_otheridmap=user,但我认为还有更多的事情要做。所以我问你们:我如何授予 rsnapshot 的权限?

谢谢你的帮助!

编辑:

我收到以下错误:

/bin/cp: cannot create directory '/mnt/backupHdd/daily.1': Permission denied
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot daily 
----------------------------------------------------------------------------
ERROR: /bin/cp -al /mnt/backupHdd/daily.0 /mnt/backupHdd/daily.1 failed (result 256, exit status 1).
ERROR: Error! cp_al("/mnt/backupHdd/daily.0/", "/mnt/backupHdd/daily.1/")

Daily.0 是在硬盘连接到我的本地计算机时创建的。Daily.1 应该使用我的硬盘安装在 sshfs 上创建。

Questioner
franktank
Viewed
11
semisecure 2021-01-07 08:53:31

我假设你以 root 身份运行 rsnapshot,并且 root 拥有远程备份目录。该命令:

sudo sshfs -o default_permissions,allow_other,idmap=user,IdentityFile=/home/user/.ssh/id_rsa pi@192.168.0.1:/mnt/externelHdd /mnt/backupHdd

不会像我认为的那样成功。即使你sudo在连接的本地端使用,你仍然以“pi”身份进行 SSH 连接,这意味着在连接的远端所做的一切都是由用户 pi 完成的。没有选择sshfs可以改变这个事实。你需要启用 root 登录,然后以 root 身份或至少某些对该驱动器具有完全 R/W 访问权限的用户身份 ssh 登录。