Linux/Unix通过NFS来共享远端主机的磁盘,而samba让Linux/UNIX主机与windows的SMB/CIFS协议做共享,这种服务与ftp服务不同之处在于:可以直接操作远端主机的磁盘,而ftp只能修改后上传与下载,这个是不同之处。
CIFS/SMB:windows平台共享文件协议
NetBIOS:network basic input output system(基于广播,向其他主机请求主机名,获得其他主机)
由IBM开发,作用是互联局域网中的计算机,由于并非针对大型网络涉及,所以NETBIOS并不能跨路由,但是它在局域网中的应用是较为有效和便利的,但是也要明白缺点。
当然samba也是基于NETBIOS协议。。
Winbindd:让Linux做成windows下的域控制器,结合LDAP
LDAP:(Openldap)
CIFS:Common Internet File System(网络文件共享系统)
SMB:Service Message Block(服务器消息区块)
NetBIOS:(WINNS)由于NetBIOS会向网络中进行广播,所以第一次打开的时候会相当的慢,因为它这种实现方式(向网络中发送大量广播包)不合理性,所以出现了WINNS,类似DNS,但是只是基于windows。
格式:UNC:\IP\Shared_Path\
在运行这NETBIOS的主机之间的通信,需要通过他们的NetBIOS名称来定位对方。通信流程:
首先互通的主机需要工作在一个工作组中(Workgroup)内,然后通过NetBIOS名称识别找到对方主机,接下来就是进行连接及身份和权限方面的验证。。
sanba有两个守护进程,分别做NetBIOS名称解析和权限验证:
nmbd:此守护进程用于对工作组和NetBIOS名称的判断和解析,它监听在UDP的137和138端口。
smbd:此守护进程管理着服务器上的文件、目录和打印机。资料传输时使用TCP协议,它监听139和445端口。。
vim /etc/samba/smb.conf
#:纯注释
;:表示可启用的选项
————————Global Setting———————–
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
———————–Logging Options———————–
log file = /var/log/samba/log.%m 每一个来访用户都会有对应的日志文件记录%m表示的就是来访的username
max log size = 50(KB) 超出后日志会滚动
———————–Standalone Server Options——————
security = user 安全级别
passdb backend = tdbsam 存放的格式
————————Printing options————————–
load printers = yes (表示默认加载打印机)
cups options = raw (cup:common unix printer ,使用raw打印机制)
———————-Share Definitions————————-
[homes]
comment = Home Directories(注释)
browseable = no(是否能被浏览到)
writable = yes(是否具有写权限)
vaild users = %S
vaild users = MYDOMAIN%S
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
基本格式:
[share_name]
comment =
path =
browseable =
public =
read only =
writable =
write list = user1,user2 定义可写用户列表
@group,+group
valid users =
invalid users =
mkdir /share/test -pv
[tools]
comment = share testing
path = /share/test
public = yes
writable = yes
#testparm 这个命令专门可以用来判断是否有语法错误,然后敲enter可以看看配置信息。。(这个相当方便)
#setfacl -m u:smbtest:rwx /share/test
#smbpasswd -a smbtest
\192.168.100.12\tools
部分参考:《完美应用红帽企业版Linux》
更多可直接参学本书
错误1:
Failed to add entry for user jack.
这种原因是由于没有相应的系统用户,添加系统用户后在添加到smb上,就可以。。
错误2:
smbclient -L 10.0.2.15
session setup failed: NT_STATUS_LOGON_FAILURE
要确保这个用户存在于系统和samba中。。