周末在折腾群晖时遇到这么一个需求,想要在网上邻居中对于无权限的用户把根目录的共享文件夹隐藏掉,在研究了半天后终于把这个问题完美解决了,下面和大家分享下解决这个问题的几个方法。

1、 方法一
第一种是一种迂回的方法,在控制面板->指定共享文件夹->编辑->常规选项卡中勾选下图这个选项,同时把需要控制权限的内容复制到该共享文件夹下的一个子目录中,然后在file station中对这个子目录设置用户的权限即可。
这么设置可以达到控制权限的目的,但是并不能对根目录的共享文件夹进行隐藏。

2、 方法二
第二种仍然是在刚才提到的共享文件夹的常规选项卡中设置,在上面那个设置的上面一行有下图这个选项,勾选这个后虽然可以正确的在网上邻居中隐藏共享文件夹,但是它的问题是对所有用户都隐藏了共享文件夹!即使你登录的是管理员用户,拥有所有共享文件夹的权限,在对指定共享文件夹设置了这个选项后,进入网上邻居时也会看不到那个共享文件夹了。不过如果在windows的文件夹地址栏中写全了共享文件夹的路径时(例如: \\xx.xx.xx.xx\your_sharefolder_name),有权限的用户还是可以进入这个共享文件夹目录的,但是相比于下面一种完美解决的方法的话还是有一些不方便的。

3、 方法三
第三种是一种完美解决的办法,由于网上邻居实质上是使用了samba服务,因此只需要在设置好用户的权限后按照下面的步骤修改下samba的配置文件即可。

  • 首先需要登录DSM,进入控制面板->用户账号界面,选择需要设置权限的用户点击菜单中的编辑,弹出的界面中点击权限选项卡,之后的界面中对共享文件夹的权限进行设置,将需要隐藏的共享文件夹设置为禁止访问。
  • ssh进入群晖,具体如何操作就不在这里赘述了,百度下就能找到相应的操作步骤
  • 获得root权限
sudo -i
  • 修改samba的配置文件:
vim /etc/samba/smb.conf
  • 在文件中添加如下两行:
map to guest=never
access based share enum=yes

其中第一行是对进入samba的用户进行了严格控制,没有权限的用户是无法看到群晖里的内容的,第二行就是对根目录的共享文件夹进行权限控制,当前用户只能看到自己有权限的共享文件夹。

  • 添加完成后保存重启smb服务(/sbin/restart smbd)或者重启群晖,再次进入网上邻居时就可以看到对于共享文件夹权限的控制生效了。

版权声明:本文为原创文章,版权归 nicolaszf 所有,转载请注明出处!

本文链接:https://blog.sourismu.me/archives/12/