You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法以读写权限挂载SSHFS目录问题求助

问题描述

我在一台CentOS 7.6机器上有一个目录,想要挂载到另一台RedHat 7.9机器上。在RedHat机器的/etc/fstab里加了以下配置:

root@192.168.1.150:/mnt/Scan-PDF /mnt/scanfiles/ fuse.sshfs rw,x-systemd.automount,x-systemd.nofail,_netdev,idmap=user,allow_other,transform_symlinks,identityfile=/root/.ssh/id_rsa,umask=0222     0 0

试过uid、user等各种配置选项,但文件系统始终是只读挂载。查看/proc/mounts发现两条挂载条目:

systemd-1 /mnt/scanfiles autofs rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=26826 0 0
root@192.168.1.150:/mnt/Scan-PDF /mnt/scanfiles fuse.sshfs ro,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0

想搞清楚:

  1. 为什么会有两条挂载条目?
  2. 怎么解决只读挂载的问题?
问题解答

1. 两条挂载条目的原因

  • 第一条是systemd自动挂载的控制节点:因为你在fstab里加了x-systemd.automount选项,systemd会先创建一个autofs类型的挂载点,作用是在你第一次访问这个目录时,自动触发实际的sshfs挂载。这是systemd按需挂载的正常机制,属于预期行为。
  • 第二条是实际的sshfs挂载记录:当你首次访问/mnt/scanfiles时,systemd会按照fstab里的配置执行sshfs挂载,这条就是真正的远程文件系统挂载信息。

2. 只读挂载的解决办法

先检查远端目录权限

登录到CentOS 7.6机器,确认/mnt/Scan-PDF目录的权限:

# 在CentOS机器上执行
ls -ld /mnt/Scan-PDF

要保证root用户(你用root@192.168.1.150连接)对该目录有读写权限,目录权限至少为drwxr-xr-x(755),如果需要写入,需确保root用户拥有写权限,或者调整目录的权限设置。

修正fstab挂载选项

调整umask参数

你当前设置的umask=0222会移除所有用户的写权限(计算逻辑:777-0222=555,对应只读权限),把它改成umask=022,这样能保留所有者和组的写权限:

root@192.168.1.150:/mnt/Scan-PDF /mnt/scanfiles/ fuse.sshfs rw,x-systemd.automount,x-systemd.nofail,_netdev,idmap=user,allow_other,transform_symlinks,identityfile=/root/.ssh/id_rsa,umask=022 0 0

明确指定读写挂载模式

有时候automount机制可能会覆盖默认选项,可以添加x-systemd.mount-options=rw来强制指定读写模式:

root@192.168.1.150:/mnt/Scan-PDF /mnt/scanfiles/ fuse.sshfs x-systemd.automount,x-systemd.nofail,_netdev,idmap=user,allow_other,transform_symlinks,identityfile=/root/.ssh/id_rsa,umask=022,x-systemd.mount-options=rw 0 0

验证ssh登录后的写入权限

在RedHat机器上,测试通过ssh登录到CentOS后能否写入文件:

# 在RedHat机器上执行
ssh root@192.168.1.150 "touch /mnt/Scan-PDF/test_write_file"

如果命令失败,说明ssh用户没有写入权限,需先解决远端的权限问题,比如调整目录权限或ssh用户的权限配置。

重新挂载使配置生效

修改完fstab后,执行以下命令让配置生效:

systemctl daemon-reload
umount /mnt/scanfiles
# 访问目录触发自动挂载
ls /mnt/scanfiles

之后查看/proc/mounts,确认sshfs的挂载模式已变为rw。

内容的提问来源于stack exchange,提问作者Hussain Akbar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 06:13:16