更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > Debian 11/Debian 10上安装Samba并配置Samba共享

Debian 11/Debian 10上安装Samba并配置Samba共享

更新时间:2023-02-15 09:36:05浏览次数:758+次

本文介绍如何在Debian 11/Debian 10系统上安装Samba并配置Samba共享的方法。

具体操作步骤

步骤1、在Debian 11/Debian 10上安装Samba

我们将首先在Debian 11/Debian 10上安装Samba。这很简单,因为它在默认Debian存储库中可用:

sudo apt install samba smbclient cifs-utils

依赖关系树:

The following additional packages will be installed:

  attr ibverbs-providers keyutils libcephfs2 libgfapi0 libgfrpc0 libgfxdr0

  libglusterfs0 libibverbs1 librados2 librdmacm1 python3-cffi-backend

  python3-cryptography python3-dnspython python3-gpg python3-markdown

  python3-pygments python3-requests-toolbelt python3-samba python3-tdb

  python3-yaml samba-common samba-common-bin samba-dsdb-modules

  samba-vfs-modules tdb-tools

Suggested packages:

  winbind python-cryptography-doc python3-cryptography-vectors python3-sniffio

  python3-trio python-markdown-doc python-pygments-doc ttf-bitstream-vera

  bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools ufw

  heimdal-clients

The following NEW packages will be installed:

  attr cifs-utils ibverbs-providers keyutils libcephfs2 libgfapi0 libgfrpc0

  libgfxdr0 libglusterfs0 libibverbs1 librados2 librdmacm1

  python3-cffi-backend python3-cryptography python3-dnspython python3-gpg

  python3-markdown python3-pygments python3-requests-toolbelt python3-samba

  python3-tdb python3-yaml samba samba-common samba-common-bin

  samba-dsdb-modules samba-vfs-modules smbclient tdb-tools

0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded.

Need to get 24.4 MB of archives.

After this operation, 84.7 MB of additional disk space will be used.

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

步骤2、设置Samba全局设置

Samba配置文件位于/etc/samba/smb.conf下。在这个文件中,我们需要进行一些更改。尽管Debian足够智能,可以提供默认配置,但验证这一点也很好。

使用首选编辑器打开文件:

sudo vim /etc/samba/smb.conf

在文件中,进行您认为合适的调整,例如工作组:

workgroup = WORKGROUP

步骤3、创建共享Samba目录

在这里,您可以共享公共和私有目录。因此,我们将创建以下两个目录:

sudo mkdir /public

sudo mkdir /private

现在编辑Samba conf并添加两个目录:

sudo vim /etc/samba/smb.conf

在文件末尾,添加共享和身份验证方法以访问它:

[public]

   comment = Public Folder

   path = /public

   writable = yes

   guest ok = yes

   guest only = yes

   force create mode = 775

   force directory mode = 775

[private]

   comment = Private Folder

   path = /private

   writable = yes

   guest ok = no

   valid users = @smbshare

   force create mode = 770

   force directory mode = 770

   inherit permissions = yes

步骤4、创建Samba共享用户和用户组

我们需要Samba共享用户组访问上面conf中指定的私有共享。因此,我们将创建如下组:

sudo groupadd smbshare

为私有共享添加必要的权限:

sudo chgrp -R smbshare /private/

sudo chgrp -R smbshare /public

设置正确的目录权限:

sudo chmod 2770 /private/

sudo chmod 2775 /public

在上述命令中,开头的值2代表SGID位。这允许新创建的文件继承父组。

接下来,创建一个无登录本地用户来访问私有共享:

sudo useradd -M -s /sbin/nologin sambauser

将用户添加到上面创建的Samba共享组:

sudo usermod -aG smbshare sambauser

现在为用户创建SMB密码:

sudo smbpasswd -a sambauser

启用创建的帐户:

sudo smbpasswd -e sambauser

步骤5、验证Samba配置

对配置文件进行更改后,建议使用以下命令对其进行测试:

sudo testparm

执行输出:

Load smb config files from /etc/samba/smb.conf

Loaded services file OK.

Weak crypto is allowed

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters

[global]

interfaces = 192.168.205.0/24 eth0

log file = /var/log/samba/log.%m

logging = file

map to guest = Bad User

max log size = 1000

obey pam restrictions = Yes

pam password change = Yes

panic action = /usr/share/samba/panic-action %d

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

passwd program = /usr/bin/passwd %u

server role = standalone server

unix password sync = Yes

usershare allow guests = Yes

idmap config * : backend = tdb

.....

[public]

comment = Public Folder

force create mode = 0775

force directory mode = 0775

guest ok = Yes

guest only = Yes

path = /public

read only = No

[private]

comment = Private Folder

force create mode = 0770

force directory mode = 0770

inherit permissions = Yes

path = /private

read only = No

valid users = @smbshare

上面的输出表明一切都配置正确。现在按以下步骤进行。

在Samba共享中创建demo文件:

sudo mkdir /private/demo-private /public/demo-public

sudo touch /private/demo1.txt /public/demo2.txt

重新启动Samba服务以应用更改:

sudo systemctl restart nmbd

如果正在运行防火墙,则需要允许从指定的IP范围进行远程访问:

sudo ufw allow from 192.168.205.0/24 to any app Samba

步骤6、从客户处访问共享

本指南演示如何使用Windows和Linux系统访问共享文件。

首先,尝试从本地计算机访问共享:

$ smbclient '\\localhost\private' -U sambauser

smb: \> ls

smb: \> exit

\

现在继续设置客户端。

1.安装Windows客户端

要从Windows访问共享,请使用Samba共享系统的IP地址进行浏览,如下所示。

使用Win+R打开一个运行框,然后如图所示继续:

\

共享文件夹应显示如下:

\

打开其中一个文件夹并创建一个文件:

\

该文件应该在Samba服务器机器上可见:

\

现在将Samba共享永久装载到Windows系统上。单击This PC->Map Network Drive:

\

提供如下路径详细信息:

\

输入Samba用户凭据。然后您将获得如图所示的可用共享:

\

2.安装Linux客户端

要设置Linux客户端,您需要Samba包:

sudo apt install samba-client cifs-utils

安装后,导航到文件管理器->其他位置(File manager->Other locations),并使用以下语法添加共享:

smb://servername/Share_name

例如:

\

输入samba用户的凭据:

\

到这里,就可以看到配置的成果了,如下图所示:

\

至此,已成功在Debian 11/Debian 10系统上配置Samba共享。现在,您可以通过网络在Windows和Linux系统之间轻松共享文件了。