1.SAMBA文件共享服务

1987年,微软公司和英特尔公司共同制定了SMB(Server Messages Block,服务器消息块)协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单。到了1991年,当时还在读大学的Tridgwell为了解决Linux系统与Windows系统之间的文件共享问题,基于SMB协议开发出了SMBServer服务程序。

samba服务是一种文件共享服务,可以很好的在linux和window之间进行文件共享,也可以在linux和linux之间进行文件共享。

samba服务程序名为samba,但是在Linux中,samba服务名为smb

安装samba服务程序很简单:

# yum install samba

2.samba服务程序的配置

samba服务的配置文件路径为:/etc/samba/smb.conf,有320行。

可以通过筛选去掉以#和;开头的行,并且去掉空行^$,再将筛选的结果写入该配置文件

cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf


[global]
#全局参数。

workgroup = MYGROUP #工作组名称

server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号

log file = /var/log/samba/log.%m #定义日志文件的存放位置与名称,参数%m为来访的主机名

max log size = 50 #定义日志文件的最大容量为50KB

security = user #安全验证的方式,总共有4种

#share:来访主机无需验证口令;比较方便,但安全性很差

#user:需验证来访主机提供的口令后才可以访问;提升了安全性

#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

#domain:使用域控制器进行身份验证

passdb backend = tdbsam #定义用户后台的类型,共有3种

#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码

#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户

#ldapsam:基于LDAP服务进行账户验证

load printers = yes #设置在Samba服务启动时是否共享打印机设备

cups options = raw #打印机的选项
[homes]
#共享参数

comment = Home Directories #描述信息

browseable = no #指定共享信息是否在“网上邻居”中可见

writable = yes #定义是否可以执行写入操作,与“read only”相反
[printers]
#打印机共享参数

comment = All Printers

path = /var/spool/samba #共享文件的实际路径(重要)。

browseable = no

guest ok = no #是否所有人可见,等同于"public"参数。

writable = no

printable = yes


3.配置共享资源

[database] 共享名称为database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作
pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次把账户信息写入到数据库时需要使用-a参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了。
#pdbedit -a -u smbuser
new password:此处输入该账户在Samba服务数据库中的密码
retype new password:再次输入密码进行确认
Unix username: smbuser

使用windows //IP地址可以连接samba服务器了,输入设置的用户名和密码即可

红帽linux网络课程学习贴 - 16_第1张图片