V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
yyy134341
V2EX  ›  NAS

有没有方法可以在公共 SMB 上面加密保存并能够方便存取文件的方法?

  •  
  •   yyy134341 · 37 天前 · 1918 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    现在有一个大家都能访问的 SMB Nas 网盘,碍于电脑硬盘容量不足,需要把部分内容迁移到 SMB 里面 因为隐私关系,因为大家都有权限 Access ,所以不希望放在 SMB 里面的文件能够给大家太轻易地打开 但是放到 SMB 的文件也是会被经常读写的,所以用压缩软件加密后丢进去、要用的时候解密拿出来也不是一个好的解决方法 来求求大家有没有什么比较无感或者比较方便能够实现?

    几个想法

    1. 开一个虚拟机,将虚拟磁盘文件丢到 SMB 里,然后再在虚拟机里面开一个 SMB Server ,个人电脑就能通过 SMB 无感存取里面的文件。这样在 SMB 里就只有一个映像文件,其他使用者也没那么容易打开里面的文件。缺点是这个映像毕竟也是没有加密,别人一拿去加载到虚拟机里就能拿到所有文件
    2. 架设类似于 ownCloud 、Nextcloud 的个人云盘服务并将数据库文件丢在 SMB 里,然后通过网页或者客户端访问文件。这个没实现过,我想到的缺点是存取文件不太方便?需要查阅文件的时候还是要通过客户端/网页去下载/上传文件,这样本地就会有很多文件副本,而且文件在下载不能按需读取,比如 40G 的视频如果直接在 SMB 打开就可以边加载边播放,这种方式如果想本地播放的话好像不太行,得 40G 全部下载后才能打开

    来征求大家有什么好的 idea ,感激不尽

    20 条回复    2025-08-19 01:43:47 +08:00
    fangpeishi
        1
    fangpeishi  
       37 天前
    试过 cryptomator 吗
    xxbing
        2
    xxbing  
       37 天前
    VeraCrypt 是不是可以? 我没实验过,创建一个巨大的文件,通过 VeraCrypt 可以打开、关闭. 这个文件应该可以转移存放到远程 smb.
    xxbing
        3
    xxbing  
       37 天前
    问了 ai, ai 回答: VeraCrypt 本质上是把一个加密空间映射成虚拟磁盘,加密容器文件(.hc 之类的文件)其实就是普通文件,所以它完全可以存放在远程 SMB/CIFS 网络共享里。
    includewins0ck2h
        4
    includewins0ck2h  
       37 天前
    如果是 windows 系统,bitlocker 一个 vhdx 磁盘在 smb 可以吗
    alfawei
        5
    alfawei  
       37 天前
    用 nas ,每个一个账号,不同权限
    Opportunity
        6
    Opportunity  
       37 天前
    vhdx 可以开 bitlocker 的
    kokerkov
        7
    kokerkov  
       37 天前
    问题来了,那为什么 samba 不设置权限管理呢?
    47jm9ozp
        8
    47jm9ozp  
       37 天前
    linux 的话用 encfs ,但你不怕别人删改你的文件吗

    隐私重要内容不要放到这种地方
    yyy134341
        9
    yyy134341  
    OP
       37 天前
    @alfawei
    @kokerkov
    admin 设置的不是我设置的 我也控制不了 admin 怎么想
    yyy134341
        10
    yyy134341  
    OP
       37 天前
    @ooxxcc 删改倒是不怕 NAS 会有 snapshot
    yyy134341
        11
    yyy134341  
    OP
       37 天前
    @includewins0ck2h
    @Opportunity
    是指在虚拟机的那个系统里面开 bitlocker ?
    Opportunity
        12
    Opportunity  
       37 天前

    不需要虚拟机啊,直接用物理机不好吗?当然你要有隔离需求另说。
    yyy134341
        13
    yyy134341  
    OP
       37 天前
    @xxbing #2
    @fangpeishi
    这种其实方案挺理想的 但刚刚试了下性能 大文件 copy 写入是 50MB/s ,但小文件写入好像就只有 10MB/s ,正常 SMB 不加密拷贝的话能满速 115MB/s

    CPU 是 AMD 9900x 拷贝的时候 cpu 也没占用多少 不知道是硬件问题还是软件优化还是设置问题
    bsfx2
        14
    bsfx2  
       37 天前
    个人认为 Cryptomator 是最优解。它的加密产物是文件,而不是一个巨大的加密磁盘镜像。
    yyy134341
        15
    yyy134341  
    OP
       37 天前
    @Opportunity #12 实现了一下 确实可以 性能损耗几乎无感 挺好的 感谢指导
    includewins0ck2h
        16
    includewins0ck2h  
       37 天前
    @yyy134341 nas 里面新建一个 vhdx 磁盘,本地加载,然后 bitlocker 加密,远程不需要虚拟机。
    HTravel
        17
    HTravel  
       37 天前
    创建域账号,每个用户一个域账号,通过域账号登陆 Windows 。然后再创建域群组,域群组里面添加域账号。域群组支持嵌套。

    大公司是这样玩的,因为有 IT 部门的域管理员。你们如果比较正规的话,可以试试,十几万人的权限控制都没问题。
    tsvico
        18
    tsvico  
       37 天前
    openalist + alist-encrypt
    然后使用 webdav 挂载到本地
    WizardLeo
        19
    WizardLeo  
       36 天前
    很好奇为什么单文件加解密会比整个虚拟磁盘加解密性能要差,甚至是 10 倍性能差距?
    w568w
        20
    w568w  
       36 天前   ❤️ 1
    1. 关键词:Stacked filesystem encryption ,即「在现有文件系统中储存加密文件结构,且可以通过挂载等方式无感读写的用户级别文件系统」。

    除了楼上提到的 EncFS 和 cryptomator ,gocryptfs 和 CryFS 也可以看看。后三者都是支持 Windows 的。个人推荐 Cryptomator (部分功能需要付费)、gocryptfs (完全开源免费,但界面不太友好)。

    不过 Cryptomator 确实速度会慢一点,原因未知,可能是加解密算法设计问题?

    2. 至于 VeraCrypt 、VHDX 这种块设备级别的加密,就要看具体的软件实现了,整栈从下到上都需要支持 sequence read/write in the middle 。SMB 本身应该是支持的,VHDX 应该也是支持的。VeraCrypt 速度慢可能是将 sequence read/write 转化为 random read/write 了。

    3. 只是要防止其他人看到的话,楼上介绍的权限控制方法也是可取的,0 性能损失。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3184 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:00 · PVG 19:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.