作者
QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118
参考
嵌入式samba功能的实现,linux下samba的移植
交叉编译samba(mipsel-linux) samba-3.3.3.tar.gz
samba交叉编译
Samba官网
Samba Github
Samba官网ftp samba2在old-version文件夹中
samba源码安装
Ubuntu 18.04交叉编译机顶盒samba软件
CIFS 与 SMB 有什么区别?
如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3
默认情况下,windows 10 版本1709、Windows Server 版本1709及更高版本中未安装 SMBv1
Windows 7升级1月更新汇总后导致SMBv2网络无法正常工作
samba
最新的是samba4,还在更新中,总计有1,2,3,4四个版本的samba,
- samba-1.9.18
- samba-2.2.12
- samba-3.6.25
交叉编译samba
编译中遇到一些错误,
#define HAVE_GETTIMEOFDAY_TZ
/*winbindd_nss.h*/
#define uint32 unsigned int
# for powerpc
/*readline.c*/
rl_event_hook = callback;//(Function *)callback;
bn编译,
./configure --cross-compile --cross-execute=arm-xilinx-linux-gnueabi- --hostcc=gcc
对于win7,打开windows文件浏览器,输入\\x.x.x.x
即可访问,对于win10,默认只支持smb3.x,需要手动开启smb1.0,
将smb1.0升级为smb2.0,官员打开powershell,
PS C:\Windows\system32> Set-SmbServerConfiguration -EnableSMB2Protocol $true
确认
是否确实要执行此操作?
正在执行操作“Modify”(针对目标“SMB Server Configuration”)。
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“Y”):
编写配置文件,在开发板上执行,
$ vi /usr/local/samba/lib/smb.conf
[global]
workgroup=workgroup
server string=zynq
netbios name=zynq
guest account=root
security=share
interfaces=eth0
[share]
path=/
guest ok=yes
browseable=yes
$ smbd -D
CIFS客户端
配置内核,添加2.0/3.0支持,
<*> CIFS support (advanced network filesystem, SMBFS successor)
[ ] CIFS statistics
[ ] Support legacy servers which use weaker LANMAN security
[ ] Kerberos/SPNEGO advanced session setup
[*] CIFS extended attributes
[*] CIFS POSIX Extensions
[*] Provide CIFS ACL support
windows上创建文件夹,开启共享,允许在公共和家庭网络发现,
在开发板上挂载,vers=2.0
适用于win8以后的windows操作系统,解决Host is down
,nounix,noserverino
解决Value too large for defined data type
,
# mount -t cifs -o username=zc,password=zc,vers=2.0,nounix,noserverino //192.168.6.6/share ./win
对于ubuntu,指定dir_mode
,file_mode
,
$ sudo mount -t cifs -o username=zc,password=zc,dir_mode=0777,file_mode=0777 //192.168.6.6/share ./windows