最近在搭建家用 NAS ,权衡之后决定使用 FreeNAS 。设置好 CIFS 共享,发现如果 NAS 上存在不同用户所属的文件夹,只能访问一个。尝试访问其他共享,会提示
你可能没有权限使用网络资源 请与这台服务器的管理员联系以查明您是否有访问权限。不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接 然后再试一次。
经查询得知这是 Windows 的一个特性,不能同时登录服务器的多个用户。不过由于要使用 FreeNAS 的插件,似乎没有办法避开这个问题。我对 FreeNAS 插件的理解如下:
FreeNAS 的插件运行在一个个独立的 jail (虚拟机)中,需要为每个插件单独添加数据集,然后挂载到对应 jail 中。为了使插件能够有合适权限使用数据集,需要在 FreeNAS 主系统中创建 UID 、 GID 与 jail 中相同的用户和组,然后添加给数据集。
于是问题来了。例如我安装了 Transmission 和 Plex 这两个插件,然后将二者的数据集均通过 CIFS 共享。由于所属用户和组不同,我只能访问二者之一。尝试了 net use * /del /y
net session /delete
等命令,没起到预期作用,只能重启系统。感觉 CIFS 共享不应该这么麻烦,正确的设置方式是什么呢?
参考 How-To Giving Plugins Write Permissions to Your Data 方法 3 解决了,这样可以用一个用户搞定。 FreeNAS 比较麻烦的一点是 Host 与 Jail 不共享 User 和 Group ,安装插件,映射存储空间后还需要自行解决权限问题。操作步骤直接粘过来了:
In the jail, add a group with a matching GID as the group owner of the data dataset/folders:
pw groupadd -n GROUP -g GID
In the jail, add the user the plugin runs as to the newly added group:
pw groupmod GROUP -m USER
1
whiteskin 2018-11-16 10:13:09 +08:00
英文实在没看明白
请问这三句话具体是怎么操作? 比如我的机器 dataset 的 owner 是 groupA ( GID 1000 )中的 userB, 组可写 而 transmission 建的 jail 中已经建了一个用户组是 transmission ( GID 921 ),用户名也是 transmission 我要应该输入什么命令? pw groupadd -n transmission -g 1000 pw groupmod transmission -m transmission |
2
xiaofami OP 应该是这样吧,首先在 transmission 的 jail 中操作:
pw groupadd -n groupA -g 1000 pw groupmod GROUP -m transmission 然后在 FreeNAS 中新建一个名为 transmission 的用户。你提到的 userB 只能命名为 transmission。这样一来 dataset 的 owner 是 transmission,group 为 groupA ( GID 1000 ),jail 中的 transmission 也在 groupA ( GID 1000 )中,具有对 dataset 的写权限。 |