Samba文件共享:Samba是Linux,Unix与windows之间进行交互操作的软件组件,Samba是基于GPL协议的自由开源软件;所需软件包括:Samba(服务器端软件包), Samba-client(客户端软件包),Samba-common(Samba公共文件软件包);其中Samba由smbd 和 nmbd两个守护进程组成:
smbd服务进程为客户端提供文件共享与打印机服务,另外该进程还负责用户权限验证以及锁功能,smdb
默认监听端口是TCP的139 与445, Samba通过smb服务启动smbd进程,使用netstat -nutlp 可以查看
进程端口信息;
nmbd进程提供NetBIOS名称服务,以满足基于Common Internet File System(CIFS)协议的共享访问环境
Samba通过nmb 服务启动 nmbd进程,该进程默认使用的是UDP137端口;
===========Samba服务配置:
1》关闭防火墙与SELinux:
setenfore 0
service iptables stop
2》安装Samba软件:
yum -y install samba
3》创建共享目录:
4》修改配置文件(/etc/samba/smb.conf):
5》创建访问账号:客户端访问Samba共享时所使用的账户名称就是服务器端系统中真实存在的系统账户名称,但是访问Samba共享的密码必须是独立的Samba密 码,而不可以使用系统密码,这样是为了保证真实系统的安全性。所以成功访问Samba服务器还需要使用smbpasswd将系统账户添加到Samba,并 设置相应的密码,系统默认会将账户与密码存放在/var/lib/samba/private目录下;
相关命令:smbpasswd 修改账户samba密码
-a 添加账户并设置密码
-x 删除SMB账户
-d 禁用SMB账户
-e 启用SMB账户
6》启动服务:
service smb restart
===============访问samba共享:
1》windows客户端访问:
2》Linux客户端访问:
1>第一种访问方式:命令行直接访问
2>第二种访问方式:以挂载共享目录到客户端的方式进行共享:
3>第三种访问方式:使用图形访问,之后会在桌面生成一个挂载图标:
============配置文件详解:
Samba配置文件非常简洁明了,所有的设置都在/etc/samba/smb.conf配置文件中进行,通过对该配置文件的修改,可以将Samba配置为一台匿名文件服务器,基于账户的文件服务器或打印服务器,默认情况下Samba会已开启本地账号家目录共享与打印机共享;全局配置端(global)中的设置项与共享段中的设置项有冲突时,则共享设置段中的设置为实际有效。
interfaces 指定Samba监听哪些网络接口
hosts allow 允许哪些主机进行访问,可以用EXCEPT指定全网段以外的IP进行访问
max log size 单个日志最大容量,单位为KB
security 可以被设置为user,share,server,domain,
user代表通过账号密码进行验证访问
share代表匿名访问
server代表基于验证身份访问,但账户信息保存在另一台SMB服务器上
domain同样基于验证身份访问,账户信息保存在活动目录中
deadtime = 10 客户端在10分钟内没有打开任何Samba资源,服务器会自动关闭会话,在大量的并发访问环境中这样的设置可以提高服务器性能
max connections 设置最大连接数,0代表无限制
quest account = nobody 设置匿名账户为nobody
load printers 是否共享打印机
cups options = raw 打印属性
browseable 共享目录是否对所有人可见
wirteable 是否可写
wirte list = @组名 写权限列表,@代表组,意思是组内的成员都可写
==================常见问题分析:
1》NT_STATUS_BADj_NETWORK_NAME
若提示该错误信息,则说明输入了错误的共享名称,一般为输入性错误,需要检查客户端请求的共享资源在服务器中是否存在;
2》NT_STATUS_LOGON_FAILURE
若提示该错误信息,则说明登录失败,一般是由于账户名称或密码不对,需要检查账户与密码后重试;
3》NT_STATUS_ACCESS_DENIED
若提示该错误信息,则说明访问被拒绝,权限不足;这里可能是Samba服务设置的访问权限,也有可能是服务器文件系统的访问权限不允许客户端访问;
4》Error NT_STATUS_HOST_UNREACHABLE
若提示该错误信息,则说明客户端无法连接Samba服务器,一般是由于网络故障或防火墙问题引起的,需要检查客户端与服务器的网络连接是否正常,此外,还要检查防火墙规则是否允许客户端请求,Samba端口有137,138,139,445;
5》Not enough ‘\’ characters in service
若提示该错误信息,则说明客户端访问时共享路径输入有误,特别是//IP与//IP/是不同的使用//IP格式访问服务器时会报错;