root 用户拒绝访问 rsnapshot 中的 .gvfs?

root 用户拒绝访问 rsnapshot 中的 .gvfs?

我以 root 身份运行rsnapshot,并收到以下错误。为什么会出现这种情况呢?什么是.gvfs

rsnapshot weekly                                                                    slave-iv
rsync: readlink_stat("/home/griff/.gvfs") failed: Permission denied (13)
IO error encountered -- skipping file deletion
rsync: readlink_stat("/home/xenoterracide/.gvfs") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]

答案1

.gvfs目录是挂载点(有时)。您可能想one_fs在 rsnapshot 配置中使用该选项(以便它传递--one-file-system到 rsync)。


重力加速度是一个库级文件系统实现,在 Gnome 项目(特别是libgvfscommon)编写的库中实现。与此库链接的应用程序可以使用文件系统 API 来访问 ftp、sftp、webdav、samba 等。

Gvfs 就像保险丝因为它允许在用户态代码中实现文件系统。 FUSE 需要内核的一次性合作(因此它仅在受支持操作系统的受支持版本上可用),但随后可以由任何应用程序使用,因为它插入到普通文件系统 API 中。 Gvfs 只能通过 Gnome 库使用,但不需要内核的任何特殊协作,因此可以在更多操作系统上使用。

Ubuntu 10.04 上的快速实验表明,当应用程序访问 Gvfs 文件系统时,~/.gvfs是一个挂载点gvfs-fuse-daemon文件系统。该文件系统允许任何应用程序访问 Gvfs 文件系统,而无需链接到 Gnome 库。它是一个 FUSE 文件系统,其实现将普通文件系统调用重定向到 Gvfs 调用。

文件系统gvfs-fuse-daemon不允许对 root 用户进行任何访问,只允许对运行应用程序的用户进行任何访问(由每个单独的文件系统来管理 root 用户的权限;root 不具有所有权限的一个典型案例是 NFS,其中从root 通常不会映射到任何人)。

答案2

在内部创建挂载点是不明智的~user

如果~user是 NFS,您会遇到问题,您会遇到工具(例如 rdist、dump)的问题。

UNIX 是 NET + 多用户

创建您的挂载点:例如/gfvsmount/USER/.../tmp/gfvsmount/USER/...

对于设计:阅读旧的 amd/automount 论文!

相关内容