freenas下挂载win7的共享文件夹

用户有奇特需求,需要nas挂载他的移动笔记本备份数据,我知道这很不合理,因为反过来用他的移动笔记本访问NAS就可以的了,但他非要返过来,没办法,只能在nas系统里建立个挂载目录,然后用mount_smbfs命令来挂截。

前期需要的设置:
(1)Windows 7系统增加一个用于访问共享目录权限的账号和密码,此例假设为账号为:test,密码:123456,win7系统的IP为192.168.0.2 主机各为:WIN7SYSTEM
(2)建立共享目录(如:gx);
(3)对共享目录设置指定的账号(如:test)访问权限,总不能直接给administrator的密码你吧。
(4)nas服务器建立个目录用于挂载(如:/mnt/samba/test)

NAS服务器端设置:
本来只需一条命令就能挂载的:
[email protected]:~# mount_smbfs -I 192.168.0.2 //test@WIN7SYSTEM/gx /mnt/samba/test
但是会提示输入密码,所以需要提前设置好密码,下次直接执行命令就可以了。linux系统下可以直接用mount命令的username和password参数,但因为freenas是基于freebsd系统的,只能用mount_smbfs命令,而这个命令是没有密码参数的,所以只能在root根目录下建~/.nsmbrc文件并且设置主机名、账号、密码等信息,但发现在freenas系统下没有权限建立~/.nsmbrc文件,提示Error: .nsmbrc: Read-only file system. 没法建立nsmbrc文件,还好还有个配置文件能设置,就是/etc/nsmb.conf配置文件,此例设置增加如下内容:

1
2
[WIN7SYSTEM:TEST]
password=123456

切记,nsmb.conf配置文件内的主机名和用户名全部用大写!
保存配置文件,然后就可以加个-N参数直接执行挂载命令了,如:
[email protected]:~# mount_smbfs -I 192.168.0.2 -N //test@WIN7SYSTEM/gx /mnt/samba/test

这时cd到/mnt/samba/test目录就可以访问windows7的共享目录gx了。

要取消挂载只需离开/mnt/samba/test目录,执行umount命令即可,如:
[email protected]:~# umount /mnt/samba/test