Samba是一个开源软件套件,提供了在Windows和Linux操作系统上实现文件和打印机共享的功能,允许Windows、Unix、Linux等不同的操作系统之间共享文件和打印机资源。Samba可以将Linux或Windows系统配置为一个文件服务器,能够处理Windows客户端请求并提供文件和打印机服务,同时还支持Windows域控制器和活动目录服务,可以使Linux或Unix系统作为Windows网络中的一个成员。Samba还支持CIFS(Common Internet File System)协议,可以通过Internet或广域网访问共享资源。Samba软件套件包含一些主要组件:

  • smbd:实现文件和打印机共享服务
  • nmbd:实现NetBIOS名称服务和WINS服务器
  • winbindd:提供Windows域控制器认证和用户信息服务
  • Samba在许多企业和组织中被广泛使用,它提供了一种便捷的方式,使得不同操作系统的计算机之间可以轻松地共享文件和打印机资源。

要在Windows和CentOS 7之间实现文件共享,可以使用Samba服务。以下是配置Samba服务的步骤:

  1. 安装Samba软件包

在CentOS 7中,使用以下命令安装Samba软件包:

sudo yum install samba
  1. 配置Samba服务

在CentOS 7中,Samba的配置文件位于 /etc/samba/smb.conf。使用以下命令备份原始配置文件:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

使用文本编辑器(如nano或vim)打开配置文件:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容:

[share]
path = /path/to/shared/folder
writable = yes
valid users = username
guest ok = no

其中,[share]是共享文件夹的名称,path是共享文件夹的路径,writable指定该共享文件夹是否可写,valid users指定可以访问该共享文件夹的用户名,guest ok是否允许匿名访问该共享文件夹。

  1. 创建Samba用户

创建可以访问共享文件夹的用户。使用以下命令创建用户:

sudo useradd username
sudo smbpasswd -a username

第一行创建一个新用户,第二行将该用户添加到Samba用户列表中。

  1. 启动Samba服务

使用以下命令启动Samba服务:

sudo systemctl start smb
sudo systemctl enable smb

第一行启动Samba服务,第二行设置Samba服务在系统启动时自动启动。

  1. 防火墙配置

如果启用了防火墙,请确保将Samba端口添加到防火墙规则中:

sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload

配置完成后,可以从Windows访问共享文件夹。在Windows资源管理器中,输入以下地址:

\\centos7_ip_address\share

其中,centos7_ip_address是CentOS 7的IP地址,share是共享文件夹的名称。输入在第3步创建的Samba用户的用户名和密码,即可访问该共享文件夹。

当然,还可以这样配置samba服务:

[share]
comment = Shared Folder
path = /path/to/shared/folder
writable = yes
guest ok = yes

其中,[share]是共享文件夹的名称,comment是共享文件夹的注释,path是共享文件夹的路径,writable指定该共享文件夹可写,guest ok允许匿名访问该共享文件夹。

【ps:本人的笔记,自用】