About Samba

Samba is the standard Windows interoperability suite of programs for Linux and Unix.
Samba is Free Software licensed under the GNU General Public License, the Samba project is a member of the Software Freedom Conservancy.
Since 1992, Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others.
Samba is an important component to seamlessly integrate Linux/Unix Servers and Desktops into Active Directory environments. It can function both as a domain controller or as a regular domain member.

上述是samba官网对samba文件夹的一个解释,通俗来说samba是一套基于SMB、CIFS协议的开源软件,可以在多种操作系统上共享文件。

以上是为了给不知道samba是什么的小伙伴们的解释,大神可以直接跳过。

安装

sudo apt install samba

配置smb相关目录和用户

mkdir -p /smb
useradd smb
passwd smb
chmod -R o+rwx /smb #放开所有权限
##或者 chown -R smb:smb /smb      ##设置smb目录的所属用户和组为smb
##或者 chown -R smb /smb      ##设置smb目录的所属用户为smb

新建samba用户并修改密码,与我们刚才创建的用户名一样

smbpasswd -a smb

编辑samba配置

vim /etc/samba/smb.conf

填入以下内容

## 在[global]下填写
security = user #开启用户级安全控制


## 在文件最后填写
[smb]
comment = smb folder
browseable = yes
path = /smb
create mask = 0700
directory mask = 0700
valid users = smb
force user = smb
force group = smb
public = yes
available = yes
writable = yes

重启samba服务

systemctl restart smbd

将samba设置为开机启动的命令为

systemctl enable smbd

运气好的话,在Windows的文件浏览器地址中输入samba服务器的地址就可以看到我们刚才新建的文件夹smb了

\\10.10.0.1

Windows资源管理器登录samba页面

进入smb文件夹需要使用刚才创建的用户名和密码,验证完成后即可访问

如果连接不上,需要排查的问题:

  1. Windows是否开启了samba老版本的支持
    Yg9cFRfpjjIeRy1ealkd67rf-8n279fU9JNLVq3URHU.png
  2. 检查服务器和客户端的防火墙是否放通了SMB和CIFS协议

参考链接

  1. samba官网
  2. 维基百科对samba的解释
  3. 配置samba的一篇博文