如何在Ubuntu上设置Samba文件共享服务器

时间:2020-02-23 14:39:02  来源:igfitidea点击:

设置Samba Server以共享Linux,Windows和Mac OS X系统的文件

Samba是一个OpenSource工具,可以通过网络共享包含Linux,Windows和Mac的跨平台的文件和打印机。

本教程指导我们在如何安装和配置Samba上,以启用Ubuntu和Windows之间的文件共享。
但是,首先,我们需要准备我们的环境,如下所示:

步骤1设置Ubuntu和Windows主机

在Ubuntu上,将Ubuntu IP和主机名放在/etc/hosts文件中。
此外,为Windows IP和主机名添加记录。

sudo vi /etc/hosts

Ubuntu主机文件

在Windows上,将机器IP和主机名放入。
此外,为Ubuntu IP和主机名添加记录。

notepad C:\Windows\System32\drivers\etc\hosts

步骤2配置域

这两个机器必须在同一域中,请使用下一个命令检查默认的Windows工作站域。

net config workstation

Windows域是工作组。

步骤3在Windows上启用文件共享

在Windows上启用文件共享,使用管理员权限打开CMD并运行下一个命令。

netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes

启用文件共享和网络发现

步骤4在Ubuntu上安装Samba

确保Ubuntu更新。

sudo apt-get update
sudo apt-get upgrade

运行下一个命令以在Ubuntu上安装Samba。

sudo apt-get install samba samba-common python-glade2 system-config-samba

检查Samba安装是否成功。

whereis samba

步骤5在Ubuntu上设置公共共享文件夹

在Ubuntu上创建一个公共目录进行共享。

sudo mkdir -p /home/hendadel/sambashare

设置目录权限,以便任何人都可以读取/写入它。

sudo chown -R nobody:nogroup /home/hendadel/sambashare/
sudo chmod -R 0775 /home/hendadel/sambashare/

创建共享目录

步骤6复制和设置配置文件

在将来发生任何错误时,将Samba默认配置文件复制为备份文件。

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

编辑Samba配置文件

sudo vi /etc/samba/smb.conf

将下一行添加到Samba配置文件:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = hendadel-VBox
security = user
[SambaShare] 
Comment = Samba Shared Directory 
path = /home/hendadel/sambashare 
writable = yes 
guest ok = yes 
read only = no
force user = nobody

编辑Samba配置文件

使用下一个命令检查Samba配置文件。

testparm

步骤7重新启动Samba服务。

sudo service smbd restart

重新启动Samba服务

步骤8在Windows上访问Samba共享

现在从Windows机器,打开运行并使用以下命令打开Ubuntu共享文件夹。

2.168.1.8\sambashare

共享文件夹应该如下:

来自Windows的共享文件夹

我们现在可以从Windows机器中创建共享目录中的文件夹或者文件,并检查它们是否在Ubuntu中创建。

首先,从Windows创建测试文件夹:

从Ubuntu检查创建的文件夹:

步骤9设置私有共享目录

以前,我们有一个用于所有网络成员的公用文件夹。
如果我们需要与某些特定用户共享一个文件夹,或者换句话说,只有具有用户名和密码的用户只能访问共享目录。

首先,我们需要创建一个组,将用户和成员添加到此组,只有此组的成员应该访问共享目录。

创建一个组:

sudo addgroup smbgroup

创建一个组

将Ubuntu用户添加到SMBGroup。

sudo usermod -aG smbgroup hendadel

给Samba用户提供密码。

sudo smbpasswd -a hendadel

将用户添加到组

现在,创建一个目录以私下分享。

sudo mkdir -p /home/hendadel/sambaprivate/

将权限设置为上一个目录,以便仅root和smbgroup的成员访问共享目录。

sudo chown -R root:smbgroup /home/hendadel/sambaprivate/
sudo chmod -R 0770 /home/hendadel/sambaprivate/

更改权限

编辑SAMBA配置文件以添加新创建的目录。

sudo vi /etc/samba/smb.conf

添加以下内容:

[SambaPrivate]
path = /home/hendadel/sambaprivate
valid users = @smbgroup
guest ok = no
writable = yes
browsable = yes

配置文件应如下:

编辑Samba配置文件

重新启动Samba服务。

sudo service smbd restart

检查Samba配置文件:

testparm

重新启动服务和检查配置

检查来自Windows机器的两个创建的文件夹。

2.168.1.8\sambashare

Windows应询问我们用户名和密码。

进入凭据后,我们应该看到如下共享目录。