samba
samba:是一个软件
FTP:应用层协议也就是第七层
TCP/IP:应用层 TCP/IP协议在这只是负责将数据报文安全的传达到目的地即可
NFS 只工作在linux主机和unix主机上
samba能够基于不同主机上实现文件共享
CIFS/SMB 在windows上实现时依赖于NETBIOS协议
CIFS:通用互联网文件系统 Common Internet File System
SMB:服务信息块儿 Service Message Block
windows之间共享文件时是基于那些端口实现:
137/udp ,138/udp 提供netbios
139/tcp 提供netbios
445/tcp 共享文件
用iptables开放本机的samba服务时,要记得开放这几个端口
samba事先也是SElinux控制的,事先应关掉SElinux
系统用户,samba密码
samba是有安全级别概念的;其默认级别是:user
UNC路径:
\\IP\software 也就是\\主机地址\共享名
在linux上,启动samba服务之后,会启动两个进程:nmbd,smbd
samba的进程:
nmbd:提供NetBIOS
smbd:提供文件共享
安装配置samba:
一般来说,我们在安装完系统后,samba客户端都是会安装的;
1、安装:

宏:变量
在/etc/smaba/目录下有一堆的配置文件,主配置文件是:smb.conf
共享目录一般格式:
[shared_name]:共享名称
comment = 给一个注释
path = 目录路径
browseable= 是否可浏览
public = 是否能够被所有用户读的
ready only = 是否只读
writeable = 是否可写
write list = user1,user2 定义可写用户列表;不加用户时,表示都可写
@geoup,+group:表示这个组内的用户都可写
valid users = 表示共享只有哪些用户可以访问 也就是白名单 invalid users = 表示共享哪些用户不可以访问 也就是黑名单
白名单和黑名单一般不能同时使用,同时使用时,白名单生效。
例子:
我们把share目录下test目录共享出去,共享名为tools
先建一个目录:
# mkdir /share/test -pv
然后编辑smb.conf
在smb.conf里面编辑:
[tools]
comment = Share Testing
path = /share/test
public = yes
writable = yes
然后保存退出
然后启动smb:
service smb start
然后查看服务是否开启
# netstat -tunlp
然后添加一个用户gentoo,使其插入到smb,给密码
# smbpasswd -a gentoo
最后即可访问
smbclient
-L NetBIOS_name 也可以直接跟IP地址 指定主机名 表示要访问哪个主机 -U username 直接指定用户名
chmod og=--- 加文件路径 使文件没有任何权限,也就是任何人都不能访问,属主,属组都是都是管理员
在windows上共享文件时,在linux上去访问这个共享的例子:
# smbclient -L 指定IP地址
# smdclient -L 指定地址 -U wuser