Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
当你在Windows上安装了一台Linux的虚拟机,你想访问Linux中的文件夹,将虚拟机中的文件复制到Windows主机上,samba可以让你访问Linux虚拟机中的文件夹就像在本地一样。文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
接下来详细介绍如何在Linux上安装和使用samba(以 CentOS 8为例)。文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
一、samba安装和配置方法
1.安装samba
CentOS系统安装命令:文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
yum install samba -y
Ubuntu/Debian系统安装命令文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
sudo apt-get install samba
2.创建共享目录
创建的目录即之后能够在Windows主机上直接访问的目录。文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
例如:在/home目录下新建share文件夹为共享目录。文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
mkdir /home/Share
由于Windows下的文件夹需可读可写可执行,需更改权限为777(可读可写可执行)文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
chmod 777 /home/Share
3.修改samba配置文件
samba的默认配置文件为/etc/samba/smb.conf,修改一下。文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
vim /etc/samba/smb.conf
在最后面添加如下内容:文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
[Share]
comment = Share
path = home/Share
browseable = yes
writable = yes
available = yes
valid users = root
write list = root
关于smb.conf的几点解释:
(1) [Share]表示共享文件夹的别名,之后将直接使用这个别名;文章源自合一学院-https://unvmax.com/linux%e7%b3%bb%e7%bb%9f%e6%90%ad%e5%bb%basamba%e6%9c%8d%e5%8a%a1%e5%99%a8-%e5%92%8cwindows%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6.html
(2) valid users 设置为你当前的Linux用户名,我是直接使用管理员root。
(3)另外还可以添加的一些内容:
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
#force create mode 与 force directory mode的设置是因为Windows下与Linux下文件和文件夹的默认权限不同造成的,Windows下新建的文件是可执行的,必须强制设定其文件权限。
4.设置sam访问密码
smbpasswd -a root
输入两次密码后,会提示 Added user root. 表示设置成功。
5.重新启动samba服务器
systemctl restart smb
二、在Windows上连接共享文件夹
需要注意自己的防火墙设置,关闭防火墙自行百度一下。
1.连接samba服务器分享文件夹
打开Windows文件管理器,输入\\ip地址\Share
我的是:
\\192.168.1.11\Share
设置如下:
2.存入内容 测试一下
在目录下存入一张美女图片,看有没有效果。
在Windows下存入一个文件,在/home/Share/目录下也同时可以看到。