更新时间:2023-02-15 09:36:05浏览次数:756+次
本文介绍如何在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系统之间轻松共享文件了。