收起左侧

iPhone文件App用SMB协议连接飞牛共享文件夹,只有读取权限没有写入权限的解决办法

1
回复
190
查看
[ 复制链接 ]

2

主题

0

回帖

0

牛值

江湖小虾

2026-1-22 14:11:14 显示全部楼层 阅读模式
参考如果有_L2851大神发帖内容,bug产生的原因,大神已经分析过了,不再赘述,部分网友在执行命令时出现错误,我也一样,于是将命令进行如下修改,班门弄斧,请大家见笑😜
iOS 18.6.2飞牛系统是1.1.11
iOS 18以上系统这个bug必现
bug还请飞牛技术官尽快修复,感谢

大家可以试下,希望能帮到各位

第一步 sudo -i

第二步 sed '/vfs objects = /s/$/ streams_xattr/' /etc/samba/users/1000.share.conf | grep -A 5 "vfs objects"
sed '/vfs objects = /a\
fruit:encoding = native\
fruit:nfs_aces = no' /etc/samba/users/1000.share.conf | grep -A 5 "vfs objects"

第三步sudo systemctl restart smbd

iPhone文件app删除原来的连接,退出iPhone文件app后台,重新打开文件app添加smb连接(很重要)

这一步基本上就OK了

如果不成功下面内容就不用看了

如果重启失效
可以写一个sh脚本,开机自启执行sh脚本防止失效
sudo -i
nano /vol1/1000/scripts/fix-samba-fruit.sh(/vol1/1000/路径参考,不一样的连同脚本内容一起自己改)
以下是脚本内容

#!/usr/bin/env bash
# 文件名: /vol1/1000/scripts/fix-samba-fruit.sh
# 用途: 修正 1000 用户的 samba share 配置中的 vfs_fruit 相关参数
#      不再做任何备份

set -u
set -e

CONFIG="/etc/samba/users/1000.share.conf"

if [[ ! -f "$CONFIG" ]]; then
    echo "错误:配置文件不存在 → $CONFIG"
    exit 2
fi

# 用于判断是否有实际修改
CHANGED=0

# 1. 修正 shadow_copy2 → shadow_copy2 streams_xattr
# 先把原始内容记下来用于比较
TEMP_ORIG=$(mktemp)
cp "$CONFIG" "$TEMP_ORIG"

sed -Ei '/vfs objects\s*=/s/\b(shadow_copy2)\b/\1 streams_xattr/' "$CONFIG"

# 检查这一步是否真的改动了文件
cmp -s "$TEMP_ORIG" "$CONFIG" || CHANGED=1

# 2. 确保 fruit:encoding 和 fruit:nfs_aces 存在
if ! grep -qE '^\s*fruit:encoding\s*=' "$CONFIG"; then
    sed -Ei '/vfs objects\s*=/ {
        /fruit:encoding/b
        a\    fruit:encoding = native
        a\    fruit:nfs_aces = no
    }' "$CONFIG"
    CHANGED=1
fi

# 根据是否有改动,给出不同提示(但不备份)
if [[ $CHANGED -eq 1 ]]; then
    echo "配置已修改(无备份)"
else
    echo "配置无须修改"
fi

# 清理临时文件
rm -f "$TEMP_ORIG" 2>/dev/null || true

# 确保文件权限(可选)
chmod 644 "$CONFIG" 2>/dev/null || true

echo "配置检查/修正完成:$CONFIG"

# 重启服务
systemctl restart smbd
# 或者更平滑(视版本支持情况):
# systemctl reload smbd || systemctl restart smbd

echo "smbd 已重启"
echo "完成时间: $(date '+%Y-%m-%d %H:%M:%S')"

以上内容全部复制粘贴进脚本里,涉及路径的改成自己的,保存退出
sudo -i
chmod +x /vol1/1000/scripts/fix-samba-fruit.sh
试运行一下
/vol1/1000/scripts/fix-samba-fruit.sh
没有错误输出就执行下一步设置,让脚本开机90秒后运行

编辑 root 的 crontab

crontab -e

在最后一行添加

@reboot sleep 90 && /vol1/1000/scripts/fix-samba-fruit.sh >> /vol1/1000/scripts/fix-samba-fruit.log 2>&1  

路径改成自己的
•  保存退出:
        •  nano 编辑器:Ctrl + O → Enter 保存 → Ctrl + X 退出。
        •  会提示 crontab: installing new crontab 表示成功。
重启查看日志
大功告成 祝君愉快
收藏
送赞
分享

215

主题

1万

回帖

0

牛值

管理员

fnOS1.0上线纪念勋章

2026-1-22 19:58:04 显示全部楼层

该问题已经修复 正在进行测试 后续内测验证后会在公测版本修复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则