在Linux上,如何安装Samba

・9 分钟阅读

介绍

什么是Samba?

服务器消息块(SMB)是Microsoft客户端和Microsoft服务器之间使用的协议。

客户端需要访问服务器的共享资源时,它发出smb请求,并且使用smb确认发送服务器回复。

这就是为什么Samba是必需的,它就是为了与Linux共享资源而且开发的。

Windows和unix/Linux系统已经在一起工作一段时间了,

Samba在Unix平台上运行,但是,它可以与Windows客户机(如本地机)通信。

它允许Linux系统连接Windows网络端口而不会引起任何问题。Windows用户可以访问文件和服务,而且无需请寻找Unix/Linux主机提供的服务。

如何在Linux中逐步配置samba服务器?

选择要安装Samba的Linux系统,然后开始执行命令,并且按照该部分中的步骤执行。

在这里,你将学习如何从Windows访问Linux共享文件夹。

首先,我们将阅读ubuntu 16.04版教程。

如何在Ubuntu 16.04上安装samba :

步骤1:从安装samba包开始。


sudo apt install samba

然后它会询问你是否要继续。


Do you want to continue? [Y/n]: Y

输入Y,你将返回到安装,一旦完成,执行以下命令。

步骤2:如果你没有准备共享的文件,然后使用以下命令创建一个。


sudo mkdir /media/Storage

步骤 3:

A]下一步是编辑smb.conf文件,你可以通过以下命令在vim编辑器中打开该文件。


sudo vim /etc/samba/smb.conf

现在在smb.conf文件中找到以下内容

 
workgroup=WORKGROUP

 

注:

WORKGROUP是您添加工作组的地方。

一旦你发现它将它替换为你的工作组。


workgroup= WORKGROUP

B]转到你将在下面显示的代码类似的部分,然后在下面添加下面的部分。


[Storage]
        comment = Obsidian storage area
        path= /media/Storage
        browseable= yes
        read only = no
        guest ok = no
        create mask = 0755

现在保存文件并退出。

按"esc"键,然后按": "和"wq"


sudo service smbd restart

步骤4:你可以创建一个用户名,并且为它设置密码。


sudo smbpasswd -a username

输出:


New SMB password:
Retype new SMB password:

注意:创建密码时,您必须提及您的用户名。这是你创建用户名的方式。

用你的用户标识替换单词"username "

记住要提前添加或创建一个用户,否则必须面对以下错误:


error -> Failed to add entry for user username.

这就结束了ubuntu 16.04 samba安装。你必须注意到这个ubuntu samba安装教程很快,而且简短,但是,重要的是它完成了工作。

接下来是"如何在CentOS 7上安装samba 。"

如何在CentOS 7上安装Samba :

开始之前,我们先开始这个,我们要共享的驱动器是/mnt/XT/Pages 。

你将在centos中逐步学习samba服务器配置。

那么,让我们从如何安装samba教程开始。

步骤1:使用以下命令安装samba包。

你将看到安装软件包所需的下载大小和大小。

你会被要求 Is this ok [y/N]:

输入"y"并按回车。

第2步:此步骤可使系统联机。


systemctl enable smb

systemctl enable nmb

步骤3:将文件smb.conf重命名为samba.conf.bak

这是备份文件,如果在安装或任何时候出现错误,你有此备份可回滚。


mv /etc/samba/smb.conf /etc/samba/samba.conf.bak

步骤4:使用以下命令创建另一个配置文件。


touch /etc/samba/smb.conf

步骤5:创建文件后,我们需要对它进行编辑。


vi /etc/samba/smb.conf

打开文件后,向其添加以下内容。


[global] 

workgroup = WORKGROUP
server string = Samba Server Version %v

security = user
passdb backend = tdbsam

[Pages]

path = /mnt/XT/Pages
valid users = priya
guest ok = no
writable = yes
browsable = yes

在进行上述更改后,保存文件,并且退出。

注:

我们将passdb后端设置为tdbsam,作为对用户请求的直接响应。

它适用于用户数少于250的网站,如果您的网站有更多流量,则应使用OpenLDAP或Active Directory集成。

Priya在这里是个合法的用户。

步骤6:重新启动smb 。


systemctl restart smb

步骤7:当你尝试访问共享驱动器时,它将询问你其他的凭据,即用户名和密码。

我们已经在配置文件中提到了用户"priya"

现在我们将创建一个smbuser priya,并且为用户分配密码。

 
smbpasswd -a priya

 

输出:


New SMB password:
Retype new SMB password:

步骤8:现在返回,并且尝试访问你的共享驱动器,你可以填写用户名和密码字段来访问驱动器,它应该一切顺利。

注意:如果仍然不能访问,你应该使用下面的命令来检查权限。

sambalist-permission-check-2

检查正在共享的文件的条目,你所面对的问题是由于nfsnobody 。

要解决这个问题,你必须更改所有者,然后更改权限。


chown -R root:root /mnt/XT/Pages

现在,我们将为用户Priya设置读,写和执行权限。


setfacl -Rm priya:rwx /mnt/XT/Pages

使用getfacl你可以找到可以访问文件的用户。


getfacl /mnt/XT/Pages

systemctl restart smb

如果不能正常工作,那么执行下面的命令。


getenforce

chcon -t samba_share_t /mnt/XT/Pages

systemctl restart smb

第9.步就是,通过编辑smb配置文件,你可以访问其他文件或目录。


vi /etc/samba/smb.conf

当文件打开时,你可以进行下列更改。


[global] 

        workgroup = WORKGROUP_NAME
        server string = Samba Server Version %v


        security = user
        passdb backend = tdbsam

[Pages]
path = /mnt/XT/Pages
valid users = priya, tom
guest ok = no
writable = yes
browsable = yes

就像你看到的,我们可以增加更多的用户,只需用命令分隔前一个用户,留一个空格,然后输入用户名。

Beryl profile image