前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sshfs 文件系统权限的一点笔记

sshfs 文件系统权限的一点笔记

作者头像
qsjs
发布2021-06-21 16:18:21
2.2K0
发布2021-06-21 16:18:21
举报
文章被收录于专栏:MyPanda的学习笔记

sshfs 是基于ssh的一个工具,用于挂载远端的文件系统到本地. 只要可以用ssh方式访问远端,那么就可以用sshfs 这个工具把有权限的目录挂载到本地来. 在linux系统中,有一个虚拟文件系统的概念,虚拟文件系统作为一个统一的文件系统接口,各种不同的文件系统的驱动只要实现虚拟文件系统接口就可以了,而驱动一般都不会运行在用户空间,而为了在用户空间也可以export 一个虚拟文件系统接口,fuse 这个工具就被创造出来了. fuse 就是实现用户空间export 出一个虚拟文件系统的接口. 基于fuse , sshfs 这个工具才可以很好的工作, mount时候指定的filesystem 类型就是fuse , 而一旦mount 之后,用df 看到的文件系统类型则是: fuse.sshfs .

sshfs的使用方法:

A. 使用sshfs 命令进行挂载的格式就是: sshfs -o OPTION LOGINID@HOST:/REMOTE_PATH /LOCAL_PATH 如下的例子仅做参考:

代码语言:javascript
复制
sshfs -o rw,default_permissions,allow_other,uid=1000,gid=100,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3  test@192.168.0.114:/home/test/      /mnt

B. 配置到 fstab 以方便开机就可以进行自动挂载,写法和 传统的文件系统略有不同,采用如下的语法格式:

代码语言:javascript
复制
sshfs#ssh_login_id@sshd_server:/FOLDER   /mnt/    fuse IdentityFile=/SSH_LOGIN_KEY_NEED_ABS_PATH_AND_CORRECT_PERMISSION,rw       0 0

从上面可以看到其实 除了第一列的写法有点特殊之外,其他都和 传统挂载很类似的,在上面的例子中的IdentityFile 的值通常是ssh 免密登陆时候的 key, 也就是通常在 ~/.ssh/ 下面. 其中fs的类型写fuse , 后面是option ...

C. 对于sshfs 的使用方法就是上面两条,非常的简单,但是有一些参数还是要特别注意下,否则可能会遇到各种问题: 1). 通过 uid, gid 选项来控制挂载后对应的file owner. 需要注意的是: 如果在root 账户下,查看内存中该挂载对应的option, 其中user_id=0 , group_id=0, 而一旦完成挂载,是不支持修改file/folder owner和group的,所以要在挂载的时候指定好owner,group,这两个选项不体现在 内存里面保存的 挂载参数列表里 2). fuse本身有一个option叫做 default_permissions, 这个选项是fuse 的选项,并不是sshfs的选项,通过man 帮助文档的解释,添加这个选项之后,文件的访问控制强制基于 file mode,也就是不会把remote 的uid,gid 映射到本地,而如果没有添加这个选项,那么就依靠fuse(fuse怎么干的,鄙人真不清楚),所以如果要想使chmod 命令一定生效,那么加上这个选项吧. 根据man 帮助文档所述,这个选项通常和allow_other 选项一起使用,而allow_other要想生效,那么需要/etc/fuse.conf配置需要enable user_allow_other . 3). umask 选项,这个选项用于设置挂载后的文件的权限,如果使用这个选项,那么挂载后, 在client端的权限无法进行修改,如果用chmod在客户端修改了,那么客户端显示的权限依然不变,但是server end 可能就发生了变化,这一点非常奇葩,也非常需要注意,别以为客户端没有改变,服务端也不会改变; 另外这个选项在 mount 之后在内存是看不到这个选项的,也就是会生效,但是不体现在内存里面保存的挂载参数里面

解决问题后的备忘录小计,转载请注明出处
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • sshfs的使用方法:
  • 解决问题后的备忘录小计,转载请注明出处
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档