1、写在前面
2、Linux系统上搭建Samba服务器和简单配置(Linux系统:CentOS 6.3)Windows利用SMB协议来实现操作系统间文件和打印机共享,而Samba本身具备SMB协议,它实现了局域网内与Windows系列计算机的资源共享。也就是说,Samba解决了windows 和 Linux以及其他操作系统之间的资源共享问题。
①SMB协议
SMB (Server Message Block,服务信息块) 协议,是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其他windows和linux 机器提供文件系统、打印服务。SMB的工作原理是让NetBIOS和SMB运行在TCP/IP之上,且使用NetBIOS的nameserver让Linux机器可以在Windows 网络邻居里被浏览。
②Samba
Samba是用来实现SMB的一种软件,由澳大利亚的Andew Tridgell开发,是一种在Linux 环境里运行的自由软件。它可以完成如下功能:
(1)文件服务和打印服务,实现Windows和Linux的资源共享。(2)登录服务器,可以作为局域网的服务器。(3)作为主域控制器。(4)WINS服务器。(5)支持SSL。(6)支持SWAT。
①服务查询
# rpm -qa | grep samba
默认情况下,Linux系统中默认安装了Samba服务包的一部分 ,查询到存在的包如上。
②Samba安装
考虑安装包依赖的问题,采用yum命令进行安装。虽然已安装部分包,使用yum安装的过程中对已安装的包不会安装,如有更新则进行更新。
安装结果如下:# yum install samba
③配置Samba
Samba的配置文件一般在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,是samba服务的核心配置文件,搭建samba服务的大部分配置都在该文件中。
Samba服务器的工作原理是:客户端向Samba服务器发起请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。
(1)修改配置文件
备份配置文件
# cd /etc/samba # mv smb.conf smb.confbak
重新创建smb.conf文件
编辑新创建的smb.conf# touch smb.conf
内容如下:vim smb.conf
[global]
workgroup = Linux
netbios name = Linux_CentOS
server string = Linux Samba Server
security = share
[linux_centos]
path = /tmp/linux_share
writeable = yes
browseable = yes
guest ok = yes
注解说明如下:
[global]全局配置,是必写的。其中有如下的几行;
workgroup Windows中显示的工作组;
netbios name Windows中显示的计算机名;
server string Samba服务器说明,可自定义,不重要;
security 验证和登录方式;share表示不用设置用户和密码;另外一种常用的是user的验证方式;
[linuxsir] 在Windows中显示出来的共享目录;
path 设置要共享的目录位置;
writeable 是否可写;
browseable 是否在工作组下可以浏览共享文件夹;
guest ok 匿名用户以guest身份是登录;
(2)创建目录并授予权限
注解说明:可以用 id nobody查看用户组# mkdir -p /tmp/linux_share # chown -R nobody:nobody /tmp/linux_share
(3)服务启动与关闭
Samba 有两个守护进程:smbd 和nmbd,它们是Samba的核心进程。nmbd进程使其他计算机浏览Linux服务器,smbd进程在SMB服务请求到达时对它们进行处理,并且为使用或共享的资源进行协调。
服务启动:
另一种方式:# smbd # nmbd
服务启动与关闭:
# service smb start # service smb stop
服务的查看:
# service smb status # chkconfig --list smb