Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。主要用于实现不同系统平台间的文件共享,配置非常简单,轻量,适合用于常规内网环境中。
![9cfcd97fc2b9e7b12c2d8491903fa2ee.png](https://i-blog.csdnimg.cn/blog_migrate/06cb04eb3c50d122da2078242b35e5c2.jpeg)
安装 samba(需 root 权限)
直接用 yum
安装:
yum install -y samba samba-client
安装完后检查安装包:
rpm -qa | grep samba
samba-common-4.10.4-11.el7_8.noarchsamba-common-libs-4.10.4-11.el7_8.x86_64samba-common-tools-4.10.4-11.el7_8.x86_64samba-client-4.10.4-11.el7_8.x86_64samba-4.10.4-11.el7_8.x86_64samba-libs-4.10.4-11.el7_8.x86_64samba-client-libs-4.10.4-11.el7_8.x86_64
配置 /etc/samba/smb.conf
文件
vim /etc/samba/smb.conf
配置文件内容:
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw
配置文件解释:
[global] # 定义全局的配置 workgroup = SAMBA # 定义工作组 security = user # 指定 samba 的安全等级
关于安全等级有四种:
•share:用户不需要账户及密码即可登录samba服务器•user:由提供服务的samba服务器负责检查账户及密码(默认)•server:检查账户及密码的工作由另一台windows或samba服务器负责•domain:指定windows域控制服务器来验证用户的账户及密码。
passdb backend = tdbsam # passdb backend(用户后台)
samba 有三种用户后台:smbpasswd, tdbsam 和 ldapsam。
•smbpasswd
passdb backend = smbpasswd
该方式是使用 smb 自己的工具 smbpasswd 来给系统用户(真实用户或者虚拟用户)设置一个 Samba 密码,客户端就用这个密码来访问 Samba 的资源。smbpasswd 文件默认在 /etc/samba
目录下,不过有时候要手工建立该文件。
smbpasswd -a 用户名 # 添加一个 samba 用户smbpasswd -d 用户名 # 禁用一个 samba 用户smbpasswd -e 用户名 # 恢复一个 samba 用户smbpasswd -x 用户名 # 删除一个 samba 用户
•tdbsam
passdb backend = tdbsam
该方式则是使用一个数据库文件来建立用户数据库。
•ldapsam
passdb backend = smbpasswd
该方式则是基于LDAP的账户管理方式来验证用户。
后面两行是关于打印机的设置
load printers = yes # 加载打印机 cups options = raw # 打印机相关设置;
我们直接 shift-g 跳到最后一行,加入如下语句:
# 在末尾加入如下内容# 分享名称[server_data] # 说明信息 comment = server_data # 可以访问的用户 valid users = username,root # 共享文件的路径 path = /data # 可被其他人看到资源名称(非内容) browseable = yes # 可写 writable = yes # 新建文件的权限为 664 create mask = 0664 # 新建目录的权限为 775 directory mask = 0775
测试配置文件是否有错误,根据提示做相应修改
testparm
添加登陆账户并创建密码,必须是 linux 已存在的用户
smbpasswd -a username
重启 samba 服务
service smb stopservice smb start
添加防火墙规则
firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --reload
Mac 访问服务器共享文件夹
在 Finder 中,点“前往”菜单,点“连接服务器”菜单项。
![76279111b10ce16f2d1ca172fbec137e.png](https://i-blog.csdnimg.cn/blog_migrate/62bdaceaa28b8ec356cda44e54b076b7.jpeg)
连接服务器,输入 smb://服务器地址
连接服务器。选择注册用户,输入账号和之前设置的密码,点选“在我的钥匙串中记住此密码”,即可访问。
![9464a15975a6b65dbf31a2c78990dc30.png](https://i-blog.csdnimg.cn/blog_migrate/349633e82d1af6851b633b9d51967b01.jpeg)
Mac 开机自动加载 smb 服务器
一旦设置好网络驱动器,就可以按照下边的步骤设置自动连接了。打开系统偏好设置,选“用户和群组”:
![0226b65a51d983a609c1858a64c90a71.png](https://i-blog.csdnimg.cn/blog_migrate/f5359035d5211d6a91069a38fc8aa7ec.jpeg)
在左侧列表中选择你的用户名,点“登录项”标签。将已经挂载的网络驱动器图标拖放到登录项列表中。
![f032a0b99394d245b884d7d228e6ea87.png](https://i-blog.csdnimg.cn/blog_migrate/f5cf6c94f8ab9bbda8d3f9f468fc0a66.jpeg)
也可以点上右边的“隐藏”选项,这样系统启动和登录时挂载网络驱动器后,不会自动打开 Finder 窗口。
Windows 访问服务器共享文件夹
在 windows --> 计算机,直接在地址栏中输入 \\服务器地址
连接服务器。就可以在 windows 上看到 linux 共享的文件夹了。
![229df6d666303f4e3a99f32bb81c412e.png](https://i-blog.csdnimg.cn/blog_migrate/2199e960872e38692ba2d2e9b3d52cbe.jpeg)