在使用Synology
群晖
NAS时往往需要为不同的用户添加各自的账户权限,我们希望他们可以自由使用自己的主文件夹,但不要互相看到别人的主文件夹,更不要互相浏览别人主文件夹下的内容,应该怎么设置呢?DSM
系统中有完善的文件夹权限管理机制,应该怎么使用呢?
在网上有很多资料会告诉你怎么创建文件夹,怎么设置读取权限,基本都属于标准的应用场景下。没有那种多级目录下只给末级目录的权限设置,这种场景也基本服务我们实际的需求,比如跨部门访问特定文件夹。
需求描述:
用户A只能访问四级目录下的所有文件,但是不能访问前三级父级目录下其他的文件,防止越权。
目前只有 SMB
方式可以支持上述需求。 网页版访问的属于DSM
权限,而网页版查看文件的权限属于 File Station
。
解释: 为什么一级目录中设置了【列出文件夹/读取数据】权限(这个权限就是可读),但在实际中却读取不到一级目录中的文件? 就是因为我们前面开启了【对没有权限的用户隐藏子文件夹和文件】和权限设置应用在【此文件夹】
DSM6
对其DSM7
没有跳过遍历检查功能,再就是比DSM7
在一级目录权限设置上多一步
一级目录要设置两次权限
目前
DSM6
中文件管理权限需要下放的话,设置比较繁杂。举例说明
给用户 Walker 授权三级目录管理权限,同时该用户不能查看二级或一级下其他目录或文件。(如果在一级把遍历和列出权限应用到 所有的话,则会发生越权,用户就能访问到父级下其他的文件或文件夹)
一级文件属性操作:遍历、列出权限 应用于此文件夹
二级文件属性操作:遍历、列出权限 应用于此文件夹
三级文件属性操作:完全控制 应用于所有
当我们按照上面方式使用
Everyone
赋权,并只赋予多级目录权限时,不开启 【在“网络邻居”隐藏此共享文件夹】,用户是能直接看到其他文件夹的。
如图一样,其他目录都赋权给 Everyone
有列出此文件夹,那么只要登录就能看到,虽然进去会是空,但是有时考虑到没必要,所以我们只需要开启 【在“网络邻居”隐藏此共享文件夹】功能即可。这样这些一级目录都不会再列出来。即使我们有四级目录的权限也不会再列出来了,只能使用绝对路径进四级目录查看。
总结:
样例中使用 Everyone
用户并不会发生越权,只是为了减少每次给其他用户赋权时再给一级目录添加上述权限操作。 前提按照文档操作,一定要开启对没有权限的用户隐藏子文件夹和文件。
另外【列出文件夹/读取数据】 应用与 此文件夹和子文件 只是能列出来,知道原来这个目录有某某文件或文件夹,并没有权限去进入子文件夹或查看子文件内容,如果要查看子文件内容,必须给读取的所有权限。