Linux服务器成为企业部署应用的主要操作系统,但是企业办公主要的操作平台是Windows。因此,Linux与Windows之间的文件夹共享就显得尤为重要,本文在虚拟机中实现了Linux 与 Windows 之间的文件夹的共享。
以下为linux 和windows中的文件夹之间的共享问题的解决方法:
包括四个设置段:
其中第四个段的主要作用是设置共享文件夹的各部分内容:
一般在配置文件的最后添加文件夹共享设置即可,成功添加后,就可以在windows中共享linux中的文件了。(注意以上的配置,是允许匿名用户进行访问linux的配置方法。)
Samba 解决了 Linux 和 Windows 之间文件共享的问题,是基于 SMB 协议开发的 SMBserver 服务程序,是一款开源的文件共享软件。
## 1. 安装
实验环境采用 Ubuntu-16.04 trustry 版本,安装指令如下:
$ apt install -y samba
## 2. 配置
查看非注释配置文件的方法:
$ grep -v "^#" /etc/samba/smb.conf | grep -v "^$" | grep -v "^;"
$ testparm -s /etc/samba/smb.conf
### 2.1 创建账户信息
创建一个能够访问 Samba 服务的用户,名称为 docker(或者是已经存在的用户) ,注意第一次创建用户需要使用 -a 参数写进数据库。
$ pdbedit -a -u docker
注意:这里的账户必须在系统中存在才行,若系统中不存在这个用户的话,会报如下错误:
Failed to add entry for user docker.
补充指令如下(可以使用 pdbedit --help 查看):
$ pdbedit -x docker (delete the user)
$ pdbedit -Lv (list the detailed information of users)
### 2.2 创建共享文件夹
创建共享文件时,需要考虑的问题有:
1. 考虑读写权限的问题。
2. 考虑由于SELinux 的问题。
$ mkdir /home/database # 创建共享文件夹
$ chown -Rf docker:docker /home/database # 设置共享文件夹的权限
### 2.3 配置文件修改
配置文件在 /etc/samba/smb.conf 文件下,我们需要对配置文件中的一些信息进行修改,其中,[homes] 参数是配置家目录的共享信息,[prints] 是用来访问打印机的共享信息。添加共享配置信息如下:
[share]
comment = Share Folder require password
browseable = yes
path = /home/database
create mask = 0777
directory mask = 0777
valid users = docker # 这里的用户设置为允许登录的用户
public = yes
writable = yes
available = yes
重新启动 samba 服务。
$ /etc/init.d/smbd restart (reload)
### 2.4 Windows 客户端进行访问
访问步骤如下:
1. 右键计算机,选择映射网络驱动器。
2. 在对话框中输入 Samba 服务器的共享目录:\\192.168.2.13\share ,文件夹是在配置文件中[share]中的内容,不是对应服务器上实际存在的目录。
3. 输入用户名及密码,访问成功。
## 3. 错误汇总
以下为在服务器配置的过程中,遇到的问题积累如下:
drwxrwxrwx 3 docker docker 4096 4月 15 22:00 database/
权限问题,如上述代码。文件夹属主: docker 属组: docker ,且属主权限为读写执行,属组权限为读写执行,这里为了方便配置和访问设置为完全权限。
### 3.1 Windows 访问时提示: 找不到网络路径
1. 文件夹的权限问题。(多级目录时,只要修改最后一级目录的权限即可)
2. 查看访问路径的是不是共享文件夹,还是访问了虚机中实际存在的文件夹。
### 3.2 Windows 访问时提示: 拒绝访问
1. 一般为文件夹的权限问题,查看权限。
## 4. 参考资料
[1] [https://www.samba.org/](https://www.samba.org/ "Samba 官方文档")
[2] [https://www.samba.org/samba/docs/Samba24Hc13.pdf](https://www.samba.org/samba/docs/Samba24Hc13.pdf "Troubleshooting Samba 官方问题排查文档")