1、首先我们来看下盟敢势袂linux服务器及samba软件上的配配置,确定我们的权限没有出错。先看linux服务器权限配置,如下面图中所示,软链接文件test.tar.gz指向的是一个多层目录下的压缩文件。我们逐级查看每一层目录,可以看到每一层目录的群组data都是有r-x权限,即群组可读权限,即使目录的群组是root时,它的others权限也是r-x,说明linux目录上的权限配置是正确的。
2、然后我们再来看登录samba软件的用户权限情况,当前登录samba软件的用户是hf,我们在linux服务器上使用命令id hf就可以看到这个用户的属组信息,可以看到它的属组里有一个data属组,说明这个用户可以读取刚才那个多层目录下的文件。
3、我们最后看samba服务器的共享目录配置,如下所示,共享目录中的browseable = yes配置了这个目录可读。因此权限也是正确了,理论上这个目录下的软链接文件是可以直接读取的。但是我们复制过程还是像下面第二张图中看到的那样,显示需要系统管理员权限,点击重试的时候依然出错。
4、经过查询,发现需要修改samba疤噜呶买共享软件里的两个配置。我们先使用命令:vim /etc/samba/smb.conf打开samba的趺谄菇明配置文件,找到global配置区域,加入下面一行:unix extensions = No然后找到共享目录区域,加入下面一行:wide links = yes
5、配置修改完毕后,保存退出,然后使用testparm命令测试一下配置文件,查看配置是否生效,如下面两张图中所示,如果输入t髫潋啜缅estparm并敲回车后可以看到对应的选项,说明配置生效。然后使用systemctl命令重启samba的两个服务,命令是:systemctl restart smbsystemctl restart nmb
6、重启完毕后,在windows上打开samba共享出来的目录,然后点右键,选择刷新,此时会更新缓存,刷新目录权限。然后复制刚才的软链接文件test.tar.gz。此时就可以正常复制了,如下面第二张图中所示:
7、等到复制完毕后,我们查看test.tar.gz文件的属性,可以看到,复制的确实是原始的压缩包文件,大小是621M,而不是只有几kb大小软链接文件。