linux上像服务一样启动linux运行python程序序,开机自动启动,能够start,stop,restart,status等?

developerWorks 社区
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具
比如 inotify-sync(文件系统安全监控软件)、 glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控。
本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写。
, 系统管理员, 中科思密达有限公司
曹江华,毕业于工科大学机电一体化专业,从事 CAD 设计。后从事小型数据库的应用。1999 年开始从事构建网络、管理维护、数据库管理工作。关注开放系统和网络安全。出版多本 Unix/Linux 安全管理书籍。
Python 版本说明
Python 是由 Guido van Rossum 开发的、可免费获得的、非常高级的解释型语言。其语法简单易懂,而其面向对象的语义功能强大(但又灵活)。Python
可以广泛使用并具有高度的可移植性。本文 Linux 服务器是 Ubuntu 12.10, Python 版本 是 2.7 。如果是 Python 3.0 版本的语法上有一定的出入。另外这里笔者所说的 Python 是 CPython,CPython 是用 C 语言实现的 Python 解释器,也是官方的并且是最广泛使用的 Python 解释器。除了 CPython 以外,还有用 Java 实现的 Jython 和用.NET 实现的 IronPython,使 Python 方便地和 Java 程序、.NET 程序集成。另外还有一些实验性的 Python 解释器比如 PyPy。CPython 是使用字节码的解释器,任何程序源代码在执行之前先要编译成字节码。它还有和几种其它语言(包括 C 语言)交互的外部函数接口。
工作原理:基于/proc 文件系统
Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc 虚拟文件系统实现的。/proc 文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/proc”),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(on the fly)改变设置(通过改变内核参数)。与其他文件系统不同,/proc 存在于内存而不是硬盘中。proc 文件系统提供的信息如下:进程信息:系统中的任何一个进程,在 proc 的子目录中都有一个同名的进程 ID,可以找到 cmdline、mem、root、stat、statm,以及 status。某些信息只有超级用户可见,例如进程根目录。每一个单独含有现有进程信息的进程有一些可用的专门链接,系统中的任何一个进程都有一个单独的自链接指向进程信息,其用处就是从进程中获取命令行信息。系统信息:如果需要了解整个系统信息中也可以从/proc/stat 中获得,其中包括 CPU 占用情况、磁盘空间、内存对换、中断等。CPU 信息:利用/proc/CPUinfo 文件可以获得中央处理器的当前准确信息。负载信息:/proc/loadavg 文件包含系统负载信息。系统内存信息:/proc/meminfo 文件包含系统内存的详细信息,其中显示物理内存的数量、可用交换空间的数量,以及空闲内存的数量等。表 1 是 /proc 目录中的主要文件的说明:表 1 /proc 目录中的主要文件的说明文件或目录名称描 述apm高级电源管理信息cmdline这个文件给出了内核启动的命令行CPUinfo中央处理器信息devices可以用到的设备(块设备/字符设备)dma显示当前使用的 DMA 通道filesystems核心配置的文件系统ioports当前使用的 I/O 端口interrupts这个文件的每一行都有一个保留的中断kcore系统物理内存映像kmsg核心输出的消息,被送到日志文件mdstat这个文件包含了由 md 设备驱动程序控制的 RAID 设备信息loadavg系统平均负载均衡meminfo存储器使用信息,包括物理内存和交换内存modules这个文件给出可加载内核模块的信息。lsmod 程序用这些信息显示有关模块的名称,大小,使用数目方面的信息net网络协议状态信息partitions系统识别的分区表pcipci 设备信息scsiscsi 设备信息self到查看/proc 程序进程目录的符号连接stat这个文件包含的信息有 CPU 利用率,磁盘,内存页,内存对换,全部中断,接触开关以及赏赐自举时间swaps显示的是交换分区的使用情况uptime这个文件给出自从上次系统自举以来的秒数,以及其中有多少秒处于空闲version这个文件只有一行内容,说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息下面本文的几个例子都是使用 Python 脚本读取/proc 目录中的主要文件来实现实现对 Linux 服务器的监控的 。使用 Python 脚本实现对 Linux 服务器的监控对于 CPU(中央处理器)监测脚本 1 名称 CPU1.py,作用获取 CPU 的信息。清单 1.获取 CPU 的信息#!/usr/bin/env Python
from __future__ import print_function
from collections import OrderedDict
import pprint
def CPUinfo():
''' Return the information in /proc/CPUinfo
as a dictionary in the following format:
CPU_info['proc0']={...}
CPU_info['proc1']={...}
CPUinfo=OrderedDict()
procinfo=OrderedDict()
nprocs = 0
with open('/proc/CPUinfo') as f:
for line in f:
if not line.strip():
# end of one processor
CPUinfo['proc%s' % nprocs] = procinfo
nprocs=nprocs+1
procinfo=OrderedDict()
if len(line.split(':')) == 2:
procinfo[line.split(':')[0].strip()] = line.split(':')[1].strip()
procinfo[line.split(':')[0].strip()] = ''
return CPUinfo
if __name__=='__main__':
CPUinfo = CPUinfo()
for processor in CPUinfo.keys():
print(CPUinfo[processor]['model name'])简单说明一下清单 1,读取/proc/CPUinfo 中的信息,返回 list,每核心一个 dict。其中 list 是一个使用方括号括起来的有序元素集合。List 可以作为以 0 下标开始的数组。Dict 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系。OrderedDict 是一个字典子类,可以记住其内容增加的顺序。常规 dict 并不跟踪插入顺序,迭代处理时会根据键在散列表中存储的顺序来生成值。在 OrderedDict 中则相反,它会记住元素插入的顺序,并在创建迭代器时使用这个顺序。可以使用 Python 命令运行脚本 CPU1.py 结果见图 1
# Python CPU1.py
Intel(R) Celeron(R) CPU E3200
@ 2.40GHz图 1.运行清单
1也可以使用 chmod 命令添加权限收直接运行 CPU1.py
#chmod +x CPU1.py
# ./CPU1.py对于系统负载监测脚本 2 名称 CPU2.py,作用获取系统的负载信息清单 2 获取系统的负载信息#!/usr/bin/env Python
def load_stat():
loadavg = {}
f = open("/proc/loadavg")
con = f.read().split()
loadavg['lavg_1']=con[0]
loadavg['lavg_5']=con[1]
loadavg['lavg_15']=con[2]
loadavg['nr']=con[3]
loadavg['last_pid']=con[4]
return loadavg
print "loadavg",load_stat()['lavg_15']
简单说明一下清单 2:清单 2 读取/proc/loadavg 中的信息,import os :Python 中 import 用于导入不同的模块,包括系统提供和自定义的模块。其基本形式为:import 模块名 [as 别名],如果只需要导入模块中的部分或全部内容可以用形式:from 模块名 import *来导入相应的模块。OS 模块
os 模块提供了一个统一的操作系统接口函数,os 模块能在不同操作系统平台如 nt,posix 中的特定函数间自动切换,从而实现跨平台操作。
可以使用 Python 命令运行脚本 CPU1.py 结果见图 2
# Python CPU2.py
图 2.运行清单
2对于内存信息的获取
脚本 3 名称 mem.py,作用是获取内存使用情况信息
清单 3 获取内存使用情况#!/usr/bin/env Python
from __future__ import print_function
from collections import OrderedDict
def meminfo():
''' Return the information in /proc/meminfo
as a dictionary '''
meminfo=OrderedDict()
with open('/proc/meminfo') as f:
for line in f:
meminfo[line.split(':')[0]] = line.split(':')[1].strip()
return meminfo
if __name__=='__main__':
#print(meminfo())
meminfo = meminfo()
print('Total memory: {0}'.format(meminfo['MemTotal']))
print('Free memory: {0}'.format(meminfo['MemFree']))
简单说明一下清单 3:清单 3 读取 proc/meminfo 中的信息,Python 字符串的 split 方法是用的频率还是比较多的。比如我们需要存储一个很长的数据,并且按照有结构的方法存储,方便以后取数据进行处理。当然可以用 json 的形式。但是也可以把数据存储到一个字段里面,然后有某种标示符来分割。
Python 中的 strip 用于去除字符串的首位字符,最后清单 3 打印出内存总数和空闲数。
可以使用 Python 命令运行脚本 mem.py 结果见图 3。
# Python mem.py
图 3.运行清单 3 对于网络接口的监测
脚本 4 名称是 net.py,作用获取网络接口的使用情况。
清单 4 net.py 获取网络接口的输入和输出#!/usr/bin/env Python
import time
import sys
if len(sys.argv) & 1:
INTERFACE = sys.argv[1]
INTERFACE = 'eth0'
STATS = []
print 'Interface:',INTERFACE
ifstat = open('/proc/net/dev').readlines()
for interface in
if INTERFACE in interface:
stat = float(interface.split()[1])
STATS[0:] = [stat]
ifstat = open('/proc/net/dev').readlines()
for interface in
if INTERFACE in interface:
stat = float(interface.split()[9])
STATS[1:] = [stat]
while True:
time.sleep(1)
rxstat_o = list(STATS)
RX = float(STATS[0])
RX_O = rxstat_o[0]
TX = float(STATS[1])
TX_O = rxstat_o[1]
RX_RATE = round((RX - RX_O)/)
TX_RATE = round((TX - TX_O)/)
print RX_RATE ,'MB
',TX_RATE ,'MB'
简单说明一下清单 4:清单 4 读取/proc/net/dev 中的信息,Python 中文件操作可以通过 open 函数,这的确很像 C 语言中的 fopen。通过 open 函数获取一个 file object,然后调用 read(),write()等方法对文件进行读写操作。另外 Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。最后清单 4 打印出网络接口的输入和输出情况。
可以使用 Python 命令运行脚本 net.py 结果见图 4
#Python net.py
图 4.运行清单
4监控 Apache 服务器进程的 Python 脚本
Apache 服务器进程可能会因为系统各种原因而出现异常退出,导致 Web 服务暂停。所以笔者写一个 Python 脚本文件:
清单 5 crtrl.py 监控 Apache 服务器进程的 Python 脚本#!/usr/bin/env Python
import os, sys, time
while True:
time.sleep(4)
ret = os.popen('ps -C apache -o pid,cmd').readlines()
if len(ret) & 2:
print "apache 进程异常退出, 4 秒后重新启动"
time.sleep(3)
os.system("service apache2 restart")
print "Error", sys.exc_info()[1]
设置文件权限为执行属性(使用命令 chmod +x crtrl.py),然后加入到/etc/rc.local 即可,一旦 Apache 服务器进程异常退出,该脚本自动检查并且重启。
简单说明一下清单 5 这个脚本不是基于/proc 伪文件系统的,是基于 Python 自己提供的一些模块来实现的 。这里使用的是 Python 的内嵌 time 模板,time 模块提供各种操作时间的函数。
在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控。本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 、系统负载、内存和 网络使用情况的监控脚本的编写方法。
参考资料 :介绍了 list 类,并演示了众多方法中的一些方法,了解如何使用这些方法简化困难的编程任务。
:该书介绍许多 Unix 和 Linux 系统管理工具。
:该书对 Python 标准库中的一百多个模块进行了生动的讲解。
在 寻找为 Linux 开发人员(包括 )准备的更多参考资料。加入 。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
免费下载、试用软件产品,构建应用并提升技能。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=LinuxArticleID=958271ArticleTitle=用 Python 脚本实现对 Linux 服务器的监控publish-date=34学习情境6Linux服务与安全
上亿文档资料,等你来发现
34学习情境6Linux服务与安全
学习情境6Linux服务与安全;任务1服务管理;6.1.1任务要求与目的;作为一个网络管理员,需要对服务器进行配置,在服务;本任务的主要目的是让学生掌握Linux服务的种类;6.1.2背景知识;Linux继承UNIX的稳定性和安全性等优良特点;表6.1Linux中常用的网络服务器软件;服务类型Web服务Mail服务DHCP服务FTP;表6.2与网络相关的服务
学习情境6 Linux服务与安全 任务1 服务管理 6.1.1任务要求与目的 作为一个网络管理员,需要对服务器进行配置,在服务器使用过程中还经常需要进行维护和管理。现在假定你在对Web服务器进行维护,需要你启动相关的httpd服务。 本任务的主要目的是让学生掌握Linux服务的种类及服务管理。 6.1.2 背景知识 Linux继承UNIX的稳定性和安全性等优良特点,并加上适当的服务器软件,只需要非常低的成本就能满足大多数的网络应用。目前越来越多的企业正基于Linux操作平台架设网络服务器,提供各种网络服务。运行于Linux系统下的常用网络服务软件如表6.1所示。 表6.1 Linux中常用的网络服务器软件 服务类型 Web服务 Mail服务 DHCP服务 FTP服务 DNS服务 Samba服务 数据库服务 Proxy服务 软件名称 Apache Sendmail、Qmail Dhcp Vsftpd、Wu-ftpd Bind Samba MySQL, PostgreSQL Squid 网络服务器软件安装配置后,通常运行在后台的守护进程(Daemon)来执行每一种网络服务器软件。每一种网络服务器软件对应着一个守护进程。这些守护进程又被称为服务,系统开机之后就在后台运行,时刻监听客户端的服务请求。一旦客户端发出服务请求,守护进程就为其提供相应的服务。表6.2列出与网络相关的服务。 表6.2与网络相关的服务 服务名 httpd dhcpd iptables named network sendmail smb 服务功能说明 Apache服务器的守护进程,用于提供WWW服务 DHCP服务器的守护进程,用于提供DHCP(动态用于提供iptables防火墙服务 DNS服务器的守护进程,用于提供域名解析服务 激活/停用各网络接口 Sendmail服务器的守护进程,用于提供邮件收发服务 可启动和关闭smbd和nmbd程序,以提供SMB网络服务 vsftpd mysqld postgresql Vsftpd 服务器的守护进程,用于提供文件传输服务 MySQL服务器的守护进程,用于提供数据库服务 PostgreSQL服务器的守护进程,用于提供数据库服务 只要是Linux系统,不管使用的发行版本、网络配置以及系统全局设置有什么不同,都有如下几个核心系统服务: init、inetd、syslog和cron。这些服务提供的功能比较简单,但同时它们也是其他操作的基础。 6.1.3 任务实现参考 6.1.3.1 图形界面下的任务实现 在图形界面下实现上述任务的步骤为: 第一步:超级用户在桌面环境下依次单击“主菜单”“系统设置”“服务器设置”“服务”,打开“服务配置”窗口,如图6.1所示。 第二步:“服务配置”窗口的左侧显示当前系统能提供的所有服务,安装服务器软件后才会出现相应的服务。复选框被选中的那些服务在系统启动时将自动运行。从左侧选中一种服务,右侧“描述”栏显示所选服务的功能信息,“运行”栏显示所选服务的运行状态和进程号信息。 第三步:选中某一服务后,单击工具栏中的“开始”、“停止”或“重启”按钮,可改变本次运行中服务的运行状态。此处选中“httpd”,并单击工具栏中的 “重启”按钮。如果同时勾选服务名称前的复选框可设置系统开机时是否启动此项服务,但只在下一次启动时才能生效。 第四步:修改完成后单击“文件”菜单,选择“保存修改”命令。
图6.1服务配置窗口 6.1.3.2 利用shell命令实现任务 利用shell命令实现上述任务相对简单。 [root@ whppc root]# service
httpd restart 6.1.4 知识扩展 6.1.4.1服务的启动脚本 Linux的服务分为独立运行的服务和受xinetd服务管理的服务两大类,可以通过chkconfig
- -list命令查看哪些服务是独立运行的服务,哪些服务是受xinetd服务管理的。xinetd本身也是一个独立运行的服务,它主要负责管理系统中不频繁使用的服务,当这些服务被请求时,由xinetd服务负责启动运行,完成服务请求后,再结束该服务的运行,以减少对系统资源的占用。 在Linux中,每个服务器都会有相应的服务器启动脚本,该脚本可用于实现启动服务、重启服务、停止服务等功能。 所有的服务器启动脚本都放在/etc/rc.d/init.d 目录中,如图6.2所示。脚本名称与服务名称相对应。 /etc/rc.d/rc.local文件相当于DOS系统中的autoexec.bat文件的功能,放入该文件中的脚本或命令将自动被执行。可通过ls /etc/rc.d命令查看到该目录中的文件,其中包括rc.local文件,如图6.2所示。
图6.2 脚本文件名 系统的各运行级别有独立的脚本目录,其目录名分别为rc0.d~rc6.d,当系统启动或进入某运行级别时,对应脚本目录中用于启动服务的脚本将自动被运行,当离开该级别时,用于停止服务的脚本也将自动运行,以结束在该级别中运行的这些服务。 6.1.4.2 服务的启动与停止 Linux的服务在系统启动或进入某运行级别时会自动启动或停止,另外在系统运行过程中,也可使用相应的命令来实现对某服务的启动、停止或重启服务。 1.使用service命令管理服务 service命令 格式:server 服务名 start|stop|restart 功能:启动、终止或重启指定的服务 例6.1启动Samba服务器 [root@whppc root]# service smb start 启动SMB服务:
[确定] 例6.2停止Apache服务器 [root@whppc root]# service httpd stop 停止httpd:
[确定] 例6.3 重新启动Vsftp服务器 [root@whppc root]# service vsftpd restart 关闭vsftpd:
[确定] 为vsftpd启动vsftpd:
[确定] 2.通过脚本文件启动服务 在Linux中,启动、停止或重启服务可通过执行相应的服务启动脚本来实现。用法是: [root @whppc root] /etc/rd.d/init.d/服务脚本名
start|stop|restart|status Start表示启动服务;stop表示停止服务;restart表示重该服务;status表示查询服务的启动状态。 例6.4 通过启动脚本文件重新启动network网络服务。 [root@whppc root]# /etc/rc.d/init.d/network
restart 关闭network:
[确定] 启动network:
[确定] 6.1.5 训练拓展:配置服务的启动状态 1.训练拓展任务 用ntsysv命令设置在当前系统运行级别(5:图形化界面)下自动启动crond服务;用chkconfig命令设置独立运行的vsftpd服务在2、3、5运行级别启动;启动非独立运行的rsync服务。 2.需运用的知识 在对Linux系统的管理中,经常需要设置或调整某些服务在某运行级别中自动启动或不启动,这可通过配置服务的启动状态来实现。为此,Linux提供了ntsysv和chkconfig命令来实现该功能。 ntsysv命令是一个基于文本字符界面的实用程序,操作简单、直观,但只能设置当前运行级别下各服务的启动状态。如果要设置其他运行级别下各服务的启动状态,则需要转换到相应的运行级别,然后再运行ntsysv命令来进行设置。 chkconfig命令可以设置系统中所有服务在各运行级别中的启动状态。下面分别进行介绍: (1)查看服务的启动状态 命令格式:chkconfig - - list
[服务名称] 功能:用于查看服务的启动状态。如果缺省服务名称参数,则显示所有服务的启动状态;若指定了要查看的服务,则只显示该服务的启动状态。比如要单独查看vsftpd 服务的启动状态,则命令为chkconfig - -list vsftpd。 各服务的启动状态改变后,要在系统下一次启动时才会生效。 (2)设置独立运行的服务的启动状态 命令格式:chkconfig - - level 运行级别列表
on | off | reset 功能:设置指定服务在指定运行级别中的启动状态。参数on表示设置为启动;off 为不启动;reset为恢复到系统的默认启动状态。
(3)设置非独立运行的服务的启动状态 命令格式:chkconfig
on | off | reset 功能:非独立运行的服务受xinetd服务的管理,因此不存在运行级别启动状态的问题。非独立运行的服务的启动状态改变后,需要重新启动xinetd服务,才能使设置立即生效。 通过chkconfig - - list 命令可以查看到所有的服务名称,对于显示结果中:xinetd based services:下面的服务全是独立运行的服务名。 3.具体操作 (1)用ntsysv命令设置在当前系统运行级别(5:图形化界面)下自动启动crond服务 在命令行状态下输入并执行ntsysv命令,此时将出现如图6.3所示的界面。
图6.3 设置服务的启动状态 在服务列表框中,可利用向上或向下的光标键或PageUp键或PageDown键来实现向上或向下滚动显示服务列表。 将光亮条移动到crond服务上,按空格键将对应的服务设置为自动启动,此时被选中的方括号中会显示一个“*”。如果要取消启动,则再一次空格键,此时“*”将消失,表示不设置为自动启动。 设置好后按Tab键将光亮条移动到“确定”按钮,然后按回车键退出。 (2)通过chkconfig命令设置vsftpd 服务在2、3、5运行级别启动 [root@whppc root]# chkconfig - -level 235 vsftpd on (2)通过chkconfig命令启动非独立运行的rsync服务 [root@whppc root]# chkconfig - -list rsync
off [root@whppc root]# chkconfig
rsync on [root@whppc root]# chkconfig - -list rsync rsync
on [root@whppc root]# service
restart 任务2 代理服务器与安全 6.2.1任务要求与目的 某公司面向全球开展业务,公司网络管理员小王认为公司职员,尤其是研发部的职员可能会大量访问国外网站查找资料,为了提高访问国外网站的速度,需要使用代理服务器上网,同时还要做好安全配置。具体要求如下: ? 设置代理服务器,提高访问国外web网站速度,http代理服务器的IP为159.98.35.4,端口为3128。 ? 设置Linux系统安全级别为允许FTP、WWW、DHCP、Telnet、SMTP访问。 本任务的主要目的是让学生掌握http代理服务器的设置方法及相关安全级别的设置。 三亿文库包含各类专业文献、外语学习资料、各类资格考试、幼儿教育、小学教育、中学教育、高等教育、34学习情境6Linux服务与安全等内容。 
 Linux服务器的安全设置方案_计算机硬件及网络_IT/计算机_专业资料。Linux服务器的...6、 编辑初始账户参数,以满足密码策略 编辑/etc/sadm/defadduser 需要,使用 ...  (5)培养学生的质量意识、安全意识; (6)培养学生诚实、守信、坚忍不拔的性格;...表 1 课程内容结构表 学习情景 工作任务 知识要求 了解 Linux 发展历史,掌握 ...  六、课程资源的开发与利用 ⒈教材 《Linux 安全高级应用》 ,自编书籍 ⒉参考书目 《鸟哥的私房菜 基础学习篇》鸟哥 著,人民邮电出版社 《鸟哥的私房菜 服务器...  139 6.10 DNS 服务器好了, 让大家的 Linux 也...141 6.12 如何构建安全的 BIND DNS 服务 143 6.13...学习情境2 管理linux系统... 82页 免费 ...  基于Linux 平台的邮件服务器配置与管理学习情境学习情境...公司新添加了 3 台高档服务器,基于对成本和安全性...(具体评价表见附件 3) 六、 评价(2)以学生展示...  6)用户网站的数据备份。 二、安全检测检测方面我们应该注意的是: 1)Linux 操作系统漏洞检测。定期对系统进行漏洞扫描,并模拟黑客从互联网上对网站 服务器进行渗透...  2、检测操作 grep pam_tally /etc/pam.d/system-auth 备注 4 操作系统 Linuxr 认证失败锁定要求项 required pam_env.so Linux 系统安全配置基线 4.1.6 检查...  掌握 Linux 互联网应用及网络服务器应用。 掌握 Linux C 编程与 shell 编程。 考核学生对各学习情境的掌握程度 合计 4 12 12 16 6 参考学时 6 60 学习情境...

我要回帖

更多关于 linux运行python程序 的文章

 

随机推荐