SMB共享隐藏无权限目录

    折腾日记本 刘工 3994次浏览 0个评论

    TrueNAS官网:https://www.truenas.com/

    前言

    最近笔者遇在研究TrueNAS,刚好遇到有项目需要用这个系统,不得不说这个确实是个很好用的NAS系统,ZFS文件系统很强大,操作上来说虽然没有群晖这种便利,但是就nas功能而言,TrueNAS肯定比自己纯命令行折腾ubuntu方便很多。

    系统简介:TrueNAS(12.0版前称为FreeNAS)是一套基于FreeBSD操作系统核心的开放源代码的网络存储设备(英语:NAS)服务器系统,支持众多服务,用户访问权限管理,提供网页设置接口。FreeNAS当前版本整个系统总共需2GB以上USB驱动器进行安装,并支持USB存储设备、LiveCD、CF卡(转接成IDE设备)及硬盘等引导方式。目前有LiveCD、镜像档、VMware磁盘映像档三种发行方式。

    客户有个很简单的需求,就是像群晖一样有每个用户可以访问自己的home文件,管理员可以访问homes目录。研究了半天,由于权限问题,最终决定每个用户发一个共享,那么问题来了,这样的话访问共享的话会出现一堆用户的文件夹。于是,隐藏无权限的目录就成了比较棘手的问题,百度没有文章接受,谷歌资料也很少。于是选了个场景最接近的(参考来源:https://zrstea.com/270/),参考教程然后自己摸索下也做成了。于是优化了下zrstea的教程,并贴上图片,再写一份出来。

    如何在 FreeNAS/TrueNAS 中对没有读权限的用户隐藏 SMB 共享文件夹是一个稍微麻烦的问题。TrueNAS 不像群晖等系统提供了现成的选项,需要手动配置 Share ACL 来开启。需要以下三步:

    1,在添加共享的时候开启基于访问的共享枚举

    首先进入Sharing(共享) – Windows Shares (SMB)(Windows共享), 选择希望对无访问权限用户的共享项(比如user11),点击Edit(编辑) – ADVANCED OPTIONS(高级选项),勾选Access Based Share Enumeration(基于访问的共享枚举)。 如果此处不可勾选则需要把Purpose(目的)选为No Presets。

    2,获取用户的SID

    这个建议通过SSH登录到NAS,root帐号好像登不上去的,需要那一个普通帐号打开sudo权限才行。
    登录到nas的ssh之后,输入sudo net usersidlist,再输入账户密码,即可获得用户的SID

    3,修改 Share ACL

    还是需要选择希望对无访问权限用户的共享项(比如user11),点击(编辑) – 编辑共享ACL,将user11的SID粘贴到SID框里,替换原有的SID(S-1-1-0)。点击保存。实际上,该选项就是控制那些用户可以访问该共享,原有的条件是所有人可以访问,需要多个用户可以访问user11这个共享的话需要添加相应用户的SID。


    喜欢 (19)
    发表我的评论
    取消评论
    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址