如何在 Ubuntu 20.04 Focal Fossa Linux 上配置 Samba 服务器共享
本教程的目标是在 Ubuntu 20.04 上配置基本的 Samba 服务器以共享用户主目录并提供对所选目录的读写匿名访问。
还有无数可能的其他 Samba 配置,但是本指南的目的是让您开始了解一些基础知识,这些基础知识可以在以后扩展以实现更多功能以满足您的需求。
在本教程中您将学习:
如何安装Samba服务器
如何配置基本 Samba 共享
如何共享用户主目录和公共匿名目录
如何在 MS Windows 10 上挂载 Samba 共享
如何在 Ubuntu 20.04 Focal Fossa Linux 上配置 Samba 服务器共享
如何在 Ubuntu 20.04 上配置 Samba 服务器共享分步说明
让我们从安装 Samba 服务器开始。这是一个相当琐碎的任务。首先,如果您的 Ubuntu 20.04 系统上尚不可用,请安装
tasksel
命令。准备好后,使用tasksel
安装 Samba 服务器。$ sudo apt install tasksel $ sudo tasksel install samba-server
我们将从一个全新的干净配置文件开始,同时我们还保留默认配置文件作为备份以供参考。执行以下 Linux 命令来复制现有配置文件并创建新的
/etc/samba/smb.conf
配置文件:$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup $ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
Samba 有自己的用户管理系统。但是,samba 用户列表中存在的任何用户也必须存在于
/etc/passwd
文件中。如果您的系统用户尚不存在,因此无法在/etc/passwd
文件中找到,请先使用useradd
命令创建一个新用户,然后再创建任何新的 Samba 用户。一旦您的新系统用户,例如。linuxconfig
退出后,使用smbpasswd
命令创建一个新的Samba用户:$ sudo smbpasswd -a linuxconfig New SMB password: Retype new SMB password: Added user linuxconfig.
下一步是添加主目录共享。使用您最喜欢的文本编辑器,例如。 atom, sublime,编辑我们新的
/etc/samba/smb.conf
samba 配置文件并将以下行添加到文件末尾:[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
(可选)添加可供匿名/来宾用户访问的新的公开可用的读写 Samba 共享。首先,创建一个您想要共享的目录并更改其访问权限:
$ sudo mkdir /var/samba $ sudo chmod 777 /var/samba/
准备好后,再次打开
/etc/samba/smb.conf
samba 配置文件并将以下行添加到文件末尾:[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
检查您当前的配置。您的
/etc/samba/smb.conf
samba 配置文件在此阶段应类似于以下内容:[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S [public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
我们的基本 Samba 服务器配置已完成。请记住,在对
/etc/samba/smb.conf
配置文件进行任何更改后,始终重新启动 samba 服务器:$ sudo systemctl restart smbd
(可选)让我们创建一些测试文件。一旦我们成功挂载 Samba 共享,以下文件就可供我们使用:
$ touch /var/samba/public-share $ touch /home/linuxconfig/home-share
在此阶段,我们准备将注意力转向 MS Windows。对于每个 MS Windows 版本,安装网络驱动器目录可能略有不同。本指南使用 MS Windows 10 作为 Samba 客户端。
首先,打开
Windows 资源管理器
,然后右键单击网络
,然后单击映射网络驱动器...
选项卡。选择驱动器号并输入 Samba 共享位置,即您的 Samba 服务器 IP 地址或主机名,后跟用户主目录的名称。如果您的用户名和密码与之前在<步骤>第 3 步步骤>中创建的用户名和密码不同,请务必勾选
使用不同的凭据连接
。输入在<步骤>第 3 步步骤>中创建的用户密码。
浏览用户的主目录。您应该能够看到之前创建的测试文件。您还应该能够创建新的目录和文件。
对公共匿名 samba 目录共享也重复安装步骤。
确认您可以访问公共 samba 共享目录。