linu课程总结报告.doc
Linux入门课程报告班级: 物联13本1 学号: 0000000000 姓名: * * 目录1Linux基础31.1 linux的发展过程31.2 linux版本简介31.3 选择linux版本的理由32文件系统管理42.1 linux文件基础知识42.2 常用管理命令53用户管理133.1 用户管理基础知识133.2 常用管理命令134磁盘管理154.1 磁盘管理基础知识154.2 常用管理命令155VI的使用185.1 vi基础知识185.2 常用子命令186进程管理206.1 进程管理基础知识206.2 常用管理命令217服务器管理237.1 linux常用服务器及作用238学习总结251 Linux基础1.1 linux的发展过程1969年Ken Thompson用汇编语言写出一组内核程序,同时还包括一些内核工具程序,以及一个小的文件系统。这就是UNIX的原型。这个系统有两个重要的概念:所有的程序或系统装置都是文件;不管构建编辑器还是附属文件,目的是有效地完成目标。1973年UNIX正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核。1977年,重要的UNIX分支BSD诞生。是由柏克莱大学的Bill Joy修改,同时他也是Sun公司的创办者。1979年,重要的System V架构与版权声明,在第七版的UNIX中,特别提到“不可对学生提供源代码”。1984年,x86架构的Minix操作系统诞生。谭宁邦教授在1984年开始编写内核程序,到1986年完成,并于次年出版Minix相关书籍,同时与新闻组BBS和News相结合。1984年,GUN项目与FSF基金会成立。1984年史托曼开始GNU项目,目的是创建一个自由、开放的UNIX操作系统。1988年,开始图形接口XFree86项目。1991年,芬兰大学生Linus Torvalds针对386机器编写了新的操作系统,就是现在的Linux操作系统。1.2 linux版本简介用于企业环境:Red Hat的RHEL,Novell的SuSE。用于个人服务器:CentOS用于桌面计算机:Fedora,Ubuntu1.3 选择linux版本的理由在此选择Ubuntu系统作为演示系统。Ubuntu的优势:全面的软件更新 :Ubuntu却有一个全面的软件更新系统。因为Ubuntu有一个应用程序库,应用程序库里的第三方应用应用都是经过Canonical公司测试并能运行于Ubuntu操作系统上的。集成的应用商店:从用户角度来看,Ubuntu的软件库很像iPhone应用商店或Android Market,您只需把它打开,通过不同目录浏览或搜索你要的应用,然后下载那些你想要的。稳定的操作系统;免费或少许的费用,安全性、漏洞的快速修补,多任务、多用户的特点,比较不耗资源的系统,用户与用户组的规划,适合小内核程序的嵌入式系统,整合度佳且多的图形用户界面等。2 文件系统管理2.1 linux文件基础知识Linux文件系统管理方式、常见目录及作用。 各个目录说明如下:/ Linux文件系统的入口,也是处于最高一级的目录;/bin 基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。做为基础系统所需要的最基础的命令就是放在这里。/boot Linux的内核及引导系统程序所需要的文件,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;/dev 设备文件存储目录,比如声卡、磁盘./etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;/home 普通用户家目录默认存放目录;/lib 库文件存放目录/media 即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom的目录。这个只有在最新的发行套件上才有,比如Fedora Core 4.0 5.0 等。可以参看/etc/fstab的定义;/misc 未归类的杂乱文件/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom。/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在FedoraCore 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure -prefix=/opt/目录 。/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见/etc/fstab 。/root Linux超级权限用户root的家目录;/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。/usr 这个是系统存放程序的目录,/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行; 当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin; 有时/usr/bin中的文件是/usr/local/bin的链接文件;/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。/usr/lib 和/lib 目录相似,是库文件的存储目录;/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,是用户都共用的吧。/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;/var/log 系统日志存放,分析日志要看这个目录的东西。2.2 常用管理命令ls命令及用法命令名:ls作用:ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。常用选项及作用:-a 列出目录下的一切文件,包含以 . 最初的隐含文件。-m 横向输出文件名,并以“,”作分格符。-R 列出一切子目录下的文件。-l 列出文件的具体信息。-s 在每个文件名后输出该文件的大小。man命令及用法命令名:man作用:man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。常用选项及作用:-d:不要真的显示联机手册,只显示除错讯息。cat命令及用法命令名:cat作用:主要功能是用来显示文件,依次读取其后所致文件的内容并将其输出到标准输出设备上。另外,还能够用来连接两个或多个文件,形成新的文件。常用选项及作用:> filename:创建文件,Ctrl+c 保存并退出。 v:用一种特殊形式显示控制字符,LFD与TAB除外。E:在每行的末尾显示一个$字符,必须与-v一起使用。more命令及用法命令名:more作用:more查看文件会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。常用选项及作用:-p:显示下一屏之前先清屏。i:f,在命令执行过程中,显示完一屏信息后,等待用户输入,表示显示文件的文件名和行数:rm命令:命令名:rm作用:删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。常用选项及作用:-f:忽略不存在的文件,不给出提示-r:指示rm将参数中列出的全部目录和子目录均递归地删除。cp命令及用法命令名:cp作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。常用选项及作用:-f:强行复制文件或目录,不论目的文件或目录是否已经存在。-p:保留源文件或目录的属性,包括所有者、所属组、权限与时间。-v:显示执行过程。mv命令及用法:命令名:mv作用:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。常用选项及作用:-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖。-b:覆盖之前先备份。mkdir命令及用法命令名:mkdir作用:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。常用选项及作用:chomd命令及用法命令名:chmod作用:用于改变文件或目录的访问权限。包含两种用法:第一种,包含字母和操作符表达式的文字设定法;第二种,包含数字的数字设定法。常用参数及用法:文字设定法:chmod a +/-/= mode filenamechmod 权限 filenamechown命令及作用命令名:chown作用:用来更改某个文件或目录的属主和属组。常用参数及作用:-R:把附属的所有文件全都更改gzip命令及用法命令名:gzip作用:gzip压缩利用Lempel-Ziv算法,与之相关的命令有:gzip压缩,gunzip解压缩和zcat解压并输出到标准输出设备。压缩之后会删除源文件。常用参数及作用:-a :使用ASCII文字模式。gunzip命令及用法命令名:gunzip作用:gunzip是gzip的逆过程,解压缩指定的目标文件。常用参数及作用:-a :使用ASCII文字模式。bzip2命令及用法命令名:bzip2作用:同gzip常用参数及作用:-k:保留源文件tar命令及用法命令名:tar作用:tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。常用参数及作用:-c:创建新的备份-f:指定备份文件名-x:还原tar包-f:指定备份文件名zip命令及用法命令名:zip作用:将一般的文件或者目录进行压缩或者解压,默认生成以“.zip”为后缀的压缩包。zip命令类似于Windows中的winzip压缩程序。常用参数及作用:-r:递归压缩,将指定目录下的所有文件以及子目录全部压缩;-m:将文件加入压缩文件压缩后,删除原始文件,即把文件移到压缩文件中。unzip命令及用法命令名:unzip作用:可解压zip文件常用参数及作用:-t 测试压缩文件有无损坏,并不解压3 用户管理3.1 用户管理基础知识Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个帐号,然后以这个帐号的身份进入系统。 用户的帐号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个 用户帐号都拥有一个惟一的用户名和用户口令。用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录。/etc/passwd 保存用户账号信息 /etc/shadow 保存用户密码信息 /etc/group 保存组账号文件信息 /etc/gshadow 保存组密码信息用户分为:root用户、虚拟用户、真实用户。 1、root用户 2、虚拟用户:不具有登陆系统功能,是系统运行的必须用户。 3、真实用户:具有登陆系统功能,由root用户创建用户组分为:基本组,附加组。 基本组:是用户创建文件或者目录,默认属于基本组。 附加组:可以通过系统命令来附加到现有的组中。3.2 常用管理命令useradd命令及用法命令名:useradd作用:为Linux系统添加用户帐号。常用选项及作用:-m:创建用户主文件夹 -s:新用户的默认shellpasswd:创建密码。su切换用户命令及用法命令名:su作用:su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。常用选项及作用:-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。usermod命令及用法命令名:usermod作用:修改系统帐户文件来反映通过命令行指定的变化。常用选项及作用:-L/-U :锁定账号密码/解除锁定-g<群组> :修改用户所属的群组。groupadd命令及用法命令名:groupadd作用:groupadd命令用于将新组加入系统。常用选项及作用:g gid:指定组ID号。创建组id为456的lala groupdel命令及用法命令名:groupdel作用:groupdel命令用于删除系统中的分组。组中有用户必须先删除用户才可以删除组。常用选项及作用:4 磁盘管理4.1 磁盘管理基础知识新的磁盘,在linux系统下分区时,可以有1-4个主分区或扩展分区(以编号1-4表示),这些分区的空间加起来如果小于该硬盘的大小,那么剩下的未分区的空间将会丢失不被操作系统识别了。 linux系统下最多可以有3个扩展分区,在扩展分区可以创建逻辑分区, 逻辑分区SCSI硬盘 最多 16 个,IDE硬盘 最多 63 个。分区表示法:目前硬盘接口主要有IDE和SCSI两种,IDE接口速度虽然不如SCSI接口,但价格低廉,主要用于抵挡服务器和工作站;SCSI接口具有应用范围广,多任务,带宽大,CPU占用率低,以及支持热插拔等优点,其价格较高,主要应用于中,高端服务器和高档工作站中。主板上有2个ide接口ide1和ide2,每个接口可以接2个ide硬盘,一个主盘一个从盘,分别命名为:ide1接口的主盘:/dev/hda,ide1接口的从盘:/dev/hdb,ide2接口的主盘:/dev/hdc,ide2接口的从盘:/dev/hdd;SCSI接口可以接16个SCSI硬盘,分别命名为:/dev/sda,:/dev/hdb.如果硬盘是ide硬盘,其分区使用hd表示,hda表示第一个ide硬盘,hdb表示第2个ide硬盘,hda1-4表示第一个ide硬盘的主分区或者逻辑分区,hda5开始表示第一个ide硬盘的逻辑分区。 如果是SCSI硬盘,则将hd改为sd,其余是一样的。系统需要从硬盘读写数据时,需要以下步骤:应用程序向(系统库)系统接口调用发起读写请求,系统接口调用将用户请求转译到虚拟文件系统,虚拟文件系统按特定格式对硬盘进行操作。硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c ;x表示的数字 1、2、3 ;hd大多是IDE硬盘;sd大多是SCSI或移动存储;引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;Start (开始):表示的一个分区从X cylinder(磁柱)开始;End (结束):表示一个分区到 Y cylinder(磁柱)结束。4.2 常用管理命令mount命令及其用法命令名:mount作用:查看磁盘挂载情况常用命令及作用:fdisk命令及参数命令名:fdisk作用:查看磁盘的分区情况常用参数及作用:-l :列出全部的分区df命令及用法命令名:df作用:查看磁盘使用情况常用参数及作用:-h :显示更易读的信息fsck命令及用法命令名:fsck作用:检查和修复磁盘常用参数及作用:-a :自动修复检查到的有问题的扇区。-n:只检测,不恢复。-c:检测坏块quota命令及用法命令名:quota作用:查看用户、组磁盘使用情况常用参数及作用:quotaon命令及用法命令名:quotaon作用:启用磁盘配额常用参数及作用: quotaoff命令及用法命令名:quotaoff作用:关闭磁盘配额常用参数及作用:5 VI的使用5.1 vi基础知识vi编辑器通常被简称为vi,而vi又是visual editor的简称1 。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜单,只有命令,且命令繁多。vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。Vi也是Linux中最基本的文本编辑器。基本上vi可以分为三种状态,分别是命令模式(command mode)插入模式(Insert mode)底行模式(last line mode)1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按ESC键可回到命令行模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。5.2 常用子命令set number:显示vi中的行号i命令:在光标当前位置的前面输入新的字符;l命令:移动到当前行的行首;a命令:在光标当前位置的后面输入新的字符;o命令:在光标所在的下一行新开一行;x命令:删除光标处的字符,在之前加入数字n,则删除从光标前面那个字符开始向左n个;dd命令:删除一整行字符;u命令:恢复到未编辑前的状态:初始状态:编辑状态:撤销结果:.命令:重复上一步操作的命令;zz(:x)命令:保存文件并退出vi;:wq命令:先保存,并退出vi。gcc命令及作用命令名:gcc作用:多平台编译器常用参数及作用:-o:指定目标名称,不指定则默认为a.out运行编译之后的程序:path/fielname6 进程管理6.1 进程管理基础知识进程管理(英语:Process management)是操作系统的功能之一,特别是多任务处理的状况下,这是必要的功能。操作系统将资源分配给各个进程,让进程间可以分享与交换信息,保护每个进程拥有的资源,不会被其他进程抢走,以及使进程间能够同步。为了达到这些要求,操作系统为每个进程分配了一个数据结构,用来描述进程的状态,以及进程拥有的资源。操作系统可以通过这个数据结构,来控制每个进程的运作。linux操作系统包括如下3种不同类型的进程,每种进程都有其自己的特点和属性。(1) 交互进程:由shell启动的进程。可在前台运行,也可以在后台运行。(2) 批处理进程:这种进程和终端没有联系,是一个进程序列。(3) 守护进程:linux系统启动时的进程,并在后台运行。进程一般分为3种基本状态:运行态、就绪态和阻塞态。就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。进程状态变迁图 一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。(1) 就绪执行处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。(2) 执行就绪处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。(3) 执行阻塞正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。(4) 阻塞就绪处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。6.2 常用管理命令at命令及用法-V:将标准版本号打印到标准错误中。ps命令及用法命令名:ps作用:ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。常用参数及作用:-l:显示详细信息-u:以用户的格式显示top命令及用法命令名:top作用:TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。按”P”键 按CPU使用时间排序 按”M”键 按内存使用多少排序 按”T”键 按执行时间多少排序 按”u”键 监视特定用户 按”K”键 删除进程常用参数及作用:-i:使top不显示任何闲置或者僵死进程。-s : 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。kill命令及用法命令名:kill作用:Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。常用参数及作用:-l: 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称kill pid7 服务器管理7.1 linux常用服务器及作用linux系统因为其稳定性而受到市场好评。因此用来做服务器再合适不过。常用的服务器服务包括WWW服务器、ftp服务器、mail服务器和dns服务器等。WWW服务器:Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性注 1。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将PerlPython等解释器编译到服务器中。Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python,Tcl, 和PHP。流行的认证模块包括mod_access,mod_auth和mod_digest。其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite实现),定制日志文件(mod_log_config),以及过滤支持(mod_include和mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。FTP服务器:文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议。它属于网络传输协议的应用层。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登陆进程。vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等特点:vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为不可信任的要求来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。Mail服务器sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器, 并且通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者查看自己的电子信箱。 显然,邮件传输是从服务器到服务器的,而且每个用户必须拥有服务器上存储信息的空间(称为信箱)才能接受邮件(发送邮件不受这个限制)。可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件缓冲或者 提交给最终投递程序。有许多的程序可以作为信件传输代理,但是sendmail是其中最重要的一个,事实证明它可以支持数千甚至更多的用户,而且占用的系统资源相当少。不过,sendmail的配置十分复杂,因此,也有人使用另外的一些工具,如qmail、postfix等等。当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务器,这是通过DNS服务实现的。例如一封邮件的目标地址是ideal,那么sendmail首先确定这个地址是用户名(ideal)+机器名()的格式,然后,通过查询DNS来确定需要把信件投递给某个服务器。DNS服务器DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS服务器询问,依此得到答案之后,将收到的答案存起来,并回答客户。DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到此服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端。DNS系统中,常见的资源记录类型有:主机记录(A记录):RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。别名记录(CNAME记录): RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。IPv6主机记录(AAAA记录): RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。服务位置记录(SRV记录): RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。NAPTR记录:RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。DNS通过允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。任何一个使用IP的计算机网络可以使用DNS来实现他自己的私有名称系统。尽管如此,当提到在公共的Internet DNS系统上实现的域名时,术语“域名”是最常使用的。这是基于504个全球范围的“根域名服务器”(分成13组,分别编号为A至M)1。从这504个根服务器开始,余下的Internet DNS命名空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。8 学习总结学习linux也有一段时间了,据我现在所了解到的情况是:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。了解到linux的历史可知,linux 是推动开源项目不可或缺的一部分。正是因为linux系统的开发,才让开源社区丰富起来,让更多的人逃脱了技术的禁锢。但是开源并不意味着免费。也正是因为开源协议,linux才开始