文章目录
- 一、实验介绍
- 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
的方式访问文件共享服务
进入该文件目录,新建一个文本文档,可以正常创建,公共文件共享目录设置成功
在共享文件目录也可看到:
步骤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目录
尝试点击smb访问该目录,需要输入认证信息,输入在步骤1中创建的用户及密码。登录该共享目录。
正确输入认证信息后,可以正常访问,可打开该目录
在文件目录中创建一个文件夹和文件,可以成功创建,用户共享文件服务器设置成功
四、运维文件共享服务器
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天以上的备份数据
保存并退出编辑后,将文件设置为可执行权限
[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 ~]#
保存并退出编辑,通过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
查看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服务器无法访问
报错:通过文件共享方式网络连接失败
修复方法:
在Samba服务器上使用smbclient确认服务是否正常
[root@openEuler ~]# smbclient -L localhost
说明服务没有正常启动,使用服务重启命令重启服务
[root@openEuler ~]# systemctl restart smb
再次使用smbclient命令访问Samba服务器,可正常访问
(2)Samba服务器配置错误,无法启动
报错:修改Samba配置后,重启Samba服务出现报错,无法启动
修复方法:在Samba服务器配置目录,使用testparm命令检测配置
查看配置文件
将该值修改为正确的值
重启Samba服务,服务正常启动
[root@openEuler ~]# systemctl restart smb
(3)文件无权限访问或创建文件
问题:通过共享目录访问,创建文件失败
修复方法:在openEuler系统,查看共享的文件目录的权限是否正确
[root@openEuler ~]# ls -al /var/share