1. 简介

Samba服务程序是一个基于SMB协议并由服务端和客户端组成的开源共享软件,可以实现Linux与Windows系统之间的文件共享以及Linux系统之间的文件共享

2. Samba服务

2.1 安装Samba服务程序

安装服务软件包,切换为root权限,避免root权限带来的问题

[root@Hoster150 Hoster]# yum install samba

linux中安装samba时报错 linux安装samba服务器教程_windows

配置smb.conf文件,只用在文件中追加一下配置参数

[linuxprobe]

comment = Do not arbitrarily modify the database file

path = /home/database

public = no

writeable = yes

重启smb服务

[root@Hoster150 Hoster]# systemctl restart smb

2.2 安全共享文件

(1)判断是否为user验证模式

在smb.conf文件查看,发现为user验证模式

linux中安装samba时报错 linux安装samba服务器教程_linux_02

(2)创建共享文件夹

[root@Hoster150 Hoster]# mkdir /database

(3)在smb.conf配置文件中添加database

[database]

comment = Do not arbitrarily modfiy the database file

path = /database

public = no

writeable = yes

最终smb.conf配置文件如下

linux中安装samba时报错 linux安装samba服务器教程_windows_03

保存后重启服务

[root@Hoster150 Hoster]# systemctl restart smb

(4)创建SMB服务独立账号

因为在配置文件smb.conf中密码数据库后台类型为“tdbasam”,即使用Samba服务对的独立账信息

我们使用pdbedit命令来管理SMB服务的账号信息数据库,创建格式“pdbedit [选项] 账户

参数 作用

-a 用户名 建立Samba用户

-x 用户名 删除Samba用户

-L 显示用户列表

-Lv 显示用户详细信息的列表

创建系统用户

[root@Hoster150 Hoster]# useradd smbuser

将系统用户设置为SMB用户,并设置密码

[root@Hoster150 Hoster]# pdbedit -a -u smbuser

linux中安装samba时报错 linux安装samba服务器教程_linux中安装samba时报错_04

(5)测试登录SMB服务

输入服务器IP地址(即配置SMB服务的虚拟机的IP),输入前面创建的Samba用户密码,成功访问SMB服务

linux中安装samba时报错 linux安装samba服务器教程_windows_05

(6)打开共享目录,使用SMB服务并创建文件

打开database共享目录,创建一个HelloSamba文档,此时已经可以进行上传下载

linux中安装samba时报错 linux安装samba服务器教程_windows_06

注意:若database无法打开,需要授予smbuser权限,将共享目录所有者和所有组设置为smbuser用户

[root@Hoster150 Hoster]# chown -Rf smbuser:smbuser /database

2.3 Linux系统之间的文件共享

(1)客服端安装cifs-utils软件包

因为我们已经配置好了Samba共享服务器(Hoster150),只需要再打开一个Linux客户端,打开第二台虚拟机Hoster140,安装cifs-utils软件包

[root@Hoster140 Hoster]# yum install -y cifs-utils

linux中安装samba时报错 linux安装samba服务器教程_centos_07

(2)创建挂载目录

[root@Hoster140 Hoster]# mkdir /database

(3)创建认证文件

在root家目录创建认证文件,并加入SMB的用户名、密码、共享域

[root@Hoster140 ~]# vi auth.smb

username = smbuser                       //SMB用户名

password = 123456                         //SMB用户密码

domain = SAMBA                            //SMB共享域

(4)授予权限

[root@Hoster140 Hoster]# chmod -Rf 600 auth.smb

(5)配置挂载信息 

挂载信息分别对应远程共享信息、本地挂载目录、文件系统类型、认证文件以及开机自检选项

[root@Hoster140 Hoster]# vi /etc/fstab

linux中安装samba时报错 linux安装samba服务器教程_服务器_08

挂载fstab文件中定义的信息

[root@Hoster140 ~]# mount -a

查看共享的文件

[root@Hoster140 ~]# cat /database/HelloSamba.txt

linux中安装samba时报错 linux安装samba服务器教程_linux中安装samba时报错_09

 注意:创建的共享文档命名最好不要有空格,查看时容易报错