openEuler 综合实践openEuler 综合实践

8.1 实验介绍

8.1.1

关于本实验

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

务器。

8.1.2 实验目的

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

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

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

8.2 实验任务配置

8.2.1 配置思路

1.登录 openEuler 系统后,在 openEuler 上配置软件安装源,使系统能够下载并安装文件共

享服务器软件。

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

8.2.2 配置步骤

步骤 1

挂载系统 ISO,并配置好本地 dnf 源。

步骤 2

配置软件安装源。

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

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

Authorized users only. All activities may be monitored and reported.

Activate the web console with: systemctl enable --now cockpit.socket

Last login: Wed Jul 29 09:47:22 2020 from 172.19.130.180

Welcome to 4.19.90-2003.4.0.0036.oe1.x86_64

System information as of time: Fri Jul 31 10:14:49 CST 2020

System load: 0.00

Processes: 191

Memory used: 21.2%

Swap used: 0.0%HCIA-openEuler 实验指导手册

第 127 页

Usage On: 15%

IP address: 192.168.110.246

Users online: 3

[root@openEuler ~]# uname -a

Linux openEuler 4.19.90-2003.4.0.0036.oe1.x86_64 #1 SMP Mon Mar 23 19:06:43 UTC 2020

x86_64 x86_64 x86_64 GNU/Linux

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

[root@openEuler ~]# dnf search samba

Last metadata expiration check: 0:14:40 ago on Mon 14 Sep 2020 04:47:11 PM CST.

================================= Name Exactly Matched: samba

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

samba.x86_64 : 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-winbind-modules.x86_64 : The winbind modules for samba

samba-common.x86_64 : Common package for samba client and server

samba-winbind-clients.x86_64 : The winbind client package for samba

==================================== Summary Matched: samba

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

libwbclient.x86_64 : The winbind client library for samba

步骤 3

安装文件共享服务。

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

[root@openEuler ~]# dnf -y install samba samba-client samba-common

启动 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.

查看服务器监听状态,在 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:111 0.0.0.0:* LISTEN 1276/rpcbind

tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 3674/dnsmasq

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5632/sshd

tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 755432/smbd

tcp 0 0 0.0.0.0:44321 0.0.0.0:* LISTEN 2585/pmcd

tcp 0 0 0.0.0.0:4330 0.0.0.0:* LISTEN 739788/pmlogger

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 755432/smbdHCIA-openEuler 实验指导手册

第 128 页

tcp 0 0 192.168.110.246:22 172.19.130.180:60842 ESTABLISHED 753195/sshd:

root [

tcp 0 64 192.168.110.246:22 172.19.130.180:56950 ESTABLISHED 686088/sshd:

root [

tcp6 0 0 :::111 :::* LISTEN 1276/rpcbind

tcp6 0 0 :::22 :::* LISTEN 5632/sshd

tcp6 0 0 :::445 :::* LISTEN 755432/smbd

tcp6 0 0 :::44321 :::* LISTEN 2585/pmcd

tcp6 0 0 :::4330 :::* LISTEN 739788/pmlogger

tcp6 0 0 :::139 :::* LISTEN 755432/smbd

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

[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) since Fri 2020-07-31 10:51:17 CST; 16ms ago

Docs: man:firewalld(1)

Process: 1908 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS

(code=exited, status=0/SUCCESS)

Main PID: 1908 (code=exited, status=0/SUCCESS)

Jul 08 11:19:39 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall

daemon…

Jul 08 11:19:40 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

Jul 31 10:51:15 openEuler systemd[1]: Stopping firewalld - dynamic firewall daemon…

Jul 31 10:51:17 openEuler systemd[1]: firewalld.service: Succeeded.

Jul 31 10:51:17 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

8.3 设置文件共享用户与权限

8.3.1 实验介绍

8.3.1.1

关于本实验

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

问文件共享服务器。HCIA-openEuler 实验指导手册

第 129 页

8.3.1.2 实验目的

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

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

8.3.2 实验任务配置

8.3.2.1 配置思路

1.在 openEuler 系统中,通过添加用户与文件,为 samba 文件共享服务器提供用户认证与

存储空间。

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

8.3.2.2 配置步骤

步骤 1

添加 Samba 用户。

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

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

设置用户 smb 的 samba 服务器密码,如 Huawei12#$。

[root@openEuler02 samba]# smbpasswd -a smb

New SMB password:

Retype new SMB password:

Added user smb.

步骤 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/shareHCIA-openEuler 实验指导手册

第 130 页

guest ok = yes

writeable = yes

browseable = yes

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

[root@openEuler ~]# systemctl restart smb

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

式访问文件共享服务。

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

步骤 4

添加用户共享配置。

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

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

编辑 Samba 配置文件/var/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 ~]# systemctl restart smb

在电脑上,刷新文件共享访问路径\ip\,将出现 smb 目录。 HCIA-openEuler 实验指导手册

第 131 页

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

共享目录。

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

在文件目录中创建一个文件夹和文件,可以成功创建,用户共享文件服务器设置成功。HCIA-openEuler 实验指导手册

第 132 页

8.4 运维文件共享服务器

8.4.1 实验介绍

8.4.1.1

关于本实验

本实验通过在 openEuler 系统上定时备份文件共享服务,并介绍 Samba 文件共享服务常见

的错误排除方法。

8.4.1.2 实验目的

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

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

8.4.2 实验任务配置

8.4.2.1 配置思路

1.登录 openEuler 系统后,编写脚本对文件共享服务器的文件设备备份任务,保

存/var/share/目录的数据到/var/smb 中

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

  1. 查看 Samba 服务器日志,进行基本的排错。

8.4.2.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 天以上的备份数据HCIA-openEuler 实验指导手册

第 133 页

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

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

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

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

步骤 2

设置定时备份任务。

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

[root@openEuler ~]# crontab –e

0 22 * * * /root/backup.sh

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

[root@openEuler ~]# crontab -l

步骤 3

查看 Samba 日志。

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

[root@openEuler ~]# ls /var/logHCIA-openEuler 实验指导手册

第 134 页

查看 samba 日志文件名。

[root@openEuler ~]# ls –l /var/log/samba/

查看 samba 文件共享服务日志。

[root@openEuler ~]# tail /var/log/samba/log.smbd –n 20

步骤 4

Samba 服务器常见故障。

Samba 服务器无法访问。

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

修复方法:

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

[root@openEuler ~]# smbclient -L localhost

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

[root@openEuler ~]# systemctl restart smbHCIA-openEuler 实验指导手册

第 135 页

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

Samba 服务器配置错误,无法启动。

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

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

查看配置文件。

将该值修改为正确的值。

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

[root@openEuler ~]# systemctl restart smb

文件无权限访问或创建文件

问题:通过共享目录访问,创建文件失败HCIA-openEuler 实验指导手册

第 136 页

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

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