OpenWRT快速配置Samba

这两天把迅雷下载宝翻出来又想用用,想着原开发商估计已经跑路了,所以网上找了个OpenWRT的包刷上。

开机后发现Samba竟然要自己配置,研究了一下午,基本把方法学会了,分享给大家。

安装Samba

登录Luci,在“系统”选项卡-“软件包”中更新列表,然后点可用软件包,搜索下面三个软件并安装即可。

  • samba36-server
  • luci-app-samba
  • luci-i18n-samba-zh-cn

第一、二个必装,第三个是语言包,英文好的可以把“zh-cn”改成“en”装英文版的,装啥语言包界面就是啥语言的。

配置匿名服务

“系统”选项卡中选择“TTYD终端”,若没有,可以下载putty,然后ssh登录路由器IP。

注:Samba服务的配置由两个文件组成,一是/etc/config/samba,二是/etc/samba/smb.conf.template,服务启动后会先读取一号文件,然后读取二号文件,生成/etc/samba/smb.conf文件,最后运行服务。

根据Samba服务读取配置的方法,需要更改上述的一、二号文件。这里直接给出模板配置,将模板直接覆盖原配置即可。操作如下。

  • 在ssh窗口中输入vim /etc/config/samba,编辑一号文件。

可以发现原配置文件应与要修改的配置文件比较相似,为方便起见,键盘输入:%d并回车,直接清空该文件。再按i,进入编辑模式,复制以下内容,在ssh界面按右键,粘贴。按Esc,再输入:wq,注意这时候wq会显示在ssh窗口最下方,按回车即可保存退出。

注:下面配置模板中所指的U盘挂载点可以在“系统”选项卡-“挂载点”中查看,找到挂载点中容量对应你插入的U盘的行,然后将该行挂载点列的值复制到上述位置替换原值即可。一般来说若路由器只插了一个U盘,挂载点会在模板中的位置,但可能有不适用的情况,建议还是自己查看并确认一下。

samba文件配置模板如下:

config samba
	option name 'OpenWrt'
	option workgroup 'WORKGROUP'
	option description 'OpenWrt'
	option homes '1'

config sambashare 'FlashDisk'  ## 引号中可改为想要的共享名称,建议不要有中文
	option name 'FlashDisk'  ## 引号中可改为想要的共享名称,建议不要有中文,与上面相同
	option path '/mnt/sda1'  ## 引号中改为U盘挂载位置
	option read_only 'no'
	option guest_ok 'yes'
	option create_mask '777'
	option dir_mask '777'
  • 在ssh窗口中输入vim /etc/samba/smb.conf.template,编辑二号文件

二号文件与一号文件操作步骤相同,但是二号文件没有需要修改的地方,可以直接粘贴后保存。

键盘输入:%d并回车,直接清空该文件。再按i,进入编辑模式,复制以下内容,在ssh界面按右键,粘贴。按Esc,再输入:wq,回车后保存退出。

[global]
	netbios name = |NAME|
	display charset = |CHARSET|
	interfaces = |INTERFACES|
	server string = |DESCRIPTION|
	unix charset = |CHARSET|
	workgroup = |WORKGROUP|
	browseable = yes
	deadtime = 30
	domain master = yes
	encrypt passwords = true
	enable core files = no
	guest account = nobody
	guest ok = yes
	#invalid users = root
	local master = yes
	load printers = no
	map to guest = Bad User
	max protocol = SMB2
	min receivefile size = 8192
	null passwords = yes
	obey pam restrictions = yes
	os level = 20
	passdb backend = smbpasswd
	preferred master = yes
	printable = no
	security = user
	smb encrypt = disabled
	smb passwd file = /etc/samba/smbpasswd
	socket options = TCP_NODELAY SO_RCVBUF=960000 SO_SNDBUF=960000
	syslog = 2
	use sendfile = yes
	use mmap = yes
	writeable = yes
	disable spoolss = yes
	host msdfs = no
	strict allocate = No

最后,在ssh窗口输入/etc/init.d/samba restart并回车;或者在“系统”-“启动项”中找到“samba”,点重启,重启Samba服务,即可使配置生效。

在win10运行窗口输入\\192.168.1.1即可访问路由器上U盘中的内容了。注意,\\必须要有,后面跟着路由器的IP。

至此,Samba服务的基本配置已经结束了。同时我还发现,Samba服务是可以添加密码的,对于在路由器上部署了内网穿透服务的网友,不添加服务密码是非常容易被黑客窃取U盘中的数据的,所以可以参照以下步骤给Samba服务添加一层密码。

晋级操作

Samba服务需要单独配置账号,所以你登录路由器时的账号是没法用的。

细心的你应该发现了,上述二号文件配置模板中注释了一行#invalid users = root,若取消该行注释,意味着将不能使用root账号添加密码,这样一来还需要为samba服务单独添加账号,对个人用户来说比较麻烦,所以我下面介绍直接使用root账号为samba服务添加密码的方法。

其实第一步应该是注释掉二号文件中的invalid users = root,这里直接跳过这一步。在ssh窗口中输入smbpasswd -a root,回车后下方会跳出输入密码的提示,在这时输入你的密码然后按回车,再输一遍,即可为root账户设置samba服务的密码。注意,输入密码时不会显示任何字符。

下面需要取消Samba服务中配置的允许匿名访问的选项,输入vim /etc/config/samba,编辑一号文件,将option guest_ok 'yes'中的yes更改为no,按Esc,再输入:wq,回车后保存退出即可。当然也可以在“网络储存”-“网络共享”中将共享目录中你设置的共享一行的“允许匿名用户”选项取消勾选,点“保存并应用”,达到与vim配置一样的效果。

最后,重启samba服务。在ssh窗口输入/etc/init.d/samba restart并回车;或者在“系统”-“启动项”中找到“samba”,点重启。

win10中访问加密Samba服务的方式与匿名方式一致,只是系统会在访问前询问账号密码,账号为root,密码为你自己设置的密码,勾选上保存账号密码,下次访问就可以双击进入啦。

以上,就是我一下午研究出的Samba服务配置方法,可以帮助一些没有接触过Samba的网友快速完成基础的配置,但是由于本人时间有限,没有进行更加深入的研究,我上述方法中的问题大家可以在评论中指出。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐