Linux和Windows的samba文件共享
# `本教程以Centos发行版做演示`
samba是一款能让Linux和Windows共享文件资料的工具
特点:
* 可以用于Linux和Windows之间进行文件共享和打印机共享
* 还可以用于Linux和Linux之间文件共享
# 步骤:
## 1.samba 安装
`请先配置好Linux的 yum源(阿里云的源为例) 以及 epel源`
安装epel源
```bash
yum install -y epel-release # epel源
```
查看阿里云仓库配置文件
```bash
ls /etc/yum.repos.d
```

读取仓库文件的内容:
```bash
ls /etc/yum.repos.d
```
展示上图内容表示配置完成
---
使用如下命令安装samba:
```bash
yum install samba -y
```

出现最下面表示安装完成

---
## 2.文件配置
#### 查看samba的配置文件:
```bash
ls /etc/samba
```
##### 编辑samba配置文件:
smb.conf是主配置文件:
```bash
# 使用vim编辑器编辑smb的主配置文件smb.conf
vim /etc/samba/smb.conf
```
可以看到如下内容:

### `global是全局配置,其他是局部配置参数`
接下来需要添加一个局部共享区域:
```bash
[zc]
comment = This is test configure
path = /home/zc
public = no
writable = yes
guest ok = yes
```

下面对配置内容进行说明:
[zc]: 用户名 **(这个用户名应该存在于Linux服务器中)** `请改成自己所创建的非root的用户`
comment: 注释
path: 共享文件夹路径 `/home/xxx 中的xxx也要替换成对应的用户名`
public: 是否为公开的
writable: 是否可写入
guest ok: 是否可以用匿名用户登录
---
## 3.创建samba服务专用的用户密码信息
使用如下命令创建用户
```bash
pdbedit -a -u zc #zc需要替换成配置文件添加的新用户
```

出现上图表示创建用户成功!
### 接下来重启服务

使用grep过滤查找信息,上图图中存在smbd服务和445端口表示服务启动成功!
---
## 3.关闭防火墙
使用如下命令查看防火墙状态:
```bash
iptables -L
```

上图表示防火墙开启了
`先清空规则内容,然后关闭防火墙`
```bash
iptables -F #清空防火墙规则内容
systemctl stop firewalld # 关闭防火墙
```
使用 **创建的用户** 进入/home/ **创建的用户** 的目录,创建一个用户共享文件的目录
例如:zc的家目录(**zc需要替换成自己创建的用户**)
```bash
su zc
cd /home/zc
mkdir zc的家目录
chmod 755 /zc的家目录 #不设置权限可能导致Windows端无法创建,写入,修改文件
```
## 4.Windows客户端连接samba服务器
按win+r直接输入 \\Linux的ip即可

输入创建的用户名和密码:

进入后可以看到如下:


现在可以进入zc的家目录进行文件操作了
samba是一款能让Linux和Windows共享文件资料的工具
特点:
* 可以用于Linux和Windows之间进行文件共享和打印机共享
* 还可以用于Linux和Linux之间文件共享
# 步骤:
## 1.samba 安装
`请先配置好Linux的 yum源(阿里云的源为例) 以及 epel源`
安装epel源
```bash
yum install -y epel-release # epel源
```
查看阿里云仓库配置文件
```bash
ls /etc/yum.repos.d
```

读取仓库文件的内容:
```bash
ls /etc/yum.repos.d
```
展示上图内容表示配置完成
---
使用如下命令安装samba:
```bash
yum install samba -y
```

出现最下面表示安装完成

---
## 2.文件配置
#### 查看samba的配置文件:
```bash
ls /etc/samba
```
##### 编辑samba配置文件:
smb.conf是主配置文件:
```bash
# 使用vim编辑器编辑smb的主配置文件smb.conf
vim /etc/samba/smb.conf
```
可以看到如下内容:

### `global是全局配置,其他是局部配置参数`
接下来需要添加一个局部共享区域:
```bash
[zc]
comment = This is test configure
path = /home/zc
public = no
writable = yes
guest ok = yes
```

下面对配置内容进行说明:
[zc]: 用户名 **(这个用户名应该存在于Linux服务器中)** `请改成自己所创建的非root的用户`
comment: 注释
path: 共享文件夹路径 `/home/xxx 中的xxx也要替换成对应的用户名`
public: 是否为公开的
writable: 是否可写入
guest ok: 是否可以用匿名用户登录
---
## 3.创建samba服务专用的用户密码信息
使用如下命令创建用户
```bash
pdbedit -a -u zc #zc需要替换成配置文件添加的新用户
```

出现上图表示创建用户成功!
### 接下来重启服务

使用grep过滤查找信息,上图图中存在smbd服务和445端口表示服务启动成功!
---
## 3.关闭防火墙
使用如下命令查看防火墙状态:
```bash
iptables -L
```

上图表示防火墙开启了
`先清空规则内容,然后关闭防火墙`
```bash
iptables -F #清空防火墙规则内容
systemctl stop firewalld # 关闭防火墙
```
使用 **创建的用户** 进入/home/ **创建的用户** 的目录,创建一个用户共享文件的目录
例如:zc的家目录(**zc需要替换成自己创建的用户**)
```bash
su zc
cd /home/zc
mkdir zc的家目录
chmod 755 /zc的家目录 #不设置权限可能导致Windows端无法创建,写入,修改文件
```
## 4.Windows客户端连接samba服务器
按win+r直接输入 \\Linux的ip即可

输入创建的用户名和密码:

进入后可以看到如下:


现在可以进入zc的家目录进行文件操作了

浙公网安备 33010602011771号