我在一台机器上从 Ubuntu 转移到了 Debian,我所有的 sshfs 挂载脚本都失败了
fuse: failed to open /dev/fuse: Permission denied
Run Code Online (Sandbox Code Playgroud)
现在。我错过了一些简单的东西吗?
请考虑以下 fstab 行(为了可读性而换行):
sshfs#user@192.168.1.123:/home/user/
/home/user/Server/
fuse
auto,user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/user/.ssh/id_rsa,idmap=user,allow_other
0
Run Code Online (Sandbox Code Playgroud)
它工作正常,但每次重启我都需要用来mount -a
挂载服务器(或单击 Thunar 中的相应图标来挂载该东西)
是否可以在启动时直接挂载我的 ssh 目录?
我正在使用 Xubuntu 13.10
我一直在研究 encfs 作为加密我的个人数据的解决方案。但是我想在不同机器上的 Linux 和 Windows 上访问这些数据(通过 Dropbox 同步)。到目前为止,所有 Google 搜索都显示了一些页面,这些页面指定没有读取 encfs 的 Windows 客户端。
可以做到吗?
我有一个 sshfs FUSE 文件系统安装在~/mountpoint
. 我试过umount mountpoint
和diskutil unmount mountpoint
(在 Mac 上),但都失败了。我用过sshfs -o IdentityFile=<key> user@hostname:/home/<user> ~/mountpoint
; 这些都不需要sudo。
那么,为什么要卸载它,我需要 sudo 权限吗?
我大学的 CS 部门有自己的服务器用于开发(从现在开始,dev.univ.edu
)。我可以通过 SSH 和 SFTP 访问此服务器,并且希望使用 WSL 在我的 Windows 笔记本电脑上做一些繁重的工作。我的计划是sshfs
通过 SFTP 在我的笔记本电脑上安装服务器的文件系统,这样我就可以使用我自己的工具,而不必使用我们服务器上的有限程序。但是,每当我尝试使用时,都会sshfs
发生以下情况:
user@host:~$ sshfs -p 22 user@dev.univ.edu: ~/dev/ -o follow_symlinks
> fuse: device not found, try 'modprobe fuse' first
Run Code Online (Sandbox Code Playgroud)
运行modprobe fuse
给了我以下结果:
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-43-Microsoft
Run Code Online (Sandbox Code Playgroud)
一些挖后,似乎fuse
不支持WSL,偶数后UserVoice的页面进行fuse
支持已经运行了2年有超过1500人要求它。由于sshfs
依赖fuse
(我假设创建远程文件所在的文件系统),因此sshfs
无法使用。
我发现了一个billziss-gh/winfsp
看起来很有前途的项目 ( ),但我不知道如何将它与sshfs
. …
在 Ubuntu 上使用 sshfs 和 autofs,我无法在远程文件上设置时间戳:
$ touch /sshfs/server/some/file
touch: setting times of `/sshfs/sshfs/server/some/file': Permission denied
Run Code Online (Sandbox Code Playgroud)
我确实对文件有写访问权限。问题浮出水面是因为复制到远程的文件没有获得原始的时间戳,而是复制完成的时间。
如果我通过 ssh 连接到服务器,我也可以毫无困难地更改时间戳。它只能通过 sshfs 失败。
$ cat /etc/auto.sshfs
afserver -fstype=fuse,sshfs_debug,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#my_username@server.domain.lan:/
$ stat /sshfs/server/some/file
...
Access: (0664/-rw-rw-r--) Uid: ( 1003/ UNKNOWN) Gid: ( 100/ users)
Run Code Online (Sandbox Code Playgroud) 我在网络上有两台计算机,调用它们Q
和X
. 我想通过 sshfs 挂载X:/
到Q:/mnt/X
. 所以要做到这一点,我使用:
user@Q $ sudo sshfs root:X/ /mnt/X
Run Code Online (Sandbox Code Playgroud)
这将成功安装它并允许文件对root@Q
. 但是,如果我这样做:
user@Q $ sudo ls /mnt/X
Run Code Online (Sandbox Code Playgroud)
我看不到内容,因为user@Q
显然没有权限。虽然:
user@Q $ ls -ld /mnt/X
drwxr-xr-x 1 root root 4096 Aug 30 10:52 /mnt/X
Run Code Online (Sandbox Code Playgroud)
这意味着普通用户应该有权限进入该目录x
。
如何以保留权限并且“其他”下的任何人都可以像在原始机器上一样查看内容的方式安装它?
我正在尝试运行一个 docker 镜像来安装 hubic(在线存储)并将其公开给主机
到目前为止的工作是容器正确安装熔断器(到/mnt/hubic
)
运行 docker 时,我尝试使用映射的卷运行,因为/path/on/host:/mnt/hubic
这似乎可以工作(即,如果目录不存在,则 docker 会创建该目录),但内容从未出现。如果我进入容器,我可以看到在线存储中的文件,但主机文件夹不包含任何内容
我是否缺少允许 docker 执行此操作的选项?
我用来启动容器的命令
docker run -v ~/.hubicfuse:/root/.hubicfuse -v /tmp/mounted:/mnt/hubic --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined -it {container_name}
fuse ×10
sshfs ×6
linux ×3
filesystems ×2
mount ×2
ssh ×2
unix ×2
windows ×2
debian ×1
docker ×1
encryption ×1
networking ×1
permissions ×1
sftp ×1
sudo ×1
tar ×1
ubuntu ×1
umount ×1