samba详细配置

samba服务器安装配置

一、Samba服务器的基本原理

Samba服务器在linux系统上面实现了AMB/CIFS协议,即可以在linux系统中为windows主机提供网络文件共享服务。Samba服务器中包括以下两个服务程序:

smbd服务程序为客户机提供了服务器中共享资源(目录和文件)的访问。

nmbd服务程序提供了NetBIOS主机名称的解析,为windows网络中或工作组内的主机进行主机名称解析。

Samba服务器需要smbdnmbd两个服务程序同时运行,缺一不可。详细介绍大家可以参考Samba官网 http://www.samba.org

二、Samba服务器的安装于配置

2.1Samba服务器的安装

Samba安装非常简单这里不做过多解释,Samba需要以下3个包可以使用yum进行安装

yum -y installsamba-common samba samba-client

samba-common软件包提供了Samba服务器和客户机中必须使用的公共文件,因此该软件包必须在Samba服务器和客户机软件包之前安装。

samba软件包中包提供了samba服务器程序所有的文件

samba-client软件包中提供了samba客户机的所有文件

2.2Samba服务器配置

在对Samba服务器的管理中,Samba服务器的配置时以主配置文件smb.conf为核心进行的,配置过程包括以下步骤:
1)在smb.conf文件中进行资源共享的配置,包括用户目录公共目录等
2)使用smbpasswd命令建立samba用户账户和设置密码
3)可以使用命令testparm命令对配置好的smb.conf文件进行测试
4)配置完毕后启动samba服务器的smb服务,smb服务器即为samba服务
1
smb.conf文件的配置
smb.conf
的配置文件包括3个部分:

global】部分是samba服务器的全局设置配置项内容对整个samba有效;

homes】部分设置了用户共享目录属性,这部分中不包括的设置项使用配置文件中的全局设置;

printers】部分设置了samba服务器中的打印机共享资源的属性,samba服务器除了可以提供文件共享,还能够提供打印机共享;

下面是smb.conf文件示例:
[global]
workgroup = MYGROUP
server string = samba server
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba/%m.log
max log size = 50
security = user
[global]配置中常用配置项的含义见下表:

配置项

说明

workgroup

设置samba服务器所在的工作组的名称,默认设置为MYROUP

server string

设置samba服务器的说明文字,用于描述samba主机

log file

设置samba服务器的日志文件,默认设置为“/var/log/samba/%m.log”,表示所有设置文件都保存在“/var/log/samba”目录中,使用samba服务器的每个客户机的日志分别保存在与客户主机同名的“/%m.log”文件中,"%m"变量表示客户主机的名称

max log file

设置日志文件的最大容量,默认为50,表示50KB,这个设置项的单位是KB

security

设置默认服务器的安全级别为user,表示需要经过samba服务器的用户认证后才能登陆访问服务器中的资源,如果设置成share表示用户可以匿名访问

2、建立samba用户账号
samba
服务器不适用linux系统的用户账号进行用户认证,而是维护自己的账号文件。samba服务器用户账号保存在"/etc/samba/"目录中,文件名是smbpasswd,初始状态smbpasswd文件不存在,在第一次适用smbpasswd建立samba账号时自动建立。使用smbpasswd命令的“-a”选项可以向smbpasswd文件中添加samba用户账号,在添加过程中会提示输入用户口令。smbpasswd建立账号参数如下:

-h:显示smbpasswd的命令格式帮助

-a:添加指定的用户账号

-d:禁用指定的用户账号

-e:启用指定的用户账号

-x:删除指定的用户账号

使用smbpasswd命令建立samba用户账号时应该注意一下几点:

samba用户账号使用独立的smbpasswd文件保存用户的账号和加密口令信息

samba用户账号之前需要建立同名的linux系统账号在linux服务器上面,因为samba用户是使用同名的系统账号身份访问linux系统资源(文件和目录)的

samba用户的口令和同名系统用户口令是独立的,可以相同也可以不同,需要分别进行维护和更改

samba用户不需要登录linux系统时,同名的系统账号可以不设置口令

三、配置实例

3.1、匿名访问

公司有个samba服务器,现在公司需要建立一个公共目录public共所有人匿名访问,并且具有上传下载权限:

mkdir /home/public

chown -Rnobody.nobody /home/public

vi/etc/samba/smb.conf

security = user改为security = share

[public]
comment = public
path = /home/public
public = yes
only guest = yes
writable = yes
[public]共享目录中,各项设置含义如下:

comment用于设置共享的说明信息

path用于设置共享目录对应linux的系统目录

public设置为yes表示该共享目录对所有samba用户是可见的

only guest设置为yes表示所有用户在使用该共享目录时的用户身份为guest,即linux系统用户nobody

writable设置为yes表示所有用户对共享目录有可写权限

3.2、用户通过用户名密码访问

公司需要做云平台,今后所有的公司人员的工作都需要在云平台上操作,故要求运维人员以samba的方式为云平台每个员工分配自己单独的存储目录,每个员工自能看到自己的目录并且对自己的目录有读写权限:
mkdir /home/zhangsan

mkdir /home/lisi

useraddzhangshan

useraddlisi

smbpasswd -azhangshan

smbpasswd -a lisi

cpsmb.confsmb.conf.zhangsan

cpsmb.confsmb.conf.lisi

vim/etc/samba/smb.conf.zhangsan

[zhangsan]
comment = zhangsan
path = /home/zhangsan
write list = zhangsan

vim/etc/smb.conf.lisi

[lisi]
comment = lisi
path = /home/lisi
write list = lisi

这里需要注意的是在配置之前要确认security = user这项是user而不是share,配置好后重启smb服务验证配置是否生效

四、samba客户端安装使用

samba客户端安装非常简单可以使用yum安装即可完成,samba客户端主要使用两个命令即smbclientsmbmount

yum installsamba-client

4.1smbclient命令使用

smbclientsamba服务器的命令行方式登录客户端,使用形式类似telnetftp命令。使用smbclient命令可以登录到本机活指定的samba服务器进行操作。使用smbclient命令的“-L”选项可以显示指定samba服务器中的共享资源列表。“-U”选项可以指定用户名及访问目录,smbclient上传命令为get、下载命令为put,如想学习更多名利可以使用help命令查看,使用格式如下:

smbclient -L192.168.8.178

smbclient192.168.8.178/lisi-U lisi

4.2smbmount命令使用

smbmount命令主要是针对windows服务器共享目录而言的,使用smbmount命令可以把windows服务器共享目录挂载到本地使用,命令格式如下:

smbmount192.168.8.178/zhangsan/mnt

五、samba WEB管理工具swat

swat管理工具以web界面的形式提供了对samba服务器的管理功能,通过在管理工作站中使用网页浏览器访问swat界面,可以方便快捷的对samba服务器进行远程管理。下面我们对swat的安装使用进行简单描述:

安装非常简单使用yum安装

yum installsamba-swat

swat是受xinetd超级服务管理的服务程序,在安装的默认状态下是禁用的,因此需要使用chkconfig命令启用swat服务,并重启xinetd服务程序。

chkconfig --listswat

swat off

chkconfig swat on

chkconfig --listswat

swat on

servicexinetdrestart

swat服务在的配置文件位于“/etc/xinetd.d” 目录中,文件名是swat。在该配置文件中默认设置了only_from的值为127.0.0.1,即只有samba服务器主机中可以访问该配置界面。如果用户需要在其他主机远程访问管理samba服务器的话需要修改only_from的值为你想要的那台主机only_from = 192.168.8.178,修改完成后重启xinetd服务器生效。因为swat服务运行在901端口,所以在访问需在浏览器输入http://192.168.8.178:901即可出现登陆页面,在登陆页面输入samba服务器的管理员用户名密码即可登陆操作。

技术交流q群:155596694


你可能感兴趣的:(samba服务器配置详解)