在Linux系统上配置Samba是非常普遍的需求,主要用于实现文件共享。这里是一步步配置Samba的过程:

步骤 1: 安装 Samba

如果尚未安装Samba,请先执行以下命令进行安装。

linux配置samba  第1张

对于 Debian 或 Ubuntu 系统:

bash

sudo apt update

linux配置samba  第2张

sudo apt install samba

对于 CentOS 或 RHEL 系统:

bash

sudo yum install samba 适用于旧版本系统,新版本推荐使用dnf命令

或者:

sudo dnf install samba 在较新的RHEL版本和基于RHEL系统上更常用(比如CentOS 8及以上版本)

linux配置samba  第3张

步骤 2: 配置 Samba

Samba的配置信息存储在一个名为`smb.conf`的文本文件中。你可以使用任何文本编辑器来修改此配置文件。

bash

sudo nano /etc/samba/smb.conf

根据你的需求对smb.conf做调整,在这里我将介绍如何添加一个公共目录分享的例子。

配置文件示例

在配置文件底部加入以下内容(根据实际需要调整):

ini

linux配置samba  第4张

[共享名]

comment = 可访问文件共享的描述

path = 要被分享的目录的实际路径(确保路径存在)

read only = no 如果设置为"yes",则只有只读访问权限。

writeable = yes 确保可写

linux配置samba  第5张

browsable = yes

guest ok = yes 允许不经过身份验证就可访问。请注意安全性风险!默认为 no。

create mask = 0644

directory mask = 0755

valid users = 用户名1 用户名2 设置可访问用户列表。如不设本行,则上述guest ok的值生效。

linux配置samba  第6张

示例:创建并设置共享目录访问

ini

linux配置samba  第7张

假如要设置/home/shared 为共享目录,且仅限于名为 "sambaUser" 的用户可以访问:

[sambashare]

path = /home/shared

writable = yes

only user = yes 仅认证用户可以访问

linux配置samba  第3张

valid users = sambaUser 只允许sambaUser这个用户名能够访问

browseable = yes

记得替换 `shared` 和 `/home/shared` 及 `sambaUser` 这些名字来匹配你实际的操作目录和用户名。

linux配置samba  第9张

步骤 3: 同步系统权限和Samba共享用户配置

确保 Samba 用的用户和该用户对于目录具有足够的访问权利。你可以按照下面的示例添加用户(以 root 登录进行操作)

bash

sudo smbpasswd a sambaUser

sudo smbpasswd e sambaUser 开启指定账号的Samba服务支持

上面的命令会询问并要求您设定一个与Linux本地账号密码不同的新用户密码。

步骤 4: 防火墙规则设置(若防火墙是开启状态的话)

如果你有开启防火墙, 可能需要开启必要的网络通信端口。通常Samba监听在两个 TCP 端口: 445 (直通)和139(NetBIOS 名字查询),所以请允许这些端口通过。

对于 firewalld 用户:

bash

sudo firewallcmd permanent zone=public addservice=samba

sudo firewallcmd reload

linux配置samba  第10张

步骤 5: 启动Samba服务

启动并启用 Samba 在系统启动时自动运行。

linux配置samba  第11张

Ubuntu/Debian:

bash

sudo systemctl start smbd

linux配置samba  第7张

sudo systemctl enable smbd

CentOS/RHEL:

linux配置samba  第13张

bash

sudo systemctl start smb nmb 注意 nmb 是一个必要的服务组件, 特别是用来解析NetBIOS名字的.

sudo systemctl enable smb

测试设置是否正确以及共享服务是否工作:

Windows: 可以通过网络邻居尝试找到服务器并测试连接。

Linux (或使用其他系统): 可以使用命令 `smbclient L hostname U username` 来列出服务器上的可用分享, 并尝试挂载。

这就是基于 Linux 的Samba基本配置教程了。希望对您有所帮助!