Ubuntu 安装、配置 Samba 简易教程

Samba 是用来让 UNIX/Linux 系统和 Windows 系统连接和共享文件的程序,如果你有一台 Linux 服务器,就可以通过 Samba 来创建共享,打造自己的私人网盘。

假设你使用的 Linux 发行版是 Ubuntu,本文以 Ubuntu 20.04 为例,如果版本间隔过大,文件位置可能会有差异。

Linux Windows Samba Server

一、安装 Samba Server

Ubuntu 作为最流行的 Linux 发行版之一,其包管理系统非常完善,可以直接用 apt 命令安装 Samba Server 极其依赖。

apt-get install samba samba-common-bin acl -y

安装完成就可以启动 Samba Server 并将其添加到开机自启。

systemctl start smbd nmbd
systemctl enable smbd nmbd

通过查看版本信息来确认 Samba 是否已经安装好并正常运行:

smbd --version

二、创建一个加密共享

Samba Server 安装好之后,我们可以开始创建共享,方法是编辑配置文件。

用你常用的编辑器打开 Samba 主配置文件,例如:

vim /etc/samba/smb.conf

接着,在文件底部添加如下信息:

[Private]
comment = private share
path = /data/private/
browseable = yes
guest ok = no
writable = yes
valid users = @samba

保存和关闭文件,之后在系统下添加一个用户:

# user1 只是演示,根据你的需要自定义用户账户
adduser user1

你会看到如下输出:

Adding user `user1' ...
Adding new group `user1' (1000) ...
Adding new user `user1' (1000) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for user1
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

除了 New password:Retype new password: 需要输入两次密码,其他都可以按 Enter 跳过。

接着设置 Samba 密码:

smbpasswd -a user1

输入两次密码,用户便添加完成:

New SMB password:
Retype new SMB password:
Added user user1.

接下来创建 Samba 用户组,并把新建的用户 user1 添加进组。

groupadd samba
gpasswd -a user1 samba

还记得修改 Samba 配置文件时有个 path 吗?这个就是共享目录的路径。如果按照上面演示的内容,你需要这样创建:

mkdir -p /data/private

接着给共享目录添加读写权限:

setfacl -R -m "g:samba:rwx" /data/private

检查一下配置文件是否有任何错误:

testparm

最后,重启一下 Samba Server。

systemctl restart smbd nmbd

三、创建一个公开共享

如果你想创建一个人人都能直接访问的 Samba 共享,请参考此部分操作。

依旧是编辑主配置文件:

vim /etc/samba/smb.conf

将以下内容添加到文件最后:

[Public]
comment = public share
path = /data/public/
browseable = yes
writable = yes
guest ok = yes

保存和关闭文件,接着创建共享目录:

mkdir -p /data/public/

赋予共享目录读写权限:

setfacl -R -m "u:nobody:rwx" /data/public

最后重启 Samba Server 即可。

systemctl restart smbd nmbd

总结

通过以上方法,我们在 Ubuntu 中安装和启动 Samba Server,编辑配置文件创建了共享,添加了相关用户和组来实现用户身份验证,还创建了一个公开共享,任何人都可以直接访问共享的文件。

如果你是在服务器上安装和配置 Samba,那么务必要注意配置防火墙,放行 Samba 的端口。

以下是 Samba 使用的所有端口,如果只是为了连接文件共享,通常只需放行 445 即可:

1)Port 137 (UDP) – NetBIOS 名字服务

2)Port 138 (UDP) – NetBIOS 数据报服务

3)Port 139 (TCP) – 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)

4)Port 389 (TCP) – 用于 LDAP (Active Directory Mode)

5)Port 445 (TCP) – NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)

6)Port 901 (TCP) – 用于 SWAT,用于网页管理Samba

感谢阅读,文章如有帮助,欢迎点赞、评论、打赏和转发!


参考文章:

How to Create Samba Share on Ubuntu 20.04 | Atlantic.Net

Samba 服务使用的端口和协议_smb端口-CSDN博客

耕读君
耕读君

一个筋斗十万八千里,说明上云好啊

文章: 197

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注