windows:系统间共享文件及数据通过CIFS协议
linux:系统间共享数据通过NFS文件传输协议。
samba:跨平台实现windows与linux之间的数据共享、在netbios基础上开发,默认是不可以跨网段路由的。
特点:
1、可以直接远程编辑文件
2、可以通过镜像链接远程共享目录
3、打印服务
主要启动服务:
nmbd:管理工作组、netbios解析、137、138UPD端口
smdb:管理文件、目录、打印共享,139TCP端口
winbindd:实现加入域控及创建域的功能。
软件包:
1、samba:服务器主程序包
2、samba client:客户端软件包
3、samba-common:辅助工具包
脚本文件:
1、/usr/sbin/smbd|nmbd:解析和共享服务
2、/usr/bin/tdbdump|tdbtool:samba使用数据库管理账户信息,
tbdump负责查看数据库;tdbtool负责手动修改数据库账户信息(安装tdb-tools)
3、/usr/bin/smbstatus:查看当前samba链接状态、用户来源、PID、共享资源。
4、/usr/bin/pdbedit:管理数据库账户信息。
5、/usr/bin/testparm:检查smb.conf语法问题。
6、/usr/bin/smbclient:查看远程主机可用的共享资源。
主配置文件smb.conf
基本语法
1、#和;都是注释符。
2、不区分大小写
全局配置
包括、工作组、netbios名称、访问机制、日志设置。
主要参数:
workgroup = “workgroup”
netbios name = "host-share"
display charset = "自己显示的编码" //通常是i18n
unix charset = “在linux系统上显示的编码”//建议同display charset相同。
dos charset = “windows显示的编码” //通常是"CP936"(GB 2312)
http://phorum.vbird.org/viewtopic.php?t=22001
security = "share|user|domain"
share:不需要密码
user:使用服务器自身的密码数据库,同passdb backend有关。
domain:使用外部服务的密码,通常称为域,添加选项:password server = ipaddr
passdb backend = 数据库格式
默认格式为tdbsam,位置:/var/lib/samba/private/passwd.tdb
共享配置
主要参数:
browseable = yes|no //是否可以让所有用户查看到。
writelist = user,@group //设置可以访问的用户和组用户。
常见可用变量:
%S:取代当前的设置项目值
[home]
valid user = %S //当用不同用户登录时,[]里面的home目录会随着账户而改变。
%m:代表客户端的netbios
%M:代表客户端的hostname
%L:代表samba主机的netbios
%H:代表用户的主目录
%U:代表当前登陆的用户名
path = /tmp/test //共享的文件夹
browseable = yes //允许被其他人浏览到资源名称
writable = yes //可以写入
write list = user,@group //可以写入的用户和组
认证要求:
samba服务器
1、/etc/passwd中要有账户信息,通过useradd创建账户
2、通过pdbedit -a -u username 生成samba数据库账户信息。
3、通过smbpasswd username 修改账户密码。
检测配置文件
testparm -v 详细检测,包括缺省的配置信息。
工作模式:
1、peer-peer:每个共享主机都维护一个资源访问账户数据库,管理分散、记忆麻烦
2、deamon module 集中管理访问账户数据库、快捷、高效。
linux作为samba-client访问windows服务端有2种访问方式:
1、交互式访问:
smb>get,put
登陆方法:smbclient -L ipaddr -U username
2、挂载网络文件方式:
mount -t cifg //192.168.1.9/wintest /data
存储类型:
DAS
NAS
SAN
linux作为服务器端为windows提供服务,需要启动samba服务。
samba用户账户必须是本地系统账户,密码为独立于/etc/shadow的密码,专用于访问samba的密码。
配置文件:
/etc/samba
/etc/samba/samba.conf
samba安全认证:
share:可以匿名访问
user:通过本地的账户和密码验证来提供服务
server:集中身份验证,kebers
AD:通过AD对账户密码进行验证。
检查配置文件配置情况:testparm,仅适用于samba配置文件。
单击[开始]——[运行] 输入 “secpol.msc”打开管理工具,展开“本地策略”;
然后,单击“安全选项”。 双击“网络安全:LAN Manager 身份验证级别”;
最后,单击列表中:发送LM和NTLMv2,如果已协商,则使用NTLMv2协议