当前位置:   article > 正文

【Linux操作实践】Samba服务器搭建_samba服务实训

samba服务实训
文章目录(文章末尾有惊喜!!)
  • Linux操作系统实践——Samba服务器搭建
    • 一、实验目的
    • 二、实验内容
      • ② 学生教师服务
    • 三、 题目分析及基本设计过程分析
      • ② 学生教师服务
        • 1) 整体思路
        • 2) 系统用户和组分配设计说明
        • 3) 系统文件权限设计说明
        • 4) 统计交作业名单脚本设计说明
        • 5) 自动批改指定格式的作业脚本设计说明
    • 四、 配置文件关键修改处的说明及运行情况
      • ② 学生教师服务
        • 0) samba服务器配置
        • 1) 用户组和用户
        • 2) /home/class/下相关文件
        • 3) 学生上传作业(Linux系统下)
        • 4) 学生上传作业(Windows系统下)——接下来大部分操作都在Windows下进行
        • 5) 查看脚本统计交作业名单
        • 6) 教师使用脚本批改指定格式的作业
        • 7) 教师手动查看学生作业并批改
        • 8) 学生查看成绩与答案
        • 9) 教师上传学习资料
        • 10) 学生下载学习资料

Linux操作系统实践——Samba服务器搭建

仅供参考,谢绝抄袭

一、实验目的

熟练掌握 Linux 操作系统的使用,掌握 Linux 的各项系统管理功能,掌握 Linux 下各类网络服务的安装、配置以及使用,并能用 shell 脚本实现简单的管理 任务。

二、实验内容

② 学生教师服务

根据所学内容,使用一种或多种服务(如 ftp、samba、Http 等)搭建一台服务器,支持多用户访问,并能完成下述功能:

1)学生用户能实现学生作业的上传,学生以“姓名+学号”命名作业。学生 能看到作业列表,但是不能下载其他用户的作业。

2)在指定的交作业截止时间到时,编写脚本自动统计交作业的学生名单和 人数,生成文档,供教师查看。

3)教师用户能够查看学生提交的作业,在生成的交作业名单录入成绩, 并发布成绩,供学生查看。

4)对于指定格式的作业,编写脚本自动批改作业并在交作业名单中记录成绩。(注:格式可以自己指定,也可做成模板供学生下载使用)

5)教师可以提供课件和参考资料供学生下载。

三、 题目分析及基本设计过程分析

② 学生教师服务
1) 整体思路

对于这道题,我在RedHat系统上使用了Samba搭建服务器,能使学生和老师在Windows客户机上上传和下载文件,老师能在Linux系统上启动自动批改脚本批改指定格式的作业。

关于Samba服务器的配置,会在第四部分进行说明。

2) 系统用户和组分配设计说明

系统中一共有三个组os,student和teacher

① os组中有所有的学生和教师:stu1,stu2,stu3,stu4以及teacher,服务于课程。

② student组中有所有的学生:stu1,stu2,stu3以及stu4,服务于学生。

③ teacher组中有所有的教师:teacher,服务于教师

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hcAOgDTc-1648305528719)(C:/Users/26969/AppData/Roaming/Typora/typora-user-images/image-20220325200000679.png)]

3) 系统文件权限设计说明

作业管理所用的文件都在linux系统的/home/class目录下,一共有三个目录homework,grade,learning,三个文件grade-count.sh,grade-calculate.sh,grade_log.log

homework目录:用于学生上传作业和教师下载学生作业。该目录的权限设置为6777,其中6设置了s权限使得学生上传文件的组和homework一致,都是teacher,这是为了保证学生不能下载其他学生的作业。该目录的拥有者为teacher。而学生上传文件的权限被设置为750,即上传者学生可以管理自己的作业,但是不能下载或查看其他学生;而教师可以下载学生的作业,但是不能更改学生的作业。

learning目录:用于教师上传学习资料以及学生可以下载学习资料。该目录的权限设置为6750,其中6设置了s权限使得教师上传文件的组和learning一致,都是os, 而该目录的拥有者为teacher。教师上传的资料的权限被设置为750,保证学生可以下载文件但是无法修改文件,教师可以任意管理上传学习资料。

grade目录:用于教师统计学生交作业名单以及录入成绩。该目录的权限设置为6750,其中6设置了s权限使得教师上传文件的组和grade一致,都是os, 而该目录的拥有者为teacher。目录中的文件权限都被设置为750,保证学生可以下载交作业名单与成绩,可以下载作业模板和答案(答案会在交作业时间截止后由教师上传),教师可以任意管理上传文件。

correct.txt:作业的正确答案

answer-standardtxt:作业模板,供学生下载使用

grade.txt:交作业名单与成绩统计

grade-count.sh:统计交作业名单的脚本,由系统按时执行,权限为777.

grade-calculate.sh:自动批改符合格式的作业的脚本,由教师自己执行,属于teacher组,权限为750。

grade_log.log:记录grade-count.sh脚本执行的情况。

4) 统计交作业名单脚本设计说明

该脚本名称为grade-count.sh

① 利用命令 date "+%Y-%m-%d %H:%M:%S记录统计的时间

② 利用正则表达式将作业文件名划分为姓名和学号,如stu1-2194411245.txt就被划分为stu1和2194411245。

③ 利用for循环统计homework目录下的所有文件,每有一个文件,count就+1,最后得到所有的交作业学生信息和总数

image-20220326222526120

然后再利用crond进程定时执行该脚本,这里我设置为每天的23:59统计一次交作业名单

image-20220326222542132

而且记录了脚本执行日志。

5) 自动批改指定格式的作业脚本设计说明

该脚本名称为grade-calculate.sh

这里我测试使用的作业格式如下:

其中开头的#standard template用于区别是否使用指定格式的作业,每一道题都以数字+.+答案为格式,因此可以设计脚本如下:

① 遍历homework目录下的文件

② 对于每一个文件,遍历十次

③ 利用文本分析工具awk,将学生作业每一行的答案解析出:以.分割序号和答案,将第二个参数打印赋给answer。

④ 同理解析标准答案的值correct,如果correct=answer,则该作业加十分

⑤ 将遍历得到的分数利用流编辑器sed加入到每一个学生作业记录的后面

在这里插入图片描述

四、 配置文件关键修改处的说明及运行情况

② 学生教师服务
0) samba服务器配置
[homework]  
comment = this folder is for students to submmit homework  
path = /home/class/homework  
valid users = @os  
read only = no  
public = no  
create mask = 0750  
force create mode = 0750  
  
[learning]  
comment = this folder is for teacher to share learning material  
path = /home/class/learning  
valid users = @os  
read only = no  
admin users = @teacher  
public = no  
create mask = 0750  
force create mode = 0750  
  
[grade]  
comment = this folder is for teacher to register student grades  
path = /home/class/grade  
valid users = @os  
read only = no  
admin users = @teacher  
public = no  
create mask = 0750  
force create mode = 0750:


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
1) 用户组和用户

cat /etc/group

image-20220326222812778

2) /home/class/下相关文件

tree /home/class/

image-20220326222832310

3) 学生上传作业(Linux系统下)

以stu1学生上传为例

学生可以在/home/class/grade****下载作业模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdzLt6kY-1648305528723)(http://r9awog79x.hn-bkt.clouddn.com/image-20220326222858918.png)]

进入homework目录

image-20220326222921656

查看当前作业目录

image-20220326222939071

上传作业成功

image-20220326222952909

无法下载他人作业

image-20220326223011879

4) 学生上传作业(Windows系统下)——接下来大部分操作都在Windows下进行

在Windows系统进入[\192.168.114.130](file://192.168.114.130),输入账号密码

进入到共享文件夹下

上传作业

5) 查看脚本统计交作业名单

出于测试的目的,这里我将执行时间改成了18:35

在Windows系统进入\\192.168.114.130

image-20220326223453813

进入grade文件夹可以看到统计名单grade.txt

image-20220326223511512

也可以下载到自己的电脑中

image-20220326223546130

6) 教师使用脚本批改指定格式的作业

在Linux系统下启动grade-calculate.sh脚本

image-20220326223600755

可以看到自动批改后的交作业名单

image-20220326223615029

因为stu3没有按照格式提交作业,所以系统没有计算他的成绩

7) 教师手动查看学生作业并批改

教师可以查看学生的作业

image-20220326223637470

看完以后,可以手动输入stu3的成绩

image-20220326223654370

8) 学生查看成绩与答案

stu1进入文件夹grade中可以查看grade.txt从而看到自己的成绩

image-20220326223706888

也可以查看correct.txt查看答案

image-20220326223724761

9) 教师上传学习资料

教师可以将学习资料上传到learning文件夹下

image-20220326223754277

10) 学生下载学习资料

stu1进入文件夹learning中可以下载学习资料

image-20220326223812645

无法上传学习资料

image-20220326223825038

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/963538
推荐阅读
相关标签