在Linux上安装和启用SMB(使用Samba)

冯马佑 📋在职小初生

1.安装Samba软件包

Samba 是一个实现 SMB 协议的开源软件包,它允许 Linux 系统与 Windows 系统或其他 Linux 系统共享文件。首先,我们需要安装 Samba

打开终端,输入以下命令来更新软件源并安装 Samba

1
2
sudo apt update
sudo apt install samba

如果你使用的是Red Hat系(如CentOS)Linux,可以使用以下命令:

1
sudo yum install samba samba-client samba-common

2.创建Samba用户

Samba会要求你为共享文件夹指定一个用户进行身份验证。你需要确保这个用户在Linux系统中已经存在。如果没有,先创建一个用户:

1
2
sudo useradd -m username
sudo passwd username

接着,将此用户添加到Samba的用户数据库中:

1
sudo smbpasswd -a username

系统会提示你为此用户设置Samba的密码。输入密码后,再启用此用户:

1
sudo smbpasswd -e username

3.配置Samba

安装完Samba后,下一步是配置它以共享特定的文件夹。Samba的配置文件位于 /etc/samba/smb.conf。你可以使用编辑器(如nano或vim)来编辑它。

1
sudo nano /etc/samba/smb.conf

配置文件的结构通常分为全局设置和共享目录设置。你可以在文件末尾添加共享文件夹的配置。

例如,添加一个共享文件夹:

1
2
3
4
5
[SharedFolder]
path = /home/username/shared
valid users = username
read only = no
browsable = yes

这里的配置解释如下:

  • [SharedFolder] :共享文件夹的名称,WindowsLinux上访问时将显示为“SharedFolder”。
  • path :你希望共享的目录的绝对路径。例如,/home/username/shared
  • valid users :允许访问此共享的用户名,可以是Linux的本地用户名。
  • read only :设置为“no”表示用户可以对共享文件夹进行读写操作。
  • browsable :表示共享是否可见,设置为“yes”时,文件共享在网络上可浏览。

确保你共享的文件夹具有适当的权限。如果目标文件夹不存在,首先创建它:

1
mkdir -p /home/username/shared

然后赋予适当的权限:

1
2
sudo chown -R username:username /home/username/shared
sudo chmod -R 755 /home/username/shared

4.重启Samba服务

配置完成后,你需要重启Samba服务使更改生效。可以使用以下命令来重启:

1
sudo systemctl restart smbd

如果你想确保Samba服务在系统启动时自动启动,可以使用以下命令:

1
sudo systemctl enable smbd

5.配置防火墙(如果需要)

如果你的Linux系统启用了防火墙,你需要确保Samba服务的端口(通常是445139端口)开放。你可以使用以下命令来允许Samba流量:

1
sudo ufw allow samba

如果使用的是CentOS/RHEL,可以使用:

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

6.访问共享文件夹

配置完成后,Samba服务应该已经启动,并且你可以在WindowsLinux其他支持SMB的设备上访问共享文件夹。

在Linux系统中:

你可以在文件管理器中使用 smb:// 协议来访问共享文件夹。比如,在Ubuntu的文件管理器中,你可以在地址栏输入:

1
smb://hostname/SharedFolder

其中,hostname是你的Linux机器的主机名或IP地址,SharedFolder是你在/etc/samba/smb.conf中配置的共享名称。

在Windows系统中:

你可以在Windows资源管理器中,点击地址栏输入 \\[Linux机器的IP]\[共享文件夹名称],例如:

1
\\192.168.1.100\SharedFolder

如果一切配置正确,Windows会提示你输入Samba用户的用户名和密码。

7. 验证配置

如果遇到问题,可以使用以下命令检查Samba配置是否有误:

1
testparm

该命令会检查配置文件并报告潜在的错误。如果配置文件一切正常,终端不会输出任何错误信息。

8.高级配置(可选)

Samba的配置非常灵活,你可以根据需要进行更多自定义设置,比如:

  • 设置访问权限(只读、可写、隐藏共享等)。
  • 配置打印机共享
  • 限制访问共享的IP地址或网络。
    这些都可以在/etc/samba/smb.conf文件中进行设置。

总结

总结起来,安装和启用SMB在Linux系统上的过程如下:

  1. 安装Samba软件包。
  2. 创建并配置Samba用户。
  3. 配置共享文件夹。
  4. 启动并重启Samba服务。
  5. 配置防火墙(如果需要)。
  6. 访问共享文件夹。
    这样,你就可以在Linux上实现SMB文件共享了。如果遇到权限问题或无法访问共享,请检查Samba配置文件中的权限设置和防火墙规则。
  • 标题: 在Linux上安装和启用SMB(使用Samba)
  • 作者: 冯马佑
  • 创建于 : 2025-03-06 23:28:29
  • 更新于 : 2025-03-09 12:29:08
  • 链接: https://blog.fengmayou.top/2025/03/06/use-smb-in-linux-with-samba/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论