|
|
本帖最后由 CoLoRs 于 2022-5-30 11:42 编辑
N1刷Armbian,安装了Samba,没想到遇到几个深坑,做个记录。
Armbian是flippy大神的Armbian_20.10_Aml-s9xxx_buster_5.10.26-flippy-56+.img.xz,软件选装或者apt安装Samba均可, 装好查看版本是4.9.5。
1、Samba用户密码设置,这个是最简单的,其它教程都会提到,按下面步骤操作:
在/etc/samba/smb.conf增加配置项,使用smbpasswd
security = user
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
然后进入Shell界面创建用户,新创建用户命令smbpasswd -a username,username可以改成你想要的用户名,输入命令后会提示输入两遍密码,完成后用户就创建好了。
2、在Windows 11文件资源管理器的网络中查看本机名称(已经设置共享文件夹),默认是看不到的。没错,看不到是正常的,能看到才是不正常,呵呵。虽然这个问题与Armbian里的Samba无关,可是看不到Samba共享主机,连本机也看不到,真让人抓狂!
你使用windows 11共享本机的一个文件夹,在本机的网络里是看不到本机名称的,只能看到别的电脑和网络设备名称,但是,在别的电脑上能看到你本机的名称,而且能够访问共享文件夹,神奇!据说只是部分windows有这个bug,无语中,我中招了。
解决办法,停止服务Function Discovery Resource Publication,然后再启动,本机名称就出现了!
方便的操作方法,创建一个cmd文件,写上下面两句,以管理员身份运行
net stop FDResPub
net start FDResPub
3、在Windows 11文件资源管理器的网络中查看Armbian的Samba服务主机,默认是看不到的。没错,看不到是正常的,能看到才是不正常,吐血!
为了安全,微软默认关闭了samba 1.0,你是看不到samba服务主机的。在网络里你能看到的是其它windows电脑名称(设置了共享文件夹的),这个与samba服务有区别。下面会做进一步说明。
微软的说明:https://docs.microsoft.com/en-us ... -default-in-windows
解决办法1,在启用或关闭windows功能中,选装SMB 1.0/CIFS文件共享支持。但是为了安全起见,不建议安装这个功能。
解决办法2,在Armbian上安装wsdd软件。前面说能看到其它windows电脑名称(设置了共享文件夹的),是因为它提供了WSDD服务。WSDD全称是Web Services Dynamic Discovery (WS-Discovery),这里推荐安装https://github.com/christgau/wsdd
安装后,编辑/etc/wsdd.conf中的WSDD_PARAMS参数,例如WSDD_PARAMS="-i eth0 -4 -s"(我只使用ipv4only)。
编辑/etc/systemd/system/multi-user.target.wants/wsdd.service,例子如下:
[Unit]
Description=Web Services Dynamic Discovery host daemon
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
EnvironmentFile=/etc/wsdd.conf
ExecStart=/usr/bin/wsdd $WSDD_PARAMS
User=daemon
Group=daemon
[Install]
WantedBy=multi-user.target
启动wsdd,windows11就能看到armbian上的Samba 4主机名称了。clear
一些参考:
1、smb.conf里不需要配置netbios name,默认会使用host的名称。
2、不要禁用windows网卡的TCP/IP上的NetBIOS,保留默认。
wsdd有个进阶功能-D,可以搜索网络中的WSDD设备
|
|