标签: fuse

SSHFS 挂载在断开连接后仍然存在

我正在使用SSHFS挂载从我的笔记本电脑到中央服务器。

显然,SSHFS 挂载在较长时间断开连接后(例如在挂起期间)被破坏,导致底层 SSH 连接超时。

有没有办法让 SSHFS 挂载在长期断开连接(> 5 分钟)甚至使用不同 IP 重新拨号的情况下幸存下来?

networking linux ssh fuse

75
推荐指数
4
解决办法
5万
查看次数

如何删除 .fuse_hidden* 文件?

我有一个小型 Linux 服务器(Debian Squeeze),它运行一个 Samba 服务器,该服务器配置为与一些 Windows 机器共享一些文件夹。在尝试从 Windows 中删除目录之一时,我收到“无法删除文件夹”错误。

我试图从 linux 的控制台中删除目录我得到了一个类似的错误:

# rm dir-name -rf
rm: cannot remove `dir-name': Directory not empty
Run Code Online (Sandbox Code Playgroud)

我列出了目录的内容并找到了一个名为 .fuse_hidden 的文件,后跟一个十六进制数 (000bd8c100000185)。

# ls -la dir-name
-rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000185
Run Code Online (Sandbox Code Playgroud)

我试图删除 .fuse_hidden 文件,但立即创建了一个新文件(注意十六进制数的变化)。

# rm dir-name/.fuse_hidden000bd8c100000185
# ls -la dir-name
-rwxrwxrwx 1 root root 5120 Feb 13 11:46 .fuse_hidden000bd8c100000186
Run Code Online (Sandbox Code Playgroud)

我也尝试使用 Midnight Commander 删除文件但没有成功。

到目前为止,我发现的其他解决方案涉及 GUI,而我只有控制台。

任何建议表示赞赏。

linux files console fuse deleting

38
推荐指数
1
解决办法
5万
查看次数

为什么 SSHFS 不让我查看挂载的目录?

我使用 SSHFS 在远程服务器上挂载一个目录。客户端和服务器上都有一个用户 xxx。两个盒子上的 UID 和 GID 是相同的。

我用

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content
Run Code Online (Sandbox Code Playgroud)

将目录挂载到远程服务器上。当我在客户端上以 xxx 身份登录时,我没有任何问题。我可以 cd 进入 /home/xxx/path_to/content。

但是当我以另一个用户 zzz 登录客户端时

$ ls -l /home/xxx/path_to
Run Code Online (Sandbox Code Playgroud)

我明白了

d?????????   ? ?    ?        ?                ? content
Run Code Online (Sandbox Code Playgroud)

并在

$ ls -l /home/xxx/path_to/content
Run Code Online (Sandbox Code Playgroud)

我得到

ls: cannot access content: Permission denied
Run Code Online (Sandbox Code Playgroud)

当我做

$ ls -l /mnt
Run Code Online (Sandbox Code Playgroud)

在我得到的远程服务器上

drwxr-xr-x 6 xxx xxx  4096 2011-07-25 12:51 content
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?权限对我来说似乎是正确的。我错了吗?

linux permissions fuse sshfs distributed-filesystems

36
推荐指数
1
解决办法
3万
查看次数

将 SSHFS 卷挂载到 Docker 实例中

我使用 SSHFS 在我的主机上挂载一个远程文件系统,我希望能够从 Docker 容器内部访问它。

我挂载远程文件系统

sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) user@remote:directory /path/to/sshfs

而且,使用 Docker,根据我的使用情况,我收到以下错误--mount

docker run  -it -v /path/to/sshfs:/target myimage bash
docker: Error response from daemon: error while creating mount source path '/path/to/sshfs': mkdir /path/to/sshfs: file exists.
Run Code Online (Sandbox Code Playgroud)

-v

docker run -it  --mount src=/path/to/sshfs,target=/target,type=bind  myimage bash
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /path/to/sshfs.
See 'docker run --help'
Run Code Online (Sandbox Code Playgroud)

是否可以将 sshfs 挂载点挂载到容器中?

ssh mount fuse sshfs docker

17
推荐指数
1
解决办法
1万
查看次数

FUSE 挂载可能会破坏 Linux 服务器的稳定性吗?

我是多用户服务器的系统管理员,我们系的学生在那里有 shell 帐户。我们的一位用户要求我们sshfs在其上安装。我正在讨论sshfs按照建议进行安装是否明智。

我主要担心的是 FUSE 安装是否会降低我们的服务器的可靠性。根据我的经验,当 NFS 服务器突然变得不可用时,服务器可能会发生不好的事情——平均负载激增,你可能无法干净地卸载它,以至于可能需要硬重启。如果安装了 FUSE 的服务器突然消失,清理烂摊子有多难?我应该考虑其他任何可能的灾难或陷阱吗?

至少对于 NFS,只有 root 可以挂载,我们可以选择挂载我们认为相当可靠的 NFS 服务器。

让我们假设我们的用户没有敌意,但可能会不小心做出愚蠢的事情。此外,我并不真正担心他们可能挂载的文件系统的内容,因为我们的用户已经拥有 shell 访问权限并且可以将他们想要的任何内容复制到他们的主目录中。

linux fuse sshfs

11
推荐指数
1
解决办法
1716
查看次数

在谷歌计算实例上使用 gcsfuse 作为非 root 用户的权限错误

我们目前正在尝试为一些需要大量存储的工作负载演示谷歌云平台。我们正在尝试使用谷歌云存储,但在使用 gcsfuse 安装存储桶时遇到问题。我目前能够以 root 用户身份挂载我的测试桶(设置了 allow_other 选项),但非 root 用户只有读取权限。

我尝试过和检查过的事情:

  • 将挂载点设置为 777。挂载存储桶时会覆盖 Perms。
  • 显示的用户gcloud config list | grep account已获得此存储分区的所有者访问权限
  • 我正在测试的 VM 具有对所有 Google Cloud 服务的完整 API 访问权限

这是控制台输出 - Catting and touching animal.txt 以更新时间戳。

root@vm-00 cloud]# grep bucket /etc/fstab
test_bucket_00 /data/cloud/tb-00 gcsfuse  rw,allow_other
[root@vm-00 cloud]# mount tb-00
Calling gcsfuse with arguments: -o rw -o allow_other test_bucket_00 /data/cloud/tb-00
Using mount point: /data/cloud/tb-00
Opening GCS connection...
Opening bucket...
Mounting file system...
File system has been successfully mounted.
[root@vm-00 cloud]# mount …
Run Code Online (Sandbox Code Playgroud)

fuse google-cloud-storage google-cloud-platform gcsfuse

10
推荐指数
1
解决办法
1万
查看次数

如何在启动时强制 s3fs 挂载

我在 Ubuntu 9.10 x86 上使用s3fs 1.33。

我使用以下命令手动安装它:

sudo /usr/bin/s3fs mybucket /mnt/s3/mybucket -ouse_cache=/tmp
Run Code Online (Sandbox Code Playgroud)

如何在启动时强制安装?

我想我必须写点东西给/etc/fstab. 但是什么?以及如何在不重新启动服务器的情况下对其进行测试?

ubuntu fuse amazon-s3 s3fs

7
推荐指数
1
解决办法
1万
查看次数

有没有好方法允许非 root 用户在 Linux 上挂载任意外部 USB 驱动器?

我们遇到的情况是,站点办公室拥有几台 Rocky Linux 8 服务器,并定期从客户端接收大量数据。数据到达各种外部 USB 硬盘驱动器和偶尔的 USB 记忆棒。这些驱动器可以具有各种文件系统,但最常见的是 NTFS 和 exFAT。

RL8 本身支持 NTFS,但不支持 exFAT。我们使用了 rpmfusion 中的 fusion-exfat 包。(https://github.com/relan/exfat)。

我希望我的用户(没有也不应该拥有 root 访问权限)能够顺利地安装它们。之前,我们使用过 pmount,但 pmount 与 exFAT 配合不佳。我认为这是因为它是 FUSE,而不是因为它是 exFAT。

有没有一种好的、安全的方法来实现这一目标?

编辑:pmount 似乎是 mount 的一个非常薄的包装,并且权限是通过可执行文件上的 setuid 位获得的。所以基本上它是一组有限的安装命令,而 exfat 不是其中之一。这里有一些讨论:https://bugs.debian.org/cgi-bin/bugreport.cgi ?bug=755434,这里有一个建议的补丁:launchpadlibrarian.net/229524614/pmount.exfat.patch

redhat fuse exfat rhel8 rocky-linux

7
推荐指数
1
解决办法
4034
查看次数

fusionmount:未找到熔断器设备,请先尝试“modprobe熔断器”

我正在 gcloud 计算引擎上运行一个实例。我需要将 Google 存储桶(属于不同的项目)安装到我的实例中。该实例在 Debian Wheezy 上运行。我已经安装了gcc、fuse、gcsfuse。但是当我尝试安装桶时:

$ gcsfuse 存储桶名称 /mnt/存储桶名称

我收到错误: stderr:fusermount:未找到熔丝设备,请先尝试“modprobe熔丝”

尝试“modprobe熔断器”,我收到错误: -bash:modprobe:找不到命令

有谁知道可能是什么问题,或者有人遇到过同样的问题吗?任何想法、评论、帮助将不胜感激。提前致谢!

fuse debian-wheezy gcsfuse

6
推荐指数
1
解决办法
2万
查看次数

GlusterFS 传输端点有时未连接

我正在使用 GlusterFS 3.7.9,目前在具有 4 个砖块的单个服务器上。

每块砖有 4TB,卷设置为仅分发。

该卷安装在辅助服务器上,我将其用于备份目的。

问题是,每隔几天辅助服务器就会看到该卷变小(12TB),并且当它尝试访问我得到的一些文件时transport endpoint not connected

就好像它不再看到 4 块砖中的一块,而卷所在的服务器可以毫无问题地看到它们。

我的IP在防火墙白名单中,gluster volume status说一切都很好。

我应该检查什么?我找不到任何理由。

filesystems fuse distributed-filesystems glusterfs

6
推荐指数
1
解决办法
2万
查看次数