1. 简介
Samba服务程序是一个基于SMB协议并由服务端和客户端组成的开源共享软件,可以实现Linux与Windows系统之间的文件共享以及Linux系统之间的文件共享
2. Samba服务
2.1 安装Samba服务程序
安装服务软件包,切换为root权限,避免root权限带来的问题
[root@Hoster150 Hoster]# yum install samba
配置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验证模式
(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配置文件如下
保存后重启服务
[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
(5)测试登录SMB服务
输入服务器IP地址(即配置SMB服务的虚拟机的IP),输入前面创建的Samba用户密码,成功访问SMB服务
(6)打开共享目录,使用SMB服务并创建文件
打开database共享目录,创建一个HelloSamba文档,此时已经可以进行上传下载
注意:若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
(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
挂载fstab文件中定义的信息
[root@Hoster140 ~]# mount -a
查看共享的文件
[root@Hoster140 ~]# cat /database/HelloSamba.txt
注意:创建的共享文档命名最好不要有空格,查看时容易报错