Samba服务基础知识以及简单运用

  • Samba服务理论知识
  • 基础环境配置
  • 配置Samba服务,修改配置文件
  • Samba服务的使用


Samba服务理论知识

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
功能:可以提供用户登入Samba主机时进行身份认证,以提供不同身份者的辨别。可以进行Windows网络上的主机名称解析。可以进行设备的共享。

pdbedit命令:管理SMB服务程序的账户信息数据库。 
	 参数:
		-a 用户名:建立samba账户
		-x 用户名:删除samba用户
		-L:列出用户列表
		-Lv:列出账户详细信息的列表

管理samba用户:smbpasswd -a
添加samba用户:pdbedit -a -u
修改用户密码: smbpasswd
删除用户和密码:smbpasswd –x pdbedit –x –u
查看samba用户列表:/var/lib/samba/private/passdb.tdb pdbedit –L –v
查看samba服务器状态:smbstatus
SAMBA服务器全局配置

  • workgroup 指定工作组名称
  • server string 主机注释信息
  • netbios name 指定NetBIOS名
  • interface 指定服务侦听接口和ip
  • hosts allow 可用 “ , ” ,空格,或tab风格,默认允许所有主机访问,也可在每个共享独立配置
  • hosts deny 拒绝指定主机访问
  • config file =/etc/samba/conf.d/%U 用户独立的配置文件
  • Log level =2 日志级别,默认为0,不记录日志
  • max log size = 50 日志文件达到50k,将轮循rotate,单位KB
  • pasdb backend = tdbsam 密码数据库格式
    SAMBA服务共享目录配置
  • 每个共享目录应该有独立的 [] 部分
  • [共享名称] 远程网络看到的共享名称
  • comment 注释信息
  • path 所共享的目录绝对路径
  • public 能否被guest访问的共享,默认为no,和guest ok类似
  • browsable 是否允许所有用户浏览此共享,默认为yes,no为隐藏
  • writable = yes 可以被所有用户读写,默认为no
  • read only = no 和 writable = yes 等价,如与以上设置发生冲突,放在后面的设置生效,默认为只读
  • write list 三种形式:用户,@组名
  • valid users 特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔

基础环境配置

修改服务器主机名:

[root@nfs-client ~]# hostnamectl set-hostname samba
[root@nfs-client ~]# bash
[root@samba ~]#

关闭防火墙selinux:

[root@samba ~]# systemctl stop firewalld
[root@samba ~]# setenforce 0

安装Samba服务:

[root@samba ~]# yum install -y samba

配置Samba服务,修改配置文件

编辑配置文件/etc/samba/smb.conf,修改[global]中的内容:

samba服务高可用 samba服务的功能是什么_samba服务高可用


在配置文件最后添加:

samba服务高可用 samba服务的功能是什么_云计算_02


配置文件含义:

[global] #全局配置名称
workgroup = MYGROUP #工作组名称
server string = Samba Server Version %v #samba信息,参数%v为显示SMB版本号
log file = /var/log/samba/log.%m #日志存放位置与>名称,%m为来访的主机名
max log size = 50 #日志大容量50kb
security = user #安全验证方式,见下介绍
passdb backend = tdbsam #用户后台的类型,见下介>绍
load printers = yes #共享打印机设备
cups options = raw #打印机的选项
[share] #局部共享配置名称
comment = share info... #提示信息
path = /share #共享目录
public = no #关闭所有人可见
writable = yes #可写

创建目录并赋予权限:

[root@samba ~]# mkdir /opt/share
[root@samba ~]# chmod 777 /opt/share/

启动Samba服务,并查看端口:

samba服务高可用 samba服务的功能是什么_配置文件_03


可见139和445端口已开启(139端口:文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)。445端口:NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享))

创建Samba用户,密码为000000:

[root@samba ~]# smbpasswd -a root    //这个用户必须是系统存在的用户
New SMB password:
Retype new SMB password:
Added user root.

重启samba服务:

[root@samba ~]# systemctl restart smb

Samba服务的使用

使用PC机访问Samba服务的IP,输入用户名为root密码为000000:

samba服务高可用 samba服务的功能是什么_云计算_04


将/var下的文件复制到/opt/share中:

[root@samba ~]# cp /var/* /opt/share/

验证是否成功:

samba服务高可用 samba服务的功能是什么_samba服务高可用_05


已成功。