专栏首页咕咕星Linux教学资源服务器构建

Linux教学资源服务器构建

1. 需求分析

1.1 课题简介

随着计算机互联网的迅速发展,大多数学校已经实现教学的信息化,从传统的黑板教学方式转变为现阶段的多媒体教学,教学的资源,素材课件,甚至学生的作业也都实现数字化,为了实现这一功能,运用课程所学知识,构建一种基于 Linux 系统的教学资源服务器。教师可以把资源上传到服务器,供学生下载,可以把教学大纲、课件、资料都上传到服务器,上课时可以从服务器直接下载到教室电脑,学生也可以上传作业,供给老师批改,从而让教师教学更加便利。

1.2 需求分析

服务器主要实现教学资源共享以及学生作业上传两大功能,并且能针对教师和学生所用账号,对资源共享和学生作业两个目录进行权限控制,使得教师可以上传、下载、删除其资源共享和学生作业目录下的内容,而学生只能下载资源共享目录下的内容和上传作业。

2. 总体设计

2.1 账号和目录设计

每个教师应拥有一个账号用于上传和下载文件,此账号为教师私有,带密码,而每个教师对应有另一个账号,让学生使用这个账号来下载教师的课程资料和上传作业。因此,每个教师都对应两个账号,一个私有,带密码的;一个向学生公开,不带密码。

表 1 账号设计

账号类型

所属组

密码

私有账户

教师

123

公开账户

学生

123

表 2 目录设计

目录

教师权限

学生权限

资源共享

完全权限

查看、下载

学生作业

完全权限

查看、上传

2.2 权限控制方案设计

  1. 每个教师都有一个私人账号和一个公开账号,后者的密码和账号相同
  2. 每个教师都有对应的“资源共享”和“学生作业”两个目录
  3. 可通过 FTP 的方式上传和下载文件,权限设置为教师可以上传、下载、删除其资源共享和学生作业目录下的内容,而学生只能下载资源共享目录下的内容和上传作业

3. 服务器构建

3.1 基本系统配置

操作系统:Linux(Ubuntu 14.04.6 LTS)

Web服务器:apache2 (2.4.7)

FTP服务器:proftpd-basic

Samba服务器:Samba

Libtalloc2

3.1.1 软件源服务器地址修改

在路径 /etc/apt/sources.list中编辑下载源服务器

3.1.2 安装Vim

3.2 账号及其对应目录的创建

3.2.1 创建账号

防止ftp用户用终端登录

在/etc/shells上加一行/usr/sbin/nologin

3.2.2 创建目录

设置文件所属组和所属用户

学生加写作业的权限

3.3 FTP服务器安装与配置

3.3.1 软件安装

更新包信息

升级

安装proftpd

查看proftpd状态

3.3.2 服务器配置

sudo vim /etc/proftpd /proftpd.conf

限制student用户组,删除目录(RMD),删除文件(DELE) ,上传(STOR),下载(RETR)

sudo /etc/init.d/proftpd restart

重启ftp服务器

3.4 HTTP服务器安装与配置

3.4.1 软件安装

3.4.2 服务器配置

删除原有的文件,建立软连接

3.5 Samba服务器安装与配置

3.5.1 软件安装

3.5.2 服务器配置

在/etc/samba/smb.conf中配置

创建samba用户

Sudo smbpasswd –a zhangjie

重启samba sudo service sambd restart

在我的电脑中输入\192.168.239.128\zhangjie然后输入账号密码登录

3.6 shell管理程序的设计与实现

编写namefile.txt文件里面是教师的账号

编写shell.sh

4. 服务器功能测试

4.1 FTP文件传输功能测试

4.1.1 教师私人账号功能测试

教师私人账号拥有对资源共享和学生作业这两个文件夹里面的所有内容的增加和删除功能

4.1.2教师公开账号功能测试

教师的公开账号只能查看并下载共享资源里面的内容,只能上传学生作业,不能删除和下载作业

4.2 HTTP浏览共享资源功能测试

4.3 通过Samba访问共享资源功能测试

在我的电脑上方输入栏输入\Samba服务器的ip地址

然后通过账号,密码登录

5. 总结

5.1完成的任务情况和心得体会

教学资源服务器主要的功能基本实现。资源共享需要解决文件的存取、查找浏览等问题。利用FTP进行文件的传输,Web服务器建立目录浏览界面,实现了教学资源共享及学生作业上传的两大功能。通过给每个教师配置私有账号和公开账号,并针对“资源共享”和“学生作业”目录进行FTP权限控制,防止学生下载作业及破坏课程资料。由于服务器系统是基于Linux平台,系统的性能及稳定性得到很好的保证、软件安装配置简单。在使用上也非常方便,使用浏览器或FTP方式即可访问教学资源,而无需安装任何客户端软件。

5.2存在的问题和改进思路

ftp用户可以通过远程终端登录主机,存在安全隐患,可在/etc/shells上加一行/usr/sbin/nologin,新增ftp用户时,设置权限防止ftp用户通过远程终端登录。

ftp只能管理文件的上传,下载,不能管理磁盘的空间存储容量等问题,可能会出现文件过多,空间容量不足的情况,可以安装相应的存储空间管理软件,协助管理。

教师的私有账号有学生作业这个文件夹的全部权限,但是公共账号如果在学生作业上传了一个文件,那么教师的私有账号无法删除这个文件夹,只能通过后期管理员修改权限删除。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hexo-Matery主题性能优化

    原来的文章链接地址会出现一大串字符编码,不好看,而给文章生成永久链接有利于SEO,给更加美观

    咕咕星
  • jsp九大内置对象常用方法及四个作用域

    实现机制:客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息),并且每个session对象 都会有一个唯一的 sessionId...

    咕咕星
  • 在Linux系统中安装Tomcat

    可以删除里面的内容自己上传自己的网站到这个目录下,通过服务器访问。记得开启服务器端口号

    咕咕星
  • 如何实现本地代码和远程的实时同步

    我们知道在国内使用 Docker,无论是 Pull、Build 还是 Push 镜像都十分慢,因为毕竟很多源都是国外的源,下载和上传慢是必然的现象。

    崔庆才
  • 开发获取`NSURL`字符串的参数

    因为今天要获取返回的CallBack返回URL字符串后拼接的字符串 发现NSURL这个类里面没有什么API可以获取。我相信这个经常用到的东西苹果没有提供对应的接...

    君赏
  • Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件

    使用Python+tkinter开发GUI应用程序窗口,设置Label标签组件的字体、字号、样式、对齐方式、鼠标形状,并设置鼠标事件处理函数。

    Python小屋屋主
  • 印度年轻人跟中国年轻人有什么不同

    印度年轻人上班晚,政府机关和国企都是10点上班,很多IT企业是11点上班(避开和美国的时差)。

    挖数
  • 营销观点 | 关于自媒体投放,你关心的都在这里!

    ? 点击上方蓝色字关注我们~ 移动资讯时代,自媒体行业迅速发展,以大家熟知的微信公众平台来说,目前公众号数量已超2000万。由于自媒体海量的垂直兴趣粉丝,品牌...

    腾讯企点
  • 不憋大招,监控功能由你定义

    if 您的腾讯云主账号有多个子账号 then 主账号的资源对于子账号到底哪些可见? 子账号可以看到主账号的云资源吗? 子账号可以看到主账号的监控数据吗? ...

    腾讯云监控团队
  • 云平台

    根账号的权限非常大。不为根账号创建访问秘钥,攻击者就无法利用根账号的身份登录。我们可以创建子账号,为不同的子账号分配不同的权限,需要什么操作就登录对应的子账...

    宸寰客

扫码关注云+社区

领取腾讯云代金券