Samba简介:在UNIX系统中,Samba是通过服务器消息块协议(SMB)在网络上的计算机之间,共享文件和打印服务的软件包。
SMB简介:Server Message Block,SMB协议是一种服务器/客户端协议,位于应用层,是Windows共享文件和打印服务的标准化协议,可以在两台计算机之间共享文件,打印机。
服务基本限定:
1、那些主机可以访问
2、那些用户可以访问
一、 确认已经安装samba
rpm -qa | grep samba
启动程序
/etc/rc.d/init.d/smb start
二、Samba有两个守护进程
1、smbd
– 监听139TCP端口
2、nmbd
– 监听137、138UDP端口
作用: 1、smbd进程的作用是处理SMB请求包,负责用户验证和文件共享【最终要】
2、nmbd进程的作用是处理浏览共享,和计算机名称解析
三、Samba配置
Samba配置文件保存在:
/etc/samba/smb.conf
包括四个设置段:
[global]
设置全局环境选项
主要选项设置:
workgroup=指定工作组或域
server string=描述
security=制定系统的安全模式
1、share
无权限验证
2、user
由Linux的Samba服务器作验证【缺省,推荐使用】
3、server
第三方主机验证
4、doman
第三方主机验证【第三方必须是Windows域控制器】
hosts allow=限定主机访问
【如果该段被注释掉,则表示所有的主机都可访问】 hosts deny=限定主机不能访问【这两项一般不同时使用】【默认是没有这一项的】
log file=指定日志文件存放位置【最好保留这一项】
max log size=指定日志文件所占空间【注释了则表示没限制】
[homes]
设置用户宿主目录共享,如果每个用户不能访问自己的宿主目录,则注释掉该项
主要选项设置
comment描述
browseable=no
//没有权限访问的目录是不可见的
writeable/writable=yes
//可写,no,只读
[printers]
设置打印机共享【不常用】
[sharefiles]
设置文件共享
【分号“;”也是注释符】
四、【Samba应用示例一】
允许用户通过Windows客户端访问自己的宿主目录
1、安装Samba,不需要对配置文件作任何修改,即可完成此功能,但是如果开启了SELinux,或是Netfilter/Iptables,则需做如下工作,关闭防火墙
# iptables -F
//关闭Iptables
# setsebool -P samba_enable_home_dirs on
//改变SELinux策略
或者,编辑/etc/selinux/config将SELinux项改为disabled,设置SELinux永久不启动
【最佳实践】
gesebool -a | grep samba
查看SELinux所有与Samba有关的策略
2、设置用户Samba验证
smbpasswd -a 用户名
【-a表示添加】
3、启动Samba服务
/etc/rc.d/init.d/smb start
4、Windows访问Samba服务器共享资源
开始 → 运行 → 输入\\Samba服务器地址
【断开连接:Windows → com : net use * /delete /y】
5、Samba服务器端访问的客户端信息
smbstatus
同时,用户登录的全部信息保存在/var/log/samba目录下