有时候我们想想自行搭建公司内部文件共享系统,samba是个不错的选择,它简单,却非常实用,便是群晖 nas(synology)的文件系统也用它整合,可见它的魅力!
一、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端口。
例如,某台samba服务器的ip地址为10.0.0.163,对应的工作组名称为preteckserver,那么在windows的ie浏览器输入下面两条指令都可以访问共享文件。其实这就是windows下查看linux samba服务器共享文件的方法。
\192.168.20.239共享目录名称
\preteckserver共享目录名称
samba服务器可实现如下功能:wins和dns服务; 网络浏览服务; linux和windows域之间的认证和授权; unicode字符集和域名映射;满足cifs协议的unix共享等。
二、系统环境
系统平台:centos release 6.5
samba版本:
samba-3.5.10-125.el6.x86_64
samba server ip:192.168.20.239
防火墙已关闭/iptables: firewall is not running.
selinux=disabled
三、安装samba服务
1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。
yum install samba samba-client samba-swat
有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。
2、查看安装状况
rpm -qa | grep samba
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
可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启samba服务,启动smb服务如下所示:
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig --level 35 smb on
四、配置samba
备份:
cp /etc/samba/smb.conf /etc/samba/smb.confbak
恢复:
cp /etc/samba/smb.confbak /etc/samba/smb.conf
vi /etc/samba/smb.conf
[global]
netbios name = file_server
server string = samba server version %v
log file = /var/log/samba/log.%m
max log size = 50
hosts allow = 192.168.1., 192.168.0., 127. ###允许10,20网段和本机访问
cups options = raw
security = user ###设置密码访问
workgroup = workgroup
[homes]
comment = home directories
read only = no
browseable = no
[printers]
comment = all printers
path = /var/spool/samba
printable = yes
browseable = no
[pretech]
comment = pretech
path = /home/share/pretech
public = no
browseable =yes
writable = yes
valid users=pretech
directory mask = 0777
create mask = 0777
[公共文档]
public支持中文
comment = 公共文档
path = /home/share/public
public = yes
writable = yes
guest ok = yes
directory mask = 0777 #生成目录权录为 0777
create mask = 0777 #生成文件权录为 0777
; printable = no
; write list = staff
五、添加访问linux共享目录的账号
useradd -s /sbin/nologin zzy
smbpasswd -a zzy #设置账户登录密码
mkdir /home/share/zzy
chcon -r -t samba_share_t /home/share/zzy #设置共享安全,一定要设置
chmod -r 0777 /home/share/zzy
六、重启samba
/etc/init.d/smb restart 或 service smb restart
七、在windows客户端“运行”窗口中输入,
运行窗口:
\192.168.20.239
或 “网络”中打开“file_server”
八、断开windows共享链接,有如下面的两种方法:
net use \192.168.1.1ipc$ /del
net use * /del
凯发官网首页的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至598370771@qq.com举报,一经查实,本站将立刻删除。