在办公室丢了个k3路由器,并挂了一块硬盘,用于数据备份之类的使用,共享一般用samba和file broswer两个应用,本级的网络结构大致如下:
日常使用也挺好的,最近发现文件扫描可以直接扫描到samba文件服务器,但在扫描仪端无法找到共享的文件,但是用file broswer是可以在10.128.X.X地址下访问到的,说明还是samba设置的问题,所以上网搜索了一下,发现只要把bind interfaces only = yes改为bind interfaces only = no就可以在samba开启wan口访问,但是毕竟这是设置在公共的扫描仪上的,我担心密码一泄露,把文件服务器上的资料全泄露了,所以又开始找多用户名权限设置了。
实现步骤:
- 安装依赖的软件包
- shadow-common
- shadow-useradd
- 创建新用户
- 创建用户:
# useradd
<用户名> - 设置密码:
# passwd
<用户名>
- 创建用户:
建立samba密码命令格式:smbpasswd [选项] <用户名>
选项:
-s 从已有用户读取密码
-a 添加用户
-x 删除用户
在防火墙中打开对应的端口
对应的端口有4个: https://openwrt.org/docs/guide-user/services/nas/cifs.server
- TCP 137 – NetBIOS Name Service
- TCP 138 – NETBIOS Datagram Service
- TCP 139 – NETBIOS Session Service
- TCP 445 – Microsoft Directory Services
前两个是udp, 后两个是tcp, 在 /etc/config/firewall 中添加规则如下
config rule option target 'ACCEPT' option src 'wan' option proto 'udp' option dest_port '137-138' option name 'Allow-samba-netbios' config rule option target 'ACCEPT' option src 'wan' option proto 'tcp' option dest_port '139' option name 'Allow-samba-netbios-session' config rule option target 'ACCEPT' option src 'wan' option proto 'tcp' option dest_port '445' option name 'Allow-samba-microsoft-directory-service' |
最后在luci界面把扫描的文件夹添加到共享目录,保存并应用就可以了
补充一点:
Windows登录错误 用Windows登录Samba时提示不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接
,使用下面的命令删除已保存的用户名再次登录就可以了:
net use * /del /y
如果用户名和密码都输入正确,点击登陆却提示错误的话。这时候可以让Windows记住用户名和密码,然后就可以登录了。