文章目录

  • 一、实验介绍
  • 1、关于本实验
  • 2、实验目的
  • 二、实验任务配置
  • 1、配置思路
  • 2、配置步骤
  • 步骤1:挂载系统ISO,并配置好本地dnf源
  • 步骤2:配置软件安装源
  • 步骤3:安装文件共享服务
  • 三、设置文件共享用户与权限
  • 1、实验介绍
  • (1)关于本实验
  • (2)实验目的
  • 2、实验任务配置
  • (1)配置思路
  • (2)配置步骤
  • 步骤1:添加Samba用户
  • 步骤2:创建共享文件目录
  • 步骤3:添加Samba公共共享配置
  • 步骤4:添加用户共享配置
  • 四、运维文件共享服务器
  • 1、实验介绍
  • (1)关于本实验
  • (2)实验目的
  • 2、实验任务配置
  • (1)配置思路
  • (2)配置步骤
  • 步骤1:编辑数据备份脚本
  • 步骤2:设置定时备份任务
  • 步骤3:查看Samba日志
  • 3、Samba服务器常见故障
  • (1)Samba服务器无法访问
  • (2)Samba服务器配置错误,无法启动
  • (3)文件无权限访问或创建文件



一、实验介绍

1、关于本实验

本实验通过在openEuler系统上搭建文件共享服务器,并通过进程控制命令启动文件共享服务器。

2、实验目的

✔ 理解文件共享服务器原理。

✔ 理解文件共享服务器安装方式。

✔ 掌握文件共享服务管理方法。

二、实验任务配置

1、配置思路

1、登录openEuler系统后,在openEuler上配置软件安装源,使系统能够下载并安装文件共享服务器软件。

2、安装部署文件共享服务Samba后,启动相关的服务,并通过客户端确认服务可正常访问。

2、配置步骤

步骤1:挂载系统ISO,并配置好本地dnf源
步骤2:配置软件安装源

登录openEuler系统,输入系统IP地址及系统账户与密码。

成功登录openEuler后,查看系统状态。

Authorized users only. All activities may be monitored and reported.
root@192.168.74.136's password:

Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Dec 30 14:34:40 2022


Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time:  2022年 12月 30日 星期五 16:01:44 CST

System load:    0.00
Processes:      157
Memory used:    17.8%
Swap used:      0.0%
Usage On:       9%
IP address:     192.168.74.136
Users online:   2



[root@openEuler ~]# uname -a
Linux openEuler 4.19.90-2003.4.0.0036.oe1.x86_64 #1 SMP Mon Mar 23 19:10:41 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@openEuler ~]#

确认软件源是否安装成功,可以搜索出软件的结果。

[root@openEuler ~]# dnf search samba
Last metadata expiration check: 2:50:30 ago on 2022年12月30日 星期五 13时11分50秒.
============================================= Name Exactly Matched: samba ==============================================
samba.x86_64 : A suite for Linux to interoperate with Windows
samba.src : A suite for Linux to interoperate with Windows
============================================ Name & Summary Matched: samba =============================================
samba-libs.x86_64 : Libraries for samba
samba-help.x86_64 : Help package for samba
pcp-pmda-samba.x86_64 : PCP metrics for Samba
samba-client.x86_64 : Client package for samba
samba-common-tools.x86_64 : Tools package for samba
samba-winbind.x86_64 : The winbind package for samba
samba-dc.x86_64 : Domain Controller package for samba
samba-dc-bind-dlz.x86_64 : Bind DLZ module for Samba AD
samba-pidl.noarch : Perl IDL compiler package for samba
python3-samba.x86_64 : Python3 library package for samba
samba-devel.x86_64 : Developer tools for Samba libraries
samba-debugsource.x86_64 : Debug sources for package samba
samba-vfs-glusterfs.x86_64 : Samba VFS module for GlusterFS
samba-winbind-modules.x86_64 : The winbind modules for samba
samba-dc-provision.x86_64 : Samba AD files to provision a DC
samba-debuginfo.x86_64 : Debug information for package samba
samba-common.x86_64 : Common package for samba client and server
python3-samba-dc.x86_64 : The Samba Python libraries for Samba AD
samba-winbind-clients.x86_64 : The winbind client package for samba
python3-samba-test.x86_64 : Test package for python3 binding for samba
samba-winbind-krb5-locator.x86_64 : Winbind krb5 locator package for samba
samba-test.x86_64 : Testing tools and libraries for Samba servers and clients
samba-krb5-printing.x86_64 : The samba CUPS backend package for printing with Kerberos
================================================ Summary Matched: samba ================================================
libwbclient.x86_64 : The winbind client library for samba
ctdb.x86_64 : A Clustered Database package based on Samba's Trivial Database (TDB)
[root@openEuler ~]#
步骤3:安装文件共享服务

输入如下命令安装samba服务,及其相关组件

[root@openEuler ~]# dnf -y install samba samba-client samba-common
Last metadata expiration check: 2:51:22 ago on 2022年12月30日 星期五 13时11分50秒.
Package samba-4.11.6-5.oe1.x86_64 is already installed.
Package samba-client-4.11.6-5.oe1.x86_64 is already installed.
Package samba-common-4.11.6-5.oe1.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

启动samba服务,并设置为开机启动

[root@openEuler ~]# systemctl start smb;systemctl enable smb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[root@openEuler ~]#

查看服务器监听状态,在tcp 139,445端口上监听

[root@openEuler ~]# netstat -lantp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:4330            0.0.0.0:*               LISTEN      12193/pmlogger
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      25040/smbd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2110/rpcbind
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      3068/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2386/sshd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      25040/smbd
tcp        0      0 0.0.0.0:44321           0.0.0.0:*               LISTEN      11110/pmcd
tcp        0    128 192.168.74.136:22       192.168.74.1:61503      ESTABLISHED 24855/sshd: root [p
tcp6       0      0 :::4330                 :::*                    LISTEN      12193/pmlogger
tcp6       0      0 :::139                  :::*                    LISTEN      25040/smbd
tcp6       0      0 :::111                  :::*                    LISTEN      2110/rpcbind
tcp6       0      0 :::22                   :::*                    LISTEN      2386/sshd
tcp6       0      0 :::445                  :::*                    LISTEN      25040/smbd
tcp6       0      0 :::44321                :::*                    LISTEN      11110/pmcd
[root@openEuler ~]#

查看防火墙状态是否开放,如果开放关闭防火墙

[root@openEuler ~]# systemctl stop firewalld; systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:47:39 openEuler firewalld[11528]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -w --table filter --dele>
12月 30 13:59:37 openEuler systemd[1]: Stopping firewalld - dynamic firewall daemon...
12月 30 13:59:38 openEuler systemd[1]: firewalld.service: Succeeded.
12月 30 13:59:38 openEuler systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@openEuler ~]# setenforce 0     #临时关闭seLinux

通过smbclient命令查看服务共享状态,输入root密码看到当前服务正在运行

[root@openEuler ~]# smbclient -L localhost
Enter SAMBA\root's password:
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (Samba 4.11.6)
SMB1 disabled -- no workgroup available
[root@openEuler ~]#

三、设置文件共享用户与权限

1、实验介绍

(1)关于本实验

本实验通过在openEuler系统上创建文件与用户,并通过配置文件共享服务,使客户端能访问文件共享服务器。

(2)实验目的

✔ 理解文件共享服务器配置方法;

✔ 理解文件共享服务权限控制。

2、实验任务配置

(1)配置思路

1、在openEuler系统中,通过添加用户与文件,为samba文件共享服务器提供用户认证与存储空间。

2、安装部署文件共享服务Samba后,配置Samba服务配置,通过客户正常访问。

(2)配置步骤

步骤1:添加Samba用户

使用useradd命令添加用户smb,设置其无shell登录

[root@openEuler ~]# useradd -s /sbin/nologin -M smb

设置用户smb的samba服务器密码,如Huawei@123

[root@openEuler ~]# smbpasswd -a smb
New SMB password:
Retype new SMB password:
Added user smb.
[root@openEuler ~]#
步骤2:创建共享文件目录

创建一个共享文件目录share用于公共共享,创建一个用户文件目录smb

[root@openEuler ~]# mkdir /var/share /var/smb

将share与smb目录权限更改为777权限

[root@openEuler ~]# chmod 777 /var/share /var/smb
步骤3:添加Samba公共共享配置
[root@openEuler ~]# vim /etc/samba/smb.conf

在global添加如下内容:

[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User     #新增此行
        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

添加公共share目录,允许匿名访问目录

[share]
        comment = share
        path = /var/share
        guest ok = yes
        writeable = yes
        browseable = yes

配置完成后保存退出,然后重启Samba服务

[root@openEuler ~]# systemctl restart smb

使用Windows电脑访问Samba服务器。在计算机上打开任意文件,输入共享路径\\ip的方式访问文件共享服务

安装 openresty 安装 openEuler实践结论_安装 openresty

进入该文件目录,新建一个文本文档,可以正常创建,公共文件共享目录设置成功

安装 openresty 安装 openEuler实践结论_服务器_02

在共享文件目录也可看到:

安装 openresty 安装 openEuler实践结论_安装 openresty_03

步骤4:添加用户共享配置

在openEuler系统中,用户共享目录smb的属主

[root@openEuler ~]# chown smb:smb /var/smb

编辑Samba配置文件/etc/samba/smb.conf,添加用户共享配置,保存并退出编辑

[smb]
        comment = smb
        path = /var/smb
        write list = smb
        browseable = yes
        writeable = yes
        read list = smb
        valid users = smb
        create mask = 0777
        directory mask = 0777

重启Samba服务

[root@openEuler samba]# systemctl restart smb

在电脑上,刷新文件共享访问路径[\ip](file://ip/),将出现smb目录

安装 openresty 安装 openEuler实践结论_华为_04

尝试点击smb访问该目录,需要输入认证信息,输入在步骤1中创建的用户及密码。登录该共享目录。

安装 openresty 安装 openEuler实践结论_安装 openresty_05

正确输入认证信息后,可以正常访问,可打开该目录

安装 openresty 安装 openEuler实践结论_openEuler_06

在文件目录中创建一个文件夹和文件,可以成功创建,用户共享文件服务器设置成功

安装 openresty 安装 openEuler实践结论_华为_07

安装 openresty 安装 openEuler实践结论_openEuler_08

四、运维文件共享服务器

1、实验介绍

(1)关于本实验

本实验通过在openEuler系统上定时备份文件共享服务,并介绍Samba文件共享服务常见的错误排除方法。

(2)实验目的

✔ 理解基于脚本的定时任务配置方法。

✔ 理解文件共享服务器常见问题查看方法。

2、实验任务配置

(1)配置思路

1、登录openEuler系统后,编写脚本对文件共享服务器的文件设备备份任务,保存/var/share/目录的数据到/var/smb中

2、将数据备份脚本设置为每天定时周期执行。

3、查看Samba服务器日志,进行基本的排错

(2)配置步骤

步骤1:编辑数据备份脚本

使用root用户登陆openEuler系统后,使用文本编辑器编辑备份脚本

[root@openEuler ~]# vim /root/backup.sh

编辑内容如下:

#!/bin/sh
mkdir /var/backup     #创建临时备份目录
cp -r /var/share/ /var/backup/     #将共享文件夹的数据复制到备份目录
tar -zcPvf /var/smb/backup$(date +%Y%m%d).tar.gz /var/backup     #打包共享目录的数据到/var/backup目录
rm -rf /var/backup/     #删除临时备份目录
find /var/smb/ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;     #删除30天以上的备份数据

安装 openresty 安装 openEuler实践结论_安装 openresty_09

保存并退出编辑后,将文件设置为可执行权限

[root@openEuler ~]# chmod +x /root/backup.sh

手动执行脚本,确认是否正常

[root@openEuler ~]# sh /root/backup.sh
/var/backup/
/var/backup/share/
/var/backup/share/New Text Document.txt
[root@openEuler ~]# ls -l /var/smb
总用量 16
-rw-------. 1 root root  177 12月 30 16:47  backup20221230.tar.gz
drwxrwxrwx. 2 smb  smb  4096 12月 30 16:41 'New folder'
-rwxrw-rw-. 1 smb  smb     0 12月 30 16:41 'New Text Document.txt'
[root@openEuler ~]#
步骤2:设置定时备份任务

设置周期任务,要求每天22:00执行上述备份脚本。使用crontab –e编辑备份任务

[root@openEuler ~]# crontab -e

0 22 * * * /root/backup.sh

no crontab for root - using an empty one
crontab: installing new crontab
[root@openEuler ~]#

安装 openresty 安装 openEuler实践结论_服务器_10

保存并退出编辑,通过crontab –l查看定时周期任务

[root@openEuler ~]# crontab -l
0 22 * * * /root/backup.sh
[root@openEuler ~]#

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ldyJ2yO-1673506868299)(.\image\image-20221230165029959.png)]

步骤3:查看Samba日志

日志文件存储于/var/log/目录下,通过ls 命令确认存储日志的目录

[root@openEuler ~]# ls /var/log

安装 openresty 安装 openEuler实践结论_文件共享_11

查看samba日志文件名log.smbd

[root@openEuler ~]# ls /var/log/samba/ -l
总用量 12
drwx------. 3 root root 4096 12月 30 16:03 cores
-rw-r--r--. 1 root root  972 12月 30 16:38 log.smbd
drwx------. 2 root root 4096  3月 24  2020 old
[root@openEuler ~]#

查看samba文件共享服务日志

[root@openEuler ~]# tail /var/log/samba/log.smbd -n 20
[2022/12/30 16:03:43.041025,  0] ../../source3/smbd/server.c:1775(main)
  smbd version 4.11.6 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2019
[2022/12/30 16:03:43.076695,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
  daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
[2022/12/30 16:13:30.759057,  0] ../../source3/smbd/server.c:1775(main)
  smbd version 4.11.6 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2019
[2022/12/30 16:13:30.772930,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
  daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
[2022/12/30 16:38:41.921250,  0] ../../source3/smbd/server.c:1775(main)
  smbd version 4.11.6 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2019
[2022/12/30 16:38:41.936030,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
  daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
[root@openEuler ~]#

3、Samba服务器常见故障

(1)Samba服务器无法访问

报错:通过文件共享方式网络连接失败

安装 openresty 安装 openEuler实践结论_安装 openresty_12

修复方法:

在Samba服务器上使用smbclient确认服务是否正常

[root@openEuler ~]# smbclient -L localhost

安装 openresty 安装 openEuler实践结论_服务器_13

说明服务没有正常启动,使用服务重启命令重启服务

[root@openEuler ~]# systemctl restart smb

安装 openresty 安装 openEuler实践结论_openEuler_14

再次使用smbclient命令访问Samba服务器,可正常访问

安装 openresty 安装 openEuler实践结论_服务器_15

(2)Samba服务器配置错误,无法启动

报错:修改Samba配置后,重启Samba服务出现报错,无法启动

安装 openresty 安装 openEuler实践结论_openEuler_16

修复方法:在Samba服务器配置目录,使用testparm命令检测配置

安装 openresty 安装 openEuler实践结论_文件共享_17

查看配置文件

安装 openresty 安装 openEuler实践结论_文件共享_18

将该值修改为正确的值

安装 openresty 安装 openEuler实践结论_华为_19

重启Samba服务,服务正常启动

[root@openEuler ~]# systemctl restart smb

(3)文件无权限访问或创建文件

问题:通过共享目录访问,创建文件失败

安装 openresty 安装 openEuler实践结论_文件共享_20

修复方法:在openEuler系统,查看共享的文件目录的权限是否正确

[root@openEuler ~]# ls -al /var/share