在本教程中,您将学习如何在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器。 Samba 是一个开源套件,它实现了服务器消息块 (SMB) 协议。 Microsoft Windows 操作系统和 OS/2 操作系统使用 SMB 来执行客户端-服务器网络以进行文件和打印机共享以及相关操作。 运行在Unix系统上,它允许Windows在Unix主机上共享文件和打印机,也允许Unix用户访问Windows系统共享的资源。 因此,对于网络上同时拥有 Windows 和 Unix 系统的任何人来说,它都是一个非常有用的网络工具。
在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器
Samba 可以运行为:
- Active Directory (AD) 或 NT4 域成员
- 独立服务器
- NT4 主域控制器 (PDC) 或备份域控制器 (BDC)
在此设置中,我们将在 Ubuntu 20.04 上将 Samba 作为独立文件服务器运行。
逐步完成以下步骤,了解如何在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器。
在 Ubuntu 20.04 上安装 Samba
要在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器,您首先需要通过运行以下命令来安装 Samba 软件包;
apt update
apt install samba smbclient cifs-utils
在 Ubuntu 20.04 上配置 Samba 文件服务器
安装 Samba 软件包后,继续在 Ubuntu 20.04 上配置 Samba 文件服务器。 如前所述,在此设置中,我们将在 Ubuntu 20.04 上将 Samba 作为独立文件服务器运行。 这意味着 Samba 未配置为任何目录服务的成员,因此本地系统数据库将用于验证用户访问共享文件的身份。
创建共享目录/文件夹
创建一个目录,您将在其中放置要共享的文件。 您可以创建公共或私人共享文件夹。
例如,我们使用 /sm
b
-民众 和 /smb-private
作为我们在此设置中的共享目录。
mkdir /smb-public
mkdir /smb-private
我们将允许公共访问公共文件夹和一些用户访问私人文件夹。
在 Ubuntu 20.04 上配置 Samba 文件服务器
打开Samba配置文件进行编辑;
vim /etc/samba/smb.conf
全局 Samba 配置选项
下面是我们的全局 Samba 配置,删除了注释行。
[global] unix charset = UTF-8 workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m log level = 1 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 = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes
咨询 man smb.conf
有关所用配置选项的说明。
配置文件或打印机共享
现在,我们将只配置文件共享。 因此,在 Samba 配置文件的末尾,添加共享名称和配置选项。
在上面,我们创建了两个目录,一个公共目录和一个私有目录。 我们将公共共享设置为可公开访问,私有共享将需要身份验证才能访问。
公共共享配置
示例公共共享配置。
[publicshare] path = /smb-public writable = yes guest ok = yes guest only = yes force create mode = 775 force directory mode = 775
私有共享配置
示例私有共享配置。
[privateshare] path = /smb-private writable = yes guest ok = no valid users = @smbinternal force create mode = 770 force directory mode = 770 inherit permissions = yes
创建 Samba 共享用户组
上述私人共享将只允许用户 smbinternal
组访问共享。
因此,让我们创建一个 smbinternal 组并将特定用户添加到该组以允许访问私有共享。
groupadd smbinternal
更新共享的权限
更改共享私有目录的组;
chgrp -R smbinternal /smb-private/
chgrp -R smbinternal /smb-public
设置目录的权限;
chmod 2770 /smb-private/
chmod 2775 /smb-public
上面的值 2 代表 SGID 位。 这使得创建的新文件/文件夹继承父目录的组,而不是将其设置为用户主组。
接下来,为您希望授予对私有共享访问权限的用户创建本地帐户。 用户不需要有外壳。
useradd -M -s /sbin/nologin demouser
将用户添加到 内部的 团体;
usermod -aG smbinternal demouser
为用户创建SMB密码;
smbpasswd -a demouser
启用 Samba 帐户:
smbpasswd -e demouser
验证 Samba 配置
建议您在每次更新 Samba 配置时验证 /etc/samba/smb.conf
文件使用 testparm
公用事业
您可以简单地执行它如下:
testparm
样本输出;
Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions ...
如果出现任何错误,请先修复它,然后才能继续。
重启桑巴;
systemctl restart smbd
在共享上创建测试文件/文件夹;
mkdir /smb-private/demofolder-priv /smb-public/demofolder-pub
touch /smb-private/demofile-priv /smb-public/demofile-pub
允许远程访问 Samba
允许从特定网络远程访问 Samba;
ufw allow from 192.168.59.0/24 to any app Samba
从客户端访问 SMB 共享
要了解如何从各种客户端访问 SMB 共享,请按照以下指南进行操作;
如何在 Linux 和 Windows 系统上访问 Samba 共享
关于如何在 Ubuntu 20.04 上轻松安装和配置 Samba 文件服务器的教程到此结束。
在 Debian 10 上设置 Samba 文件服务器的快速方法
在 CentOS 8 上安装和设置 GlusterFS 存储集群
如何在 Ubuntu 18.04 服务器上配置 NFS 服务器
如何在 RHEL/CentOS 7 上安装和配置 NFS 服务器