Fork me on GitHub

非常详细的 CentOS-8.3.2011-64版本 Samba 服务器的安装与配置方式

 1. 环境准备

    1、CentOS 8.3版本(64位)

         2、虚拟机:VMware® Workstation 15 Pro 15.5.7 build-17171714

         3、samba软件:samba-4.12.3-12.el8.3.x86_64

         4、Windows版本:Windows10

 

2. 安装软件

2.1 准备工作

Windows 下:

 确保 Windows 和 Linux 系统在同一工作组中。因此,转到Windows PC并启动命令提示符。输入命令:

 net config workstation 

C:\Users\Administrator>net config workstation
计算机名                     \\ZHIYUAN-SUO
计算机全名                    zhiyuan-suo
用户名                       Administrator

工作站正运行于
        NetBT_Tcpip_{218C6515-99FF-4131-9F4F-8582F6472E24} (005056C00001)
        NetBT_Tcpip_{3A06D971-EF0B-4FE6-BEC0-B8B0B1629F9D} (005056C00008)
        NetBT_Tcpip_{90D9EB6B-F732-438C-9295-09D71CC6A08C} (38D547AAD0E9)

软件版本                     Windows 10 Pro

工作站域                     WorkGroup
登录域                       ZHIYUAN-SUO

COM 打开超时 (秒)            0
COM 发送计数 (字节)          32
COM 发送超时 (毫秒)          250
命令成功完成。

从输出中我们可以清楚地看到工作站域指向' WORKGROUP '。稍后将在Linux机器上对其进行配置。

 

2.2 安装samba:

root用户: 

 yum install samba samba-client samba-swat 

或 

 sudo dnf install samba samba-common samba-client 

如果已安装会显示:

[root@My-Linux-CentOS-8 suozhiyuan]# sudo dnf install samba samba-common samba-client
上次元数据过期检查:1:57:08 前,执行于 2021年01月14日 星期四 08时39分07秒。
软件包 samba-4.12.3-12.el8.3.x86_64 已安装。
软件包 samba-common-4.12.3-12.el8.3.noarch 已安装。
软件包 samba-client-4.12.3-12.el8.3.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

如果未安装会显示:

[root@localhost init.d]# yum install samba samba-client samba-swat
上次元数据过期检查:0:25:25 前,执行于 2021年01月13日 星期三 23时56分55秒。
依赖关系解决。
==================================================================================================================
 软件包                 架构                     版本                仓库                         大小
==================================================================================================================
安装:
 samba                 x86_64               4.12.3-12.el8.3        baseos                      840 k
 samba-client           x86_64                4.12.3-12.el8.3       baseos                        692 k
安装依赖关系:
 samba-common-tools     x86_64                4.12.3-12.el8.3       baseos                        484 k
 samba-libs             x86_64                4.12.3-12.el8.3       baseos                        188 k

事务概要
===================================================================================================================

安装 4 软件包

总下载:2.2 M
安装大小:6.3 M
确定吗?[y/N]: 

下载软件包:
(1/4): samba-client-4.12.3-12.el8.3.x86_64.rpm                                                     2.2 MB/s |
(2/4): samba-common-tools-4.12.3-12.el8.3.x86_64.rpm                                               1.3 MB/s |
(3/4): samba-4.12.3-12.el8.3.x86_64.rpm                                                            2.0 MB/s |
(4/4): samba-libs-4.12.3-12.el8.3.x86_64.rpm                                                        69 kB/s |
--------------------------------------------------------------------------------------------------------------------
总计                                                                                                313 kB/s |
警告:/var/cache/dnf/baseos-929b586ef1f72f69/packages/samba-4.12.3-12.el8.3.x86_64.rpm: 头V3 RSA/SHA256 Signature, 
密钥 ID 88888888: NOKEY CentOS Linux
8 - BaseOS 1.6 MB/s | 导入 GPG 公钥 88888888: Userid: "CentOS (CentOS Official Signing Key) <security@centos.org>" 指纹: 8888 70FA 8888 8888 7FB6 8888 05B5 55B3 8483 8888 来自: /etc/pki/rpm-gpg/ABC-DEF-GHI-centosofficial 确定吗?[y/N]:

安装完成后会显示:

导入公钥成功
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                       1/1
  安装    : samba-libs-4.12.3-12.el8.3.x86_64                                                     1/4
  安装    : samba-common-tools-4.12.3-12.el8.3.x86_64                                             2/4
  安装    : samba-4.12.3-12.el8.3.x86_64                                                          3/4
  运行脚本: samba-4.12.3-12.el8.3.x86_64                                                           3/4
  安装    : samba-client-4.12.3-12.el8.3.x86_64                                                   4/4
  运行脚本: samba-client-4.12.3-12.el8.3.x86_64                                                    4/4
  验证    : samba-4.12.3-12.el8.3.x86_64                                                          1/4
  验证    : samba-client-4.12.3-12.el8.3.x86_64                                                   2/4
  验证    : samba-common-tools-4.12.3-12.el8.3.x86_64                                             3/4
  验证    : samba-libs-4.12.3-12.el8.3.x86_64                                                     4/4
Installed products updated.

已安装:
  samba-4.12.3-12.el8.3.x86_64             samba-client-4.12.3-12.el8.3.x86_64     
 samba-common-tools-4.12.3-12.el8.3.x86_64 samba-libs-4.12.3-12.el8.3.x86_64 完毕!

 

2.3 检查是否安装成功

 rpm -qa | grep samba 

如果显示以下信息, 为安装成功

[root@localhost init.d]# rpm -qa | grep samba
samba-4.12.3-12.el8.3.x86_64
samba-common-4.12.3-12.el8.3.noarch
samba-client-4.12.3-12.el8.3.x86_64
samba-client-libs-4.12.3-12.el8.3.x86_64
samba-libs-4.12.3-12.el8.3.x86_64
samba-common-tools-4.12.3-12.el8.3.x86_64
samba-common-libs-4.12.3-12.el8.3.x86_64

 

2.4 samba文件配置

2.4.1 先将smb.conf备份,网上很多人都用rm,后面再建立个新文件,我习惯用cp命令额外拷贝

[root@My-Linux-CentOS-8 /]# cp etc/samba/smb.conf etc/samba/smb2.conf
[root@My-Linux-CentOS-8 /]# ls -laF etc/samba/
总用量 36
drwxr-xr-x.   2 root root    78 1月  14 10:48 ./
drwxr-xr-x. 154 root root  8192 1月  13 10:50 ../
-rw-r--r--.   1 root root    20 8月  18 04:50 lmhosts
-rw-r--r--.   1 root root   706 1月  14 10:48 smb2.conf
-rw-r--r--.   1 root root   706 8月  18 04:50 smb.conf
-rw-r--r--.   1 root root 11327 8月  18 04:50 smb.conf.example

  

2.4.2 创建目录文件, 并进行权限和安全相关设置, 我将这个目录创建到了 /home/ 目录下

 mkdir -p /home/data             # 创建文件夹,-P的作用为:如果文件路径不存在则创建路径 

 chmod -R 0755 /home/data          # 改变文件权限为drwxr-xr-x,-R:改变指定目录及其下的所有子目录和文件的拥有者 

 chown -R nobody:nobody /home/data    # 修改文件夹权限 

 

2.4.3 对 samba 配置文件 smb.conf 进行配置

 vim /etc/samba/smb.conf         # 打开配置文件 

删除所有内容写入以下配置:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = MySambaServer
security = user
map to guest = bad user
dns proxy = no

[data]
path = /home/data/
browsable =yes
writable = yes
guest ok = yes
read only = no

保存并关闭配置文件。

 

smb.conf 中增加的配置内容解释:

[global]
workgroup = WORKGROUP             # 设定 SambaServer 所要加入的工作组或者域,需要与 Windows 工作组一致
server
string = Samba Server %v # 设定 SambaServer 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号
netbios name
= centos-8 # 设置 SambaServer 的 NetBIOS 名称。如果不填则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了 security = user # 设置用户访问 SambaServer 的验证方式,一共有四种验证方式 # 1. share:用户访问 SambaServer 不需要提供用户名和口令, 安全性能较低。 # 2. user:SambaServer 共享目录只能被授权的用户访问,由 SambaServer 负责检查账号和密码的正确性。账号和密码要在本 SambaServer
                     中建立。
#
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的
                      Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用
                      用户级安全模式作为替代的方式。
#
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。 map to guest = bad user # 将匿名用户映射为nobody用户,这个是Samba4.0之前版本的 security=share,4.0之后改成了 security 和 map to guest
dns proxy
= no # 设置 SambaServer 是否开启dns代理服务 [Anonymous]              # 共享文件夹配置 windows 显示 “Anonymous” 文件名
path
= /srv/samba/shared # centos 服务器中,共享目录路径 # path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。
                     例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,
                     这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定
                     要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问
                     samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%
m

browsable
=yes # 允许该目录被显示在系统资源中
writable
= yes # 用来指定该共享路径是否可写,是否是只读,如果有read only的配置,二者冲突会以 writable 为准
guest ok
= yes # 意义同“public”,公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
read only
= no # 以只读方式共享,当与 writable 发生冲突时以 writable 为准

 

2.4.4 检查配置文件的正确

要验证配置是否正确,请运行命令: testparm 

配置正确显示:

[root@My-Linux-CentOS-8 samba]# 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

敲回车出2次确认

# Global parameters
[global]
        dns proxy = No
        map to guest = Bad User
        netbios name = CENTOS-8
        security = USER
        server string = Samba Server %v
        idmap config * : backend = tdb


[Anonymous]
        guest ok = Yes
        path = /home/suozhiyuan
        read only = No
[root@My-Linux-CentOS-8 samba]#

 

2.5 防火墙的处理

此处建议不关闭防火墙,而允许 Samba 穿越防火墙,以便外部用户可以访问 Samba 共享。

firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload

操作成功提示:

[root@My-Linux-CentOS-8 samba]# firewall-cmd --add-service=samba --zone=public --permanent
success
[root@My-Linux-CentOS-8 samba]# firewall-cmd --reload
success

如果提示防火墙未开启可通过以下命令开启

开启 firewalld 防火墙

systemctl start firewalld.service    # 启用firewalld服务
 
systemctl enable firewalld.service   # 开机启用firewalld服务

验证防火墙开启状态

systemctl status firewalld.service  # 查看开启状态

 

2.6 启动并启用Samba服务

systemctl start smb
systemctl enable smb

确认smb服务是否正在运行

systemctl status smb

   成功启动打印内容:

[root@My-Linux-CentOS-8 samba]# systemctl start smb        # 启动 Samba 服务
[root@My-Linux-CentOS-8 samba]# systemctl enable smb        # 启用 Samba 服务
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[root@My-Linux-CentOS-8 samba]# systemctl status smb        # 查看 Samba 是否运行
 smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-01-14 18:23:29 CST; 1min 42s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 35790 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 11067)
   Memory: 28.0M
   CGroup: /system.slice/smb.service
           ├─35790 /usr/sbin/smbd --foreground --no-process-group
           ├─35792 /usr/sbin/smbd --foreground --no-process-group
           ├─35793 /usr/sbin/smbd --foreground --no-process-group
           └─35794 /usr/sbin/smbd --foreground --no-process-group

1月 14 18:23:27 My-Linux-CentOS-8.3.2011-001 systemd[1]: Starting Samba SMB Daemon...
1月 14 18:23:29 My-Linux-CentOS-8.3.2011-001 smbd[35790]: [2021/01/14 18:23:29.429616,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
1月 14 18:23:29 My-Linux-CentOS-8.3.2011-001 systemd[1]: Started Samba SMB Daemon.
1月 14 18:23:29 My-Linux-CentOS-8.3.2011-001 smbd[35790]:   daemon_ready: daemon 'smbd' finished starting up and ready to serve connections

 

2.7 启动并启用nmb服务

sudo systemctl start nmb
sudo systemctl enable nmb

确认nmb服务是否正在运行

systemctl status nmb

 成功启用打印内容

[root@My-Linux-CentOS-8 samba]# sudo systemctl start nmb
[root@My-Linux-CentOS-8 samba]# sudo systemctl enable nmb
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
[root@My-Linux-CentOS-8 samba]# systemctl status nmb
● nmb.service - Samba NMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/nmb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-01-14 18:36:00 CST; 13s ago
     Docs: man:nmbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 36019 (nmbd)
   Status: "nmbd: ready to serve connections..."
    Tasks: 1 (limit: 11067)
   Memory: 3.5M
   CGroup: /system.slice/nmb.service
           └─36019 /usr/sbin/nmbd --foreground --no-process-group

1月 14 18:36:00 My-Linux-CentOS-8.3.2011-001 systemd[1]: Starting Samba NMB Daemon...
1月 14 18:36:00 My-Linux-CentOS-8.3.2011-001 systemd[1]: Started Samba NMB Daemon.
1月 14 18:36:00 My-Linux-CentOS-8.3.2011-001 nmbd[36019]: [2021/01/14 18:36:00.373202,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
1月 14 18:36:00 My-Linux-CentOS-8.3.2011-001 nmbd[36019]:   daemon_ready: daemon 'nmbd' finished starting up and ready to serve connections

 

3. 从 Windows 机器访问 Samba 共享

在Windows PC上,按Windows键+ R启动“运行”对话框,然后键入

  \\samba主机名服务器  或  \\服务器的IP地址 

 

  红框处就是samba主机名服务器

 

 

 

 

 

 

 

 ====================================================================================================================================

posted @ 2021-01-14 02:00  索智源  阅读(2190)  评论(1编辑  收藏  举报