参考资料:
http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html
1、简介
2、安装
3、配置
1、简介
Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。
Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。
组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
2、安装
环境配置:
2.1 关闭selinux——/etc/selinux/config
修改SELINUX=disabled,然后重启系统,这样可以永久关闭SELINUX。
可以使用getenforce查看SELINUX状态或者使用setenforce设置SELINUX状态
#getenforce
Disabled
或者setenforce 0 【修改为permisive状态,这样不用关机可以使用,但是重启还是会变更为/etc/selinux/config中配置的状态】
2.2、安装
1、yum安装
# yum install samba samba-client samba-swat
有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。
2、查看安装状况
3、安装包说明
samba-common-3.5.10-125.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面
samba-3.5.10-125.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
4、启动Samba服务器
可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务【或者使用service smb start/stop/restart管理samba】,启动SMB服务如下所示:
5、查看samba的服务启动情况
# service smb status
6、设置开机启动
chkconfig smb on
7、开放端口【防火墙配置】——/etc/sysconfig/iptables
开放端口137、138、139、445
然后重新启动iptables:service iptables iptables
3、配置
更加的详细的参数信息与配置信息,参考:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html
这里,实现一个public目录【匿名访问】和一个带权限访问目录【emos】
1、在/etc/samba/smb.conf文件末尾添加目录信息:
2、修改目录权限信息
配置目录的组,其中public允许匿名访问,因此设置public的用户名和组名为nobody
3、新建samba用户
创建emos组使用groupadd emos
添加组内用户:useradd -g emos emos
添加用户到samba账户中:smbpasswd -a emos
4、检查配置文件是否正确——testparm
5、重新加载配置文件:
service smb reload
6、smbclient客户端使用
【public】目录访问
注:
public目录是匿名访问目录,不需要输入密码,直接enter可以访问
【emos】目录访问
【查看配置信息】
7、windows 7 访问
1.、确保可以ping通服务器
2、确保开启了TCP/IP NetBIOS Helper 服务,可以通过services.msc 查看
3、windows 7 访问
或者在“运行”中直接输入:\\ samba 服务器IP地址\目录 可以访问
4、映射驱动器
8 、Linux访问
linux访问samba服务器可以使用文件浏览器访问,或者使用smbclient命令访问
1. 文件浏览器访问
在文件浏览器中选择“转到”---“位置”,在地址栏输入: smb://samba服务文件位置(例如smb://192.168.1.120/public)
2. smbclient 使用
smbclient 连接服务器参考本文前面部分
文件上传:
文件下载: