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](file:///\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](file:///\Samba)服务器的ip地址

然后通过账号,密码登录

5. 总结

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

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

5.2存在的问题和改进思路

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

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

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

Linux教学资源服务器构建相关推荐

  1. Linux常用的服务器构建

    Linux常用的服务器构建 一.ftp服务器 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控 ...

  2. 高性能Linux服务器构建实战 服务器安全运维

    文章目录 1. 安全运维 1.1 账户和登录安全 1.1.1 用户和用户组管理 1.1.2 系统服务管理 1.1.3 登录密码安全管理 1.1.4 用户root权限管理 1.1.5 系统欢迎页面管理 ...

  3. 《高性能Linux服务器构建实战》封面照出炉

    今天收到了编辑发过来的新书<高性能Linux服务器构建实战>封面初图,总体感觉机工的封面设计简洁.大方.时尚.沉稳,很符合技术类书籍的风格,在同一个设计样式下,编辑给出了橙色.蓝色.深绿三 ...

  4. Linux入门第二弹!Xshell、Xftp、tomcat的Linux版本、双X的教学资源!

    Linux入门第二弹!Xshell.Xftp.tomcat的Linux版本.双X的教学资源! 我们可以通过Xshell和Xftp进行简单的,远程连接Linux系统.并且可以使用图形化界面快捷的进行文件 ...

  5. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》...

    优化Linux内核参数/etc/sysctl.conf  sysctl  <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...

  6. linux 压缩权限,linux的基本操作(归档压缩,用户、权限管理,远程服务器构建和vi编辑器)...

    linux的压缩归档是这一周最开始学习的一组命令,下面的是我总结的关于压缩归档的知识点 在压缩和归档时,要注意文件的扩展名一定要记得加,还有就是扩展名的格式,要对应好,否者就没法正常的进行. 还学习了 ...

  7. 构建高可用linux和鸟哥,构建高可用Linux服务器

    <构建高可用Linux服务器(第3版)>是Linux运维领域公认的经典畅销书,是国内51CTO.IT168等知名网站和多位资深运维专家共同推荐的运维工程师必备的工具书! "酒哥& ...

  8. 《高性能Linux服务器构建实战Ⅱ》一书纠错汇总(12月30日更新)

    以下是<高性能Linux服务器构建实战Ⅱ>一书的编写或者排版错误说明,如果发现有相关错误信息,我会陆续在这里发布出来,也希望大家能把自己发现的错误留言给我,谢谢读者们的支持!你们的支持是我 ...

  9. arm学习笔记005之Linux平台下TFTP服务器构建

    TFTP(Trivial File Transfer Protocol,简单的文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传 ...

最新文章

  1. 打工人的一把辛酸泪,网站提现为啥多于800要扣20%的税?我想这些东西你需要明白
  2. PlantUML时序图
  3. Java框架学习顺序是哪些?
  4. MySQL中的BLOB类型
  5. c语言编程微信公众号图片直播,如何以图片的形式在微信公众号文章中添加小程序...
  6. WINHEX的比较、同步功能加上NTFS对稀疏文件的支持
  7. 阿里开发规范文档_华为阿里等技术专家15年开发经验总结:SSM整合开发实战文档...
  8. [线性代数]Note4--A的LU分解转置-置换-向量空间
  9. 数据结构的基本概念和抽象数据类型
  10. 建筑工程响应式网站模板
  11. 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?
  12. 95-32-015-ChannelPipeline-DefaultChannelPipeline
  13. 面向对象程序设计中“超类”和“子类”概念的来历
  14. 笔记5 | 监听scroollview、listview、gridview页面滑动,判断是否滑动到顶部以及底部...
  15. 计算机组成原理实验箱连接显示输出,计算机组成原理实验箱介绍.ppt
  16. python学习笔记(十二)-- if __name__ == '__main__'
  17. 【工业大数据】35页PPT讲解:工业大数据特点、价值及其计算
  18. 计算机PS怎么做地图怎么改色,ps颜色快捷键,ps调整颜色模式和替换改色
  19. edittext 内容长度
  20. 大公司用的企业网盘哪个好

热门文章

  1. linux 触摸屏驱动课程设计,linux驱动编写(触摸屏驱动)
  2. flash 与CODE memory ,ROM与Xdata
  3. Linux C应用编程-1-文件IO
  4. 服务器在局域网联机中显示,网络版局域网内如何连接设置多台电脑联机操作?...
  5. 中小企业智能化进销存管理模式
  6. Element UI中MessageBox标准用法
  7. 服务器安全维护的七大方案
  8. jtitle=Reactions Weekly,2013MBA联考英语试卷(附答案) 2
  9. cloudmaker一个云架构的画图工具也支持自动化部署,界面清爽功能好用
  10. 李航《统计学习方法》系列Python实现