Linux:服务器架设篇(第三版)_第1页
Linux:服务器架设篇(第三版)_第2页
Linux:服务器架设篇(第三版)_第3页
Linux:服务器架设篇(第三版)_第4页
Linux:服务器架设篇(第三版)_第5页
已阅读5页,还剩838页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux服务器架设篇(第三版)目录TOC\h\h第一部份:架站前的进修专区\h第一章、架设服务器前的准备工作\h第二章、基础网络概念\h第三章、局域网络架构简介\h第四章、连上Internet\h第五章、Linux常用网络指令\h第六章、Linux网络侦错\h第二部分:主机的简易资安防护措施\h第七章、网络安全与主机基本防护:限制端口口,网络升级与SELinux\h第八章、路由观念与路由器设定\h第九章、防火墙与NAT服务器\h第十章、申请合法的主机名\h第三部分:局域网络内常见的服务器架设\h第十一章、远程联机服务器SSH/XDMCP/VNC/RDP\h第十二章、网络参数控管者:DHCP服务器\h第十三章、文件服务器之一:NFS服务器\h第十四章、账号控管:NIS服务器\h第十五章、时间服务器:NTP服务器\h第十六章、文件服务器之二:SAMBA服务器\h第十七章、区网控制者:Proxy服务器\h第十八章、网络驱动器装置:iSCSI服务器\h第四部分:常见因特网服务器架设\h第十九章、主机名控制者:DNS服务器\h第二十章、WWW服务器\h第二十一章、文件服务器之三:FTP服务器\h第二十二章、邮件服务器:Postfix注:原文档电子版(非扫描),需要的请下载本文档后留言谢谢。第一部份:架站前的进修专区架站需要很强的Linux基础概念以及基础网络知识,否则的话,当网络断断续续的时候,您永远也不会知道是哪里出问题!而当某个服务器软件出问题的时候,您永远也不晓得是发生了什么事情!老人家说『对症下药才有效』,随便吃药是不可能『无病强身』的!因此,对于网络服务器来说最重要的基础档案权限、程序之启动关闭与管理、Bashshell之操作与script、使用者账号的管理等等,您都必须要具备最基础的认知才行,否则,服务器真的不好碰!\h第一章、架设服务器前的准备工作最近更新日期:2011/07/14很多朋友因为自身或服务单位的需求,总是有架设各种网络服务器的时刻,这个时候大多数的前辈都会推荐他们使用Linux做为服务器架设的操作系统。但因为这些朋友很多都没有受过Linux操作系统操作方面的训练,因此总觉得反正都是操作系统,所以Linux应该也跟Windows差不多吧!那么就硬着头皮使用图形接口去设定好众多的服务器,也有可能参考网络上一些文章,即使是透过文字接口去设定,也能够很轻松的作好服务器的架设。问题是,这样的一部服务器是很容易被绑架的,而且,如果网络不通,你如何自行将问题克服(troubleshooting)?难道出问题只能无语问苍天?所以啰,除非你只是暂时需要架设网络服务器,可以请朋友或其他信息公司帮你忙,如果你本身就是信息方面的服务提供商,那鸟哥建议你在进行服务器实务设定之前,看一看这篇,试试看你到底有没有具备网络服务器的设定技能了呢?\h1.1前言:Linux有啥功能\h1.1.1只想用Linux架设服务器需要啥能力?\h1.1.2架设服务器难不难呢?\h1.2基本架设服务器流程\h1.2.1网络服务器成功联机的分析\h1.2.2一个常见的服务器设定案例分析1.2.2-\h1了解网络基础1.2.2-\h2服务器本身的安装规划与架站目的的搭配:\h全新安装1.2.2-\h3服务器本身的基本操作系统操作:\h建立账号,\h修改权限,\hQuota,\hLVM1.2.2-\h4服务器内部的资源管理与防火墙规划1.2.2-\h5服务器软件设定:学习设定技巧与开机是否自动执行1.2.2-\h6细部权限与SELinux\h1.2.3系统安全与备份处理\h1.3自我评估是否已经具有架设服务器的能力\h1.4本章习题\h1.5针对本文的建议:/viewtopic.php?t=236761.1前言:Linux有啥功能很多刚接触Linux的朋友常常会问的一句话就是:『我学Linux就是为了架设服务器,既然只是为了架设服务器,为什么我还要学习Linux的其他功能?例如:例行性工作排程、BashShell,又干嘛去认识所有的登录档等等,我又用不到!此外,既然有好用的Web接口的Server设定软件,可以简单的将网站架设起来,为什么我还要去学习vim手动的编辑一些配置文件?干嘛还需要去理解服务器的工作的原理?』上面这些话对于刚刚学会架设网站的人来说,真是替他们道出了一个新手的心声啊!不过,对于任何一个曾经有过架设公开网站的朋友来说,上面这些话,真的是会害死人!为什么呢?底下我们就来分析一下。net.qiang@1.1.1只想用Linux架设服务器需要啥能力?如果有人问你:『Linux最强大的功能是什么』?大概大家都会回答『是网络功能啊!』,接下来,如果对方再问:『所以学Linux就是为了架设服务器啰?』呵呵!这个问题可就见仁见智啰!说穿了,Linux其实就是一套非常稳定的操作系统,任何工作只要能在Linux这个操作系统上面跑,那他就是Linux可以达成的功能之一啰!所以Linux的作用实在不止于网络服务器的架设吶。举例来说,在Linux上面开发跨平台的数值模式(model)诸如大型的大气仿真模式,由于Linux的稳定与完善的资源分配功能,使得在Linux上面开发出来的程序运作的又快又稳定。此外,诸如KDE,GNOME等漂亮的图形接口,搭配诸如OpenOffice等办公室软件,Linux立刻摇身一变而成为优秀的办公室桌面计算机了(Desktop)。此外,Google制作出专门给手机系统用的Android也是以Linux为底开发的。所以说,千万不要小看了Linux的多样功能吶。不过,不管怎么说,Linux的强大网络功能确实是造成Linux能够在服务器领域内占有一席之地的重要项目。既然如此,我们就好好的来探索一下Linux的网络世界吧!首先,Linux到底可以达成哪些网络功能呢?这可就多着咯!不论是\hWWW,\hMail,\hFTP,\hDNS,或者是\hDHCP,\hNAT与\hRouter等等,Linux系统都可以达到,而且,只要一部Linux就能够达到上面所有的功能了!当然,那是在不考虑网络安全与效能的情况下,你可以使用一部Linux主机来达成所有的网络功能。但是你得要知道,『架站容易维护难』啊!更深一层来说,『维护还好、除错更难啊!』架设一个网站有什么难的?即使你完全没有摸过Linux,只要参考鸟哥的书籍或者是网站,而且一步一步照着做,包准你一个下午就可以架设完成五个以上的网络服务了!所以说,架设服务器有什么难的?但要晓得的是,这样的一个网站,多则三天,少则数小时,立刻就会被入侵了!此外,被入侵之后,或许可以藉由一些工具来帮你将root的密码救回来,可惜的是,这样的一个网站还是有被做为中继站的危险存在的!另外,如果你使用工具(例如Webmin)却怎么也架设不起来某个网站时,要怎么解决?如果你不懂该Server的运作原理与Linux系统的除错讯息,那么难道只能无语问苍天?不要怀疑这种情况的可能性,参考一下各大论坛上面的留言就可以很清楚的知道这种情况的存在有越来越明显的趋势呢!所以说,架设服务器之前还是有一些基本的技能需要学会的!而且这些技能是『一旦学会之后,真正是终身受用啊!』只要花一个学期(三~六个月)就能学会一辈子可以使用的技能,这个学习的投资报酬率真是太高了!所以,一开始的学习不要觉得苦,那真的是值得的喔!^_^net.qiang@Tips:举例来说,鸟哥在2003~2005年跑去当兵了,当兵期间很少碰Linux啦!等到退伍后接到的第一个班要带Linux国际证照时,几乎所有的指令都在看不起鸟哥@_@~不过,懂得学习的方法的鸟哥,透过man啦,透过google啦,透过以前学习的一些概念啦,遇到问题几乎都可以在一分钟内解决,同学也不会有突然不知所云的困扰!你说,这样是不是很好呢?Linux不是很好学,根据鸟哥过去教学的经验,很多同学在学Linux时真是非常的痛苦,不过学完之后,以前在Windows上面遇到的困难却也自然而然的迎刃而解!因为Linux训练我们时,是要我们去解决一个发现的问题,这过程需要很多基础知识的培养,所以学完他之后,你会觉得很多事情都变的很简单而单纯。但如果使用Windows的懒人方案,很多问题就不可能了解为啥会发生与为啥可以这样处理了!我们会在下一节分析一下架设服务器的流程,也会提供相对应的你应该要会的Linux技能喔!1.1.2架设服务器难不难呢?不管是Windows还是Linux,要架设好一部堪称完美的服务器,『基本功课』还是得做的,这包括了:1.基础网络的基本概念,以方便进行联网与设定及除错;2.熟悉操作系统的简易操作:包括登录分析、账号管理、文书编辑器的使用等等的技巧;3.信息安全方面:包括防火墙与软件更新方面的相关知识等等;4.该服务器协议所需软件的基本安装、设定、除错等,才有办法实作。而且,每一个项目里面所需要学习的技巧可多着呢!『什么?要学的东西那么多啊!』是啊!所以,不要以为信息管理人员整天闲闲没事干的吶,大家可是天天在出卖知识的,同时,还得天天应付随时可能会发生的各种漏洞与网络攻击手法呢!真不是人干的工作~~这么说的话,架设服务器真的是挺难的喔!事实上,架设服务器其实蛮简单的哩!咦!~怎么又说架设服务器简单了?不是说架设服务器难吗?呵呵!其实『架设服务器很难』是由于朋友们学习的角度有点偏差的原因啦!还记得当初进入理工学院的时候,天天在念的东西是基础物理、基础化学、工程数学与流体力学等基础科目,这些科目花了我们一至两学期的时间,而且内容还很难吶~都是一大堆的理论背不完。怪了?我们进理工学院是为了求取更高深的知识,那么这些基础知识学了有什么用吶?呵呵!更高深的知识都是建构在这些基本科目的理论上面的,所以万一你基础的科目没有读好,那么专业科目里面提到的基本理论怎么可能听的懂?这样说应该就不难了解了吧!没错!认识操作系统与该操作系统的基本操作,还有那个重要的网络基础,就是我们在架设服务器前的『基础科目』啦!所以说,在进入net.qiang@Linux的服务器世界之前,真的不能够略过网络基础的相关知识,同时,Linux系统的基本技能也必需要能够理解吶!好了,或许你还是对于Linux系统里面『什么是很重要的知识』不甚了解,果真如此的话,那么我们就举个简单的例子来说明一下啰!底下列出一般的架设服务器流程,我们由架设服务器的流程当中,来看一看什么是重要的Linux相关技能吧!^_^。Tips:在这一章当中,鸟哥不再就linux基础指令进行解析,因为在\h『鸟\h哥的Linux私房菜--基础学习篇』里面已经详细的介绍过了!如果持续的介绍指令,简直是浪费篇幅~所以底下仅介绍一个Linux基础学习重要性的分析喔!1.2基本架设服务器流程虽然不同的服务器提供的服务并不相同,而且每种服务的原理也不见得都一样,不过,每种服务器由规划、架设到后续的安全维护,其实整个流程是大同小异的。什么?你不相信啊?为了让你相信,那我们就来一项一项的分析看看吧!1.2.1网络服务器成功联机的分析底下我们就整个服务器的简易架设流程当中来分析一下,以了解为什么了解操作系统的基础对于网站维护是相当重要的呢?首先,到底我们是如何联机到服务器的?联机到服务器又取得啥咚咚?我们先以底下这张图示来作个简单的说明好了:net.qiang@图1.2-1、网络联机至服务器所需经过的各项环节先来理解一下,到底我们联机到服务器想要得到什么?举例来说,你联机到Youtube想要看影片,所以对方就提供影片串流数据给你;你连到Yahoo想要看新闻,所以对方就提供新闻的文本文件给你;你联机到无名小站想要看美女,对方就传图档给你;你联机Facebook想要去种田,对方就参考你之前留下来的记录,从数据库里面将你的记录拿出来传给你。看到没有,你联机到服务器,重点在取得对方的数据,而一般数据的存在就是使用档案啰!那你有没有权限取得?最终与该文件系统的设定有关啦!上图显示的是:首先,客户端到服务器的网络要能够通,等到客户端到达服务器后,会先由服务器的防火墙判断该联机能否放行,等到放行之后才能使用到服务器软件的功能。而该功能又得要通过SELinux这个细部权限设定的项目后,才能够读取到文件系统。但能不能读到文件系统呢?这又跟文件系统的权限(rwx)有关啦!上述的每个部分都要能够成功,否则就无法顺利读取数据啰。所以,根据上面的流程我们大概可以将整个联机分为几个部分,包括:网络、服务器本身、内部防火墙软件设定、各项服务配置文件、细部权限的SELinux以及最终最重要的档案权限。底下就分几个细项来谈谈啰。1.网络:了解网络基础知识与所需服务之通讯协议既然要架设服务器,首先当然得要了解一下因特网。因为不管是哪种操作系统,若想要与因特网联机,这个网络基础就得了解。举例来说,『网域』是经常会谈到的概念,当你发现一个设定为/时,晓得那是什么鬼东西吗?如果不知道的话,呵呵!绝对无法设定好网站的啦!另外,为何你需要服务器?当然是想要达成某项网络服务。举例来说,传输档案可以用FTP,那WWW可以传递档案吗?网芳可以传递吗?各有何用处?哪个比较方便?对于客户或老板来说,我们所设定的服务能否满足他们的需求等等,这都需要了解,否则你将一头雾水啊!因此这部份你就得要了解:net.qiang@o基本的网络基础知识:包括以太网络硬件与协议、TCP/IP、网络联机所需参数等;o各网络服务所对应的通讯协议原理,以及各通讯协议所需对应的软件。2.服务器本身:了解架网络服务器之目的以配合主机的安装规划想要架设服务器吗?那...架什么服务器?这个服务器要不要对Internet开放?这个服务要不要针对客户提供相关账号?要不要针对不同的客户账号进行例如磁盘容量、可活动空间与可用系统资源进行限制?如果要进行各项资源的限制,那服务器操作系统应该要如何安装与设定?问题很多吧!所以,先了解你要的服务器服务目的之后,后续的规划才能陆续出炉。不过,如果架站只是为了『练功』而已,呵呵!那就不需要考虑太多了~3.服务器本身:了解操作系统的基本操作网络服务软件是需要建置在操作系统上面的,所以基本的操作系统操作就得要了解才行啊!包括软件如何安装与移除?如何让系统进行例行的工作管理?如何依据服务器服务之目的规划文件系统?如何让文件系统具有未来扩充性\h(LVM之类)?系统如何管理各项服务之启动?系统的开机流程为何?系统出错时,该如何进行快速复原等等,这都需要了解的呢!4.内部防火墙设定:管理系统的可分享资源一部主机可以拥有多种服务器软件的运作,而很多Linuxdistributions出厂的默认值就已经开放很多服务给Internet使用了,不过这些服务可能并不是你想要开放的呢。我们在了解网络基础与所需服务的目的之后,接下来就是透过防火墙来规范可以使用本服务器服务的用户,以让系统在使用上拥有较佳的控管情况。此外,不管你的防火墙系统设定的再怎么严格,只要是你要开放的服务,那防火墙对于该服务就没有保护的效果。因此,那个重要的在线更新软件机制就一定要定期进行!否则你的系统将会非常非常的不安全!5.服务器软件设定:学习设定技巧与开机是否自动执行刚刚第一点就提到我们得要知道每种服务所能达成的功能,如此一来才能够架设你所需要的服务的网站。那你所需要的服务是由哪个软件达成的?同一个服务可否有不同的软件?每种软件可以达成的目的是否相同?依据所需要的功能如何设定你的服务器软件?架设过程中如果出现错误,你该如何观察与除错?可否定期的分析服务器相关的登录信息,以方便了解该服务器的使用情况与错误发生的原因?能否通知多个用户进行联机测试,以取得较佳的服务器设定值?所以这里你可能就得要知道:o软件如何安装、如何查询相关配置文件所在位置;o服务器软件如何设定?net.qiang@o服务器软件如何启动?如何设定自动开机启动?如何观察启动的埠口?o服务器软件激活失败如何除错?如何观察登录档?如何透过登录档进行除错?o透过客户端进行联机测试,如果失败该如何处理?联机失败的原因是服务器还是防火墙?o服务器的设定修改是否有建立日志?登录档是否有定期分析?o服务器所提供或分享的数据有无定期备份?如何定期自动备份或异地备份?6.细部权限设定:包括SELinux与档案权限等到你的服务器全部设定妥当,最后你所提供的档案数据权限却是给了『000』的权限分数,那鸟哥很肯定的说,大家都无法读到你所提供的数据啊...!此外,新的distributions都建议你要启动\hSELinux,那是什么咚咚?如果你的数据放置于非正规的目录,那该如何处理SELinux的问题?又如何让档案具有保密性或共享性\h(档案权限概念与\hACL等)等等,这也都是需要厘清的观念喔!上述的服务器架设流程中,其实除了第5点之外,其他步骤在各服务器设定都需要了解啊!而且都是一样的东西说!因此,这些基础如果学会了,最终,你只要知道第5点里面那个软件的基础设定,你的服务器一下子就可以设定完成啦!这样说,你是否开始觉得基础学习很重要啊!^_^1.2.2一个常见的服务器设定案例分析上面讲完后或许你还是不很清楚到底这些技能如何串起来?鸟哥这里提供一个简单的案例来分析一下好了,这样你应该就比较容易清楚的知道为何需要学习这些咚咚。网络环境:假设你的环境里面(不管是家里还是宿舍)共有五部计算机,这五部计算机需要串接在一起,且都可以对外联机;对外网络:你的环境只有一个对外的联机方式,这里假设是台湾较流行的ADSL或10M的光纤这种透过电话线拨接的类型;额外服务:你想要让这五部计算机都可以上网,而且其中还有一部可以做为网络驱动器机,提供同学或家人作为数据备份与分享之用;服务器管理:由于你可能需要进行远程管理,因此你这部服务器得要开放联机机制,以让远程计算机可以联机到这部主机来进行维护;防火墙管理:因为担心这部做为档案分享服务器的系统被攻击,因此你需要针对IP来源进行登入权力的控制;账号管理:另外,由于同学的数据有隐密与共享之分,因此你还得要提供每个同学个别的账号,且每个账号都有磁盘容量的使用限制;net.qiang@后端分析:最后,由于担心系统出问题所以你得要让系统自动定期分析磁盘使用量、登录文件参数信息等等。在上述的环境中,你要考虑的东西有哪些呢?依据本小节一开始谈到的六个步骤来分析的话,你可能需要底下这些咚咚喔!1.2.2-1了解网络基础硬件规划我们想要将五部计算机串接在一块,但是却又只有一个可以对外的联机,此时就得要购买集线器(hub)或者是交换器(switch)来串接所有的计算机了。但是这两者有何不同?为何switch比较贵?我们知道网络线被称为RJ-45的网络线,但网络线材竟然有等级之分,这个等级要怎么分辨?不同等级的线材速度有没有差异?等到这些硬件基础了解之后,你才能够针对你的环境来进行联机的设计。这部份我们等到下一章再来介绍。联机规划由于只有一条对外联机而已,因此通常我们就建议你可以用如下的方式来串接你的网络:图1.2-2、硬件的网络联机示意图透过IP分享器,我们的五部计算机就都能够上网了。此时你得要注意,能否上网与Internet有关,Internet就是那有名的TCP/IP通讯协议,而想要了解网络就得要知道啥是\hOSI七层协定。我们也知道能连上Internet与所谓的IP有关,那么我们内部这五部计算机所取得的IP能不能拿来架站?也就是说,IP有没有不同种类?如果IP分享器突然挂了,那你的这五部计算机能不能联机玩魔兽?这就考虑你的网络参数设定问题了!网络基础net.qiang@如果你的同学或家人跑来跟你说,网络不通哩!你直觉会是什么?硬件问题?软件问题?还是啥莫名其妙的问题?如果你不懂网络基础的IP相关参数,包括路由设定以及领域名系统(DNS)的话,肯定不知道怎么进行联机测试的。所以啰,此时你就会被骂说:『怎么都不懂还想要管理我们家网络』...那时不是很糗吗?所以要学好一些嘛!这部份就很复杂了,包括TCP/IP,NetworkIP,NetmaskIP,BroadcastIP,Gateway,DNSIP等等,都需要理解喔!了解了这些原理之后,你才能够进行除错(debug)的工作,否则,错误一出,你可能就会被骂的臭头的!最常见的错误中,举例来说,如果你的主机明明就可以使用ping这个指令去接触远方的主机(pingIP),但是就是无法使用pinghostname去接触远方的主机,请问,这个原因是什么呢?了解网络基础的朋友一看就知道几乎是DNS出问题了,不晓得的朋友就是想破头也得不到答案。既然知道出问题的地方,就能够针对该问题去处理嘛!网络基础会影响到你的网络设定是否正确,这真的很重要吶,因为,如果你的网络不通,那么即使服务器架设成功了,别人可以看的到吗?所以说,要架站,真的得对网络基础的部分下一些功夫才行的。关于网络基础这部份我们在基础篇并没有谈过,所\h以我们会在下一章网络基础时再详加说明喔!1.2.2-2服务器本身的安装规划与架站目的的搭配\h如同图1.2-2所示,Server端是在那五部计算机之中,而且Server必须要提供针对不同账号给予网络驱动器机,我们这边会提供网芳(SAMBA)这个服务,因为他可以在Linux/Windows之间通用之故。且由于需要提供账号给使用者,以及想到未来的磁盘扩充情况,因此我们想要将/home独立出来,且使用\hLVM这个管理模式,并搭配\hQuota机制来控制每个账号的磁盘使用量。所以说,你得知道Linux目录下的\hFHS(FilesystemHierarchyStandard)的规范,否则分割槽给到错误的目录,会造成无法开机!那为什么要将/home独立放入一个分割槽?那是因为quota仅支持filesystem而不支持单一目录啊!好了,如果给你一部全新的主机,那你该如何安装你的系统呢?实作题\h-全新安装:请到昆山科大\h(.tw/FTP/CentOS/),义守大学\h(.tw/pub/Linux/CentOS/)或国家高速网络中心\h(/Linux/CentOS/)下载最新的Linux映像档来刻录(2011/07可下载最新版为CentOS6.0),并且依据上述的需求安装好你的Linux系统(最重要的其实就是那个分割而已,其他的动作可以在安装完成后再说)。答:由于Linux\h的安装我们已经在基础篇内的\h第四章介绍过了,这里我们不再使用图形接口来说明,仅使用文字说明来介绍你在每个项目应该处理的动作而已。net.qiang@此外,由读者们的响应发现,学习者经常只有一部主机,因此,这里我们建议你使用\hVirtualbox(/)来仿真出一部实体主机,以安装你的测试环境。并请注意,这部主机将会使用在本书的各个章节测试中。Virtualbox的安装与设定请自行参考其官网上面的Documentation介绍,这里不再赘言。只是需要注意的是,若(1)需要架设网站来上网,建议网络使用桥接模式(bridge),且网络卡类型使用Intel的桌面计算机类型即可。(2)由于我们未来会教导NAT服务器,因此最好有两张网卡,一张使用bridge一张使用内网(intnet)较佳。而(3)磁盘配置建议使用SATA类型,且容量请给予25GB以上。(4)内存至少该给予512MB以上,最好有1GB来测试。其他的请参考官网文件,或者使用默认配置即可。当然啦,如果你有独立的实体机器来安装,那就更好了!不需理会这一小段文字的说明喔。默认配置如下:分割表请依如下方式进行:o/:2GBo/boot:200MBo/usr:4GBo/var:2GBo/tmp:1GBoswap:1GBo/home:5GB,并且使用LVM模式建置o其他容量请保留,未来再来进行额外练习!软件挑选时,请选择『basicserver』项目即可;信息安全部分,防火墙选择启动,SELinux选择强制(Enforce);假设IP分享器有自动分配IP的功能,所以网络参数先选择DHCP即可,未来再自己修改。实际流程大致如下(鸟哥以CentOS6.0为例说明)1.由于我们使用光驱开机来安装系统,因此得先进入BIOS,选择光驱开机,并且将CentOS6.x的DVD放入光驱中;2.在启动安装的画面中,选择『Installorupgradeanexistingsystem』来安装新系统;3.出现『DiscFound』字样,此时建议可以选择『Skip』即可略过;4.在欢迎画面以鼠标点选『Next』;5.语系数据可以选择『Chinese(Traditional)(中文(正体))』;6.键盘格式保留『美式英文』即可;7.安装包含的装置类型,直接选择默认的『基本储存装置』即可;8.因为我们是全新的硬盘,因此会出现一个找不到分割表的错误,此时选择『重新初始化』即可;9.进入网络主机名的设定,先保留『localhost.localdomain』即可。同画面中还有一个『配置网络』的选项,我们先不要动他!等未来谈到网络设net.qiang@定再来处理即可;10.进入时区选择,请选择『亚洲/台北』即可;11.出现root密码制作,这里我们先设定为『centos』吧!这个密码太简单,系统会出现警告,你选择『照样使用』即可。你也可以自行设定其他密码;12.出现哪一类型安装的模式,因为我们有自己的分割考虑,所以,请选择『建立自定义分割格式』来处理喔!13.在出现分割画面中,先点选『sda』项目,然后点选『建立』的按钮,在出现的窗口中,再点选『标准分割区』项目,然后点『建立』。在最后的窗口中填写挂载点、容量等信息后,最终按下『确定』即可。最终画面有点像这样:图1.2-3、分割的参数下达示意图14.依据前面的分割规划,持续进行上述的动作,将所有的分割都处理完毕,除了/home之外。15.由于/home想要使用LVM的方式来建立文件系统,因此点选『建立』后,选择『LVM实体卷册』项目,按下建立,在出现的分割窗口中容量填写5GB,示意图有点像这样:net.qiang@图1.2-4、分割出LVM分割槽的方式接下来回到原本的分割画面后,按下『建立』并选择『LVM卷册群组』项目,在出现的窗口中,卷册组名填写『server』,并且在右下方的逻辑卷册部分按下『新增』,又会额外出现一个窗口,此时就填入/home的相关参数啦!注意,逻辑卷册我们这里设定为myhome喔!画面有点像底下这样:net.qiang@图1.2-5、建立最终的LVM的LV与/home回到原本的分割画面,最终的显示有点像底下这样,然后请按下『下一步』继续。但由于新建分割需要格式化,所以又会出现一个警告窗口!没问题的,选择『格式化』以及『将变更写至磁盘』吧!图1.2-6、分割的最终结果net.qiang@16.出现启动加载程序作业,都使用默认值即可,请按『下一步』;17.出现安装类型,因为我们主机的角色为服务器,因此选择『BasicServer』项目!其他项目保留默认,然后按下『下一步』就开始进行安装程序啰!18.经过一段时间的等待,出现重新启动后,你就重新启动吧!喔!要记得将DVD拿出来喔!(怪异的是,鸟哥第一次安装后,竟然发现电源管理有问题,得在kernel处增加noapic才能顺利开机呢!)19.装好并重新启动后,就会进入runlevel3的纯文本界面!因为是服务器嘛!1.2.2-3服务器本身的基本操作系统操作既然我们这部主机得要提供不同账号来使用他们自己的网络驱动器,因此还需要建立账号啊,使用磁盘配额(quota)等等的。那么你会不会建立账号呢?你会不会建置共享目录呢?你能不能处理每个账号的Quota配额呢?如果/home的容量不足了,你会不会放大/home的容量呢?有没有办法将系统的磁盘使用情况定期的发送邮件给管理员呢?这些都是基本的维护行为喔!我们底下就以几个实际例子来练习看看你的基础能力吧!例题\h-大量建置账号:假设我的五个朋友账号分别是vbirduser{1,2,3,4,5},且这五个朋友未来想要共享一个目录,因此应该要加入同一个群组,假设这个群组为vbirdgroup,且这五个账号的密码均为password。那该如何建置这五个账号?答:你可以写一支脚本程序来进行上述的工作喔![root@localhost~]#mkdirbin[root@localhost~]#cd/root/bin[root@localhostbin]#vimuseradd.sh#!/bin/bashgroupaddvbirdgroupforusernameinvbirduser1vbirduser2vbirduser3vbirduser4vbirduser5douseradd-Gvbirdgroup$usernameecho"password"|passwd--stdin$usernamedone[root@localhostbin]#shuseradd.sh[root@localhostbin]#idvbirduser1uid=501(vbirduser1)gid=502(vbirduser1)net.qiang@groups=502(vbirduser1),501(vbirdgroup)context=root:system_r:unconfined_t:SystemLow-SystemHigh最后利用id这个指令来查询看看,是否群组的支持是对的啊!例题\h-共享目录的权限:这五个朋友的共享目录建置于/home/vbirdgroup这个目录,这个目录只能给这五个人使用,且每个人均可于该目录内进行任何动作!若有其他人则无法使用(没有权限),那该如何建置这个目录的权限呢?答:考虑到共享目录,因此目录需要有SGID的权限才行!否则个别群组数据会让这五个人彼此间无法修改对方的数据的。因此需要这样做:[root@localhost~]#mkdir/home/vbirdgroup[root@localhost~]#chgrpvbirdgroup/home/vbirdgroup[root@localhost~]#chmod2770/home/vbirdgroup[root@localhost~]#ll-d/home/vbirdgroupdrwxrws---.2rootvbirdgroup40962011-07-1414:49/home/vbirdgroup/#上面特殊字体的部分就是你需要注意的部分啰!特别注意那个权限的s功能喔!例题\h-Quota实作:假设这五个用户均需要进行磁盘配额限制,每个用户的配额为2GB(hard)以及1.8GB(soft),该如何处理?答:这一题实作比较难,因为必须要包括文件系统的支持、quota数据文件建置、quota启动、建立用户quota信息等过程。整个过程在基础篇有讲过了,这里很快速的带领大家进行一次吧!#1.启动filesystem的Quota支持[root@localhost~]#vim/etc/fstabUUID=01acf085-69e5-4474-bbc6-dc366646b5c8/ext4defaults11UUID=eb5986d8-2179-4952-bffd-eba31fb063ed/bootext4defaults12/dev/mapper/server-myhome/homeext4defaults,usrquota,grpquota12UUID=605e815f-2740-4c0e-9ad9-14e069417226/tmpext4defaults12....(底下省略)....#因为是要处理用户的磁盘,所以找到的是/home这个目录来处理的啊!#另外,CentOS6.x以后,默认使用UUID的磁盘代号而非使用文件名。#不过,你还是能使用类似/dev/sda1之类的档名啦![root@localhost~]#umount/home;mount-a[root@localhost~]#mount|grephome/dev/mapper/server-myhomeon/hometypeext4(rw,usrquota,grpquota)net.qiang@#做完使用mount去检查一下/home所在的filesystem有没有上述的字眼!#2.制作Quota数据文件,并启动Quota支持[root@localhost~]#quotacheck-avugquotacheck:Scanning/dev/mapper/server-myhome[/home]done....(底下省略)....#会出现一些错误的警告信息,但那是正常的!出现上述的字样就对了![root@localhost~]#quotaon-avug/dev/mapper/server-myhome[/home]:groupquotasturnedon/dev/mapper/server-myhome[/home]:userquotasturnedon#3.制作Quota数据给用户[root@localhost~]#edquota-uvbirduser1Diskquotasforuservbirduser1(uid500):Filesystemblockssofthardinodessofthard/dev/mapper/server-myhome2018000002000000500#因为Quota的单位是KB,所以这里要补上好多0啊!看的眼睛都花了![root@localhost~]#edquota-pvbirduser1vbirduser2#持续作几次,将vbirduser{3,4,5}通通补上去![root@localhost~]#repquota-au***Reportforuserquotasondevice/dev/mapper/server-myhomeBlockgracetime:7days;Inodegracetime:7daysBlocklimitsFilelimitsUserusedsofthardgraceusedsofthardgrace----------------------------------------------------------------------root--2400300vbirduser1--2018000002000000500vbirduser2--2018000002000000500vbirduser3--2018000002000000500vbirduser4--2018000002000000500vbirduser5--2018000002000000500#看到没?上述的结果就是有发现到设定的Quota值啰!整个流程就是这样!例题\h-文件系统的放大(LVM):纯粹假设的,我们的/home不够用了,你想要将/home放大到7GB可不可行net.qiang@啊?答:因为当初就担心这个问题,所以/home已经是LVM的方式来管理了。此时我们要来瞧瞧VG够不够用,如果够用的话,那就可以继续进行。如果不够用呢?我们就得要从PV着手啰!整个流程可以是这样来观察的。#1.先看看VG的量够不够用:[root@localhost~]#vgdisplay---Volumegroup---VGNameserverSystemIDFormatlvm2....(中间省略)....VGSize4.88GiB<==只有区区5G左右PESize4.00MiBTotalPE1249AllocPE/Size1249/4.88GiBFreePE/Size0/0<==完全没有剩余的容量了!VGUUIDSvAEou-2quf-Z1Tr-Wsdz-2UY8-Cmfm-Ni0Oaf#真惨!已经没有多余的VG容量可以使用了!因此,我们得要增加PV才行。#2.开始制作出所需要的partition吧!作为PV用的![root@localhost~]#fdisk/dev/sda<==详细流程我不写了!自己瞧Command(mforhelp):pDeviceBootStartEndBlocksIdSystem....(中间省略)..../dev/sda818121939102400083Linux<==最后一个磁柱Command(mforhelp):nFirstcylinder(1173-3264,default1173):1940<==上面查到的号码加1Lastcylinder,+cylindersor+size{K,M,G}(1940-3264,default3264):+2GCommand(mforhelp):tPartitionnumber(1-9):9Hexcode(typeLtolistcodes):8eCommand(mforhelp):pDeviceBootStartEndBlocksIdSystem/dev/sda91940220121045158eLinuxLVM<==得到/dev/sda9net.qiang@Command(mforhelp):w[root@localhost~]#partprobe<==在虚拟机上面得要reboot才行!#3.将/dev/sda9加入PV,并将该PV加入server这个VG吧[root@localhost~]#pvcreate/dev/sda9[root@localhost~]#vgextendserver/dev/sda9[root@localhost~]#vgdisplay....(前面省略)....VGSize6.88GiB<==这个VG最大就是6.88G啦....(中间省略)....FreePE/Size513/2.00GiB<==有多出2GB的容量可用了!#4.准备加大/home,开始前,还是先观察一下才增加LV容量较好![root@localhost~]#lvdisplay---Logicalvolume---LVName/dev/server/myhome<==这是LV的名字!VGNameserver....(中间省略)....LVSize4.88GiB<==只有5GB左右,需要增加2GB啰....(底下省略)....#看起来,是需要增加容量啰!我们使用lvresize来扩大容量吧![root@localhost~]#lvresize-L6.88G/dev/server/myhomeRoundingupsizetofullphysicalextent6.88GiBExtendinglogicalvolumemyhometo6.88GiB<==处理完毕啰!Logicalvolumemyhomesuccessfullyresized#看来确实是扩大到6.88GB啰!开始处理文件系统吧!#5.扩大文件系统[root@localhost~]#resize2fs/dev/server/myhomeresize2fs1.41.12(17-May-2010)Filesystemat/dev/server/myhomeismountedon/home;on-lineresizingrequiredolddesc_blocks=1,new_desc_blocks=1Performinganon-lineresizeof/dev/server/myhometo1804288(4k)blocks.Thefilesystemon/dev/server/myhomeisnow1804288blockslong.[root@localhost~]#df-h文件系统SizeUsedAvailUse%挂载点/dev/mapper/server-myhome6.8G140M6.4G3%/homenet.qiang@....(其他省略)....#可以看到文件系统确实有放大到6.8G喔!这样了解了吗?做完上面的实作之后,现在你晓得为什么在基础篇的时候,我们一直强调一些有的没有的了吧?因为那些东西在这里都用的上!如果本章这些题目你都不会,甚至连为什么要作这些东西都不懂的话,那得赶紧回去阅读基础篇,不要再念下去了!会非常非常辛苦的呦!1.2.2-4服务器内部的资源管理与防火墙规划你可知道本章第一个实作题安装好了你的Linux之后,系统到底开放了多少服务呢?这些服务有没有对外面的世界开放监听?这些服务有没有漏洞或者是能不能进行网络在线更新?这些服务如果没有要用到,能不能关闭?此外,这些服务能不能仅开放给部分的来源使用而不是对整个Internet开放?这都是需要了解的呢。底下我们就以几个小案例来让你了解一下,到底哪些数据是你必须要熟悉的呢?例题\h-不同runlevel的服务控管:在目前的runlevel之下,取得预设启动的服务有哪些呢?此外,我的系统目前不想启动自动网络挂载(autofs)机制,我不想要启动该服务的话,该如何处理?答:默认的runlevel可以使用runlevel这个指令来处理,那我们预设使用3号的runlevel,因此你可以这样做:[root@localhost~]#LANG=Cchkconfig--list|grep'3:on'上面指令的输出讯息中,会有autofs服务是在启动的状态,如果想要关闭他,可以这样做:[root@localhost~]#chkconfigautofsoff[root@localhost~]#/etc/init.d/autofsstop上面提到的仅只是有启动的服务,如果我想要了解到启动监听TCP/UDP封包的服务(网络封包格式下章会谈到),那该如何处理?可以参考底下这个练习题喔!例题-查询启动在网络监听的服务我想要检查目前我这部主机启动在网络端口口监听的服务有哪些,并且关闭不要的程序,该如何进行?答:net.qiang@网络监听的端口口分析,可以使用如下的方式分析到:[root@localhost~]#netstat-tulnpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00:111:*LISTEN1005/rpcbindtcp00:22:*LISTEN1224/sshdtcp00:25:*LISTEN1300/mastertcp00:35363:*LISTEN1023/rpc.statdtcp00:::111:::*LISTEN1005/rpcbindtcp00:::22:::*LISTEN1224/sshdtcp00::1:25:::*LISTEN1300/mastertcp00:::36985:::*LISTEN1023/rpc.statdudp00:5353:*1108/avahi-daemon:udp00:58474:*1108/avahi-daemon:....(底下省略)....现在假设我想要关闭avahi-daemon这个服务以移除该服务启动的埠口时,应该要如同上题一样,利用/etc/init.d/xxxstop关闭,再使用chkconfig去处理开机不启动的行为!不过,因为启动的服务名称与实际指令可能不一样,我们在netstat上面看到的program项目是实际软件执行文件,可能与/etc/init.d/底下的服务档名不同,因此可能需要使用grep去撷取数据,或者透过那好棒的[tab]按键去取得相关的服务档名才行。[root@localhost~]#/etc/init.d/avahi-daemonstop[root@localhost~]#chkconfigavahi-daemonoff我们常常会开玩笑说,如果对外开放的软件没有更新,那防火墙不过是个屁!所以啦,软件更新是相当重要的。在CentOS内,我们已经有yum来进行在线更新了,你当然可以自己利用更改配置文件来指定yum要去查询的映像站(mirrorsite),不过这里鸟哥建议使用预设的设定值即可,因为系统会主动的判断较近的映像站(虽然常常会误判),不需要人工微调啦!net.qiang@例题\h-利用yum进行系统更新假设你的网络已经通了,目前你想要处理全系统更新,同时需要每天凌晨2:15自动进行全系统更新,该如何作?答:全系统更新使用yumupdate即可。但是由于yumupdate需要使用者手动输入y去确认真的要安装,因此在crontab里头处理相关任务时,就得要使用yum-yupdate了![root@localhost~]#yum-yupdate#第一次作会进行非常之久!因为系统真的有些数据要更新嘛!还是得等待的![root@localhost~]#vim/etc/crontab152***root/usr/bin/yum-yupdate不过这里还是要额外提醒各位喔,如果你的系统有更新过核心(kernel)这个软件,务必要重新启动啊!因为核心是在开机时加载的,一经载入就无法在这次的操作中更改版本的。那个crontab档案的处理,以及crontab-e的指令应用,内容的写法字段不太一样,请自行参考基础篇的说明去加强学习喔!在通过了上述的各项设定后,我们的Linux系统应该是比较稳定些了,再接着下来,我们要开始来设定资源的保护了!例如ssh这个远程可登入的服务得要限制住可登入的IP来源,以及制订防火墙规则流程等。这部份则是本教学文件后续要着重介绍的部分,留待后面章节再来谈吧!Tips:程序设计师所撰写的程序并非十全十美的,所以,总是可能有些地方没有设计好,因此就造成所谓的『程序漏洞』啰。程序漏洞所造成的问题有大有小,小问题可能是造成主机的当机,大问题则可能造成主机的机密数据外流,或者主机的操控权被cracker取得。在现今网络发达的年代,程序的漏洞问题是造成主机被攻击、入侵的最主要因素之一了。因此,快速、有效的针对程序漏洞进行修补,是一个很重要的维护课题。1.2.2-5服务器软件设定:学习设定技巧与开机是否自动执行这部份就是整个服务器架设篇的重要内容了!前一小节也曾谈过,在服务器架设部分你得要熟悉相当多的信息,否则未来维护会显的很麻烦。我们以本章提到的大前提为例,我们想要提供一个网络驱动器机,那么网络驱动器机使用的机制有哪些呢?常见的除了网页形式的分享磁盘之外,还有常见的网芳以及Linux的NFS方式(后面章节都会继续谈到)。net.qiang@由于假设局域网络内的操作系统大部分是Windows好了,因此网芳应该是个比较合理的磁盘分享选择。那么网芳到底启动了多少个埠口?是如何持续提供网芳数据的?提供的账号有没有限制?提供的权限该如何设定?是否可规定谁可登入某些特定目录?针对网芳服务的埠口该如何设定防火墙?如果系统出错该如何查询错误信息?这个网芳在Linux底下要使用什么服务来达成?这都是需要学习的呢!直接告诉你,网芳的制作在Linux底下是由Samba这套软件来达成的。Samba的详细设定我们会在后续章节介绍。这里要告诉你的是,架设一个网芳服务器,你应该要会的基础知识有哪些?以及告诉你,你可以背下来的架设流程中,理论上应该要经过哪些步骤的过程,这样对你未来处理服务器设定时,才会有点帮助啊!1.软件安装与查询刚刚我们已经知道网芳需要安装的是Samba这套软件,那么该如何查询有没有安装呢?如果没有安装又该如何安装呢?那就来处理处理。例题:查出你的系统底下有没有samba这套软件,若无,请自行查询与安装该软件答:已安装的软件可以使用rpm去察看看,尚未安装的则使用yum功能。所以可以这样进行看看:[root@localhost~]#rpm-qa|grep-isambasamba-common-3.5.4-68.el6_0.2.x86_64samba-client-3.5.4-68.el6_0.2.x86_64samba-winbind-clients-3.5.4-68.el6_0.2.x86_64#看起来samba主程序尚未被安装啊!此时就要这样做:[root@localhost~]#yumsearchsamba<==先查一下有没有相关的软件[root@localhost~]#yuminstallsamba<==找到之后,那就安装吧!#那么如何找出配置文件呢?因为我们总是需要修改配置文件啊!这样做吧:[root@localhost~]#rpm-qcsambasamba-common/etc/logrotate.d/samba/etc/pam.d/samba/etc/samba/smbusers/etc/samba/lmhosts/etc/samba/smb.conf/etc/sysconfig/samba2.3.服务器主设定与相关设定这部份可就麻烦了!因为你得要了解到,你到底需要的服务是什么,针对该服务net.qiang@需要设定的项目有哪些?这些设定需要用到什么指令或配置文件等等。一般来说,你得要先察看这个服务的通讯协议是啥,然后了解该如何设定,接下来编辑主配置文件,根据主配置文件的数据去执行相对应的指令来取得正确的环境设定。以我们这里的网芳为例,我们需要设定工作组,然后需要设定可以使用网芳的身份为非匿名,接下来就能够开始处理主配置文件。因此你需要有:i.先使用vim去编辑/etc/samba/smb.conf配置文件;ii.利用useradd建立所需要的网芳实体用户;iii.利用smbpasswd建立可用网芳的实体帐户;iv.利用testparm测试一下所有数据语法是否正确;v.检查看看在网芳内分享的目录权限是否正确。这些设定都搞定之后,才能够继续进行启动与观察的动作呦!而想要了解更多关于samba的相关设定技巧与应用,除了google大神之外,/usr/share/doc内的文件,以及man这个好用的家伙都必须要去阅读一番!4.服务器的启动与观察在设定妥当之后,接下来当然就是启动该服务器了。一般服务器的启动大多是使用standalone的模式,如果是比较少用的服务,如telnet,就比较有可能使用到superdaemon的服务启动类型。我们这里依旧使用samba为例,来瞧瞧如何启动他吧!例题:如何启动samba这个服务呢?并且设定好开机就启动他!答:想要了解如何启动,得要使用rpm去找一下软件的启动方式,然后再去处理启动的行为啰!#先查询一下启动的方式为何:[root@localhost~]#rpm-qlsamba|grep'/etc'/etc/logrotate.d/samba/etc/openldap/schema/etc/openldap/schema/samba.schema/etc/pam.d/samba/etc/rc.d/init.d/nmb/etc/rc.d/init.d/smb<==所以说是standalone且档名为smb,nmb两个!/etc/samba/smbusers#开始启动他!且设定开机就启动喔!:[root@localhost~]#/etc/init.d/smbstart[root@localhost~]#/etc/init.d/nmbstartnet.qiang@[root@localhost~]#chkconfigsmbon[root@localhost~]#chkconfignmbon#接下来,让我们观察一下有没有启动相关的埠口吧![root@localhost~]#netstat-tlunp|grep'[sn]mbd'tcp00:::139:::*LISTEN1484/smbdtcp00:::445:::*LISTEN1484/smbdudp00:137:*1492/nmbdudp00:138:*1492/nmbd最终我们可以看到启动的埠口有137,138,139,445喔!5.6.客户端的联机测试接下来就是要找一部机器做为客户端,然后尝试使用本机器提供的网芳功能啊!这样才能够了解设定是对还是错!相关的客户端联机与服务器提供的服务有关,例如WWW服务器就要使用browser去测试,网芳当然就得要使用网芳客户端程序啰!这部份也是本服务器篇要讲的基本内容啦!但是很多时刻,客户端联机测试不成功并非是服务器设定的问题,很多是客户端使用方式不对!包括客户端自己的防火墙没开啦,客户端的账号权限密码等等记错啦等等的,问题很大啦!总体来说:『教育你的Client使用者具有最最基础的Linux账号、群组、档案权限等概念,才是一个彻底解决问题的方法』,但这也是最难的部分...7.错误克服与观察登录档一般来说,如果Linux上面的服务出现问题时,通常会在屏幕上面直接告诉你错误的原因为何,所以你得要注意屏幕讯息。老实说,屏幕讯息通常就已经告诉你该如何处理了。如果还不能处理呢?你可以这样处置看看:o先看看相关登录文件有没有错误讯息,举例来说,samba除了会在/var/log/messages里面列出讯息外,大部分的讯息应该是摆放在/var/log/samba/这个目录下的数据,因此你就得先去查阅一番。通常在登录文件内的信息,会比在屏幕上的还要仔细,那你就可以自行处理完毕了;o将讯息带入Google查询,通常可以解决登录档出现的但是你没有办法克服的问题喔!达标率可达95%以上吧!o还是不成功,那就到各大讨论区去发问吧!建议到酷学园\h()net.qiang@最常出现的其实是SELinux的错误啦!此时就得要使用SELinux的方法来尝试处理啰!这也是本服务器篇后续会稍微提到的内容。经过上面的流程,你就可以知道啦,架设好一部主机需要知道:(1)各个process与signal的观念;(2)账号与群组的观念与相关性;(3)档案与目录的权限,这当然包含与账号相关的特性;(4)软件管理员的学习;(5)BASH的语法与shellscripts的语法,还有那个很重要的vim啰!:(6)开机的流程分析,以及记录登录文件的设定与分析;(7)还得知道类似quota以及连结档等等的概念。要知道的真的很多,而且还是不能省略的步骤喔!1.2.2-6细部权限与SELinux如果有些特殊的使用情况时,权限设定就是个很重要的因素。举例来说,我们系统上面,现在有vbirduser{1,2,3,4,5}以及student等账号,而共享目录为/home/vbirdgroup。现在,vbirdgroup的群组想要让student这个用户可以进入该共享目录查阅,但是不能够更改他们原本的数据,你该如何进行呢?你或许可以这样想:让student加入vbirdgroup群组即可:但如此一来,student具有vbirdgroup的rwx权限,也就可以写入与修改啰,因此这个方案行不通。将/home/vbirdgroup的权限改为2775即可:如此一来student拥有其他人的权限(rx),但如此一来其他所有任何人均拥有rx权限,这个方案也行不通。传统的身份与权限概念就只有上面两种解决方案而已,这下子严重了!我们没有办法针对student进行权限设定!此时就得要使用ACL啰~同样这个例子,我们就来实作一下:例题\h-单一用户、群组的权限设定ACL想要让student可以进入/home/vbirdgroup进行查询,但不可写入。同时vbirduser5在/home/vbirdgroup内,不具有任何权限。答:只能使用ACL啰!由于安装时预设格式化就加上acl的文件系统功能支持,因此你可以直接处理如下的各项指令。如果你是使用后来新增的partition或filesystem,或许得要在/etc/fstab内额外增加acl控制参数才行喔![root@localhost~]#useraddstudent[root@localhost~]#passwdstudent[root@localhost~]#setfacl-mu:student:rx/home/vbirdgroup[root@localhost~]#setfacl-mu:vbirduser5:-/home/vbirdgroupnet.qiang@[root@localhost~]#getfacl/home/vbirdgroup#file:home/vbirdgroup#owner:root#group:vbirdgroup#flags:-s-user::rwxuser:vbirduser5:---user:student:r-x<==就是这两行,额外的权限参数哩!group::rwxmask::rwxother::---[root@localhost~]#ll-d/home/vbirdgroupdrwxrws---+2rootvbirdgroup40962011-07-1414:49/home/vbirdgroup上面说的是正确的权限控制行为。那万一系统管理员不是个东西...不是啦!系统管理员并不知道权限的重要性时,常常会因为某些特殊需求,就将整个目录设定为777的情况!举例来说,如果是一个不怎么想要负责的网管人员,为了自己方便、大家方便,就将/home/vbirdgroup设定为777,这样『大家欢喜』嘛!此时,如果你没有加上任何管理机制,嘿嘿!这个群组成员工作的成果,通通可以被大家所窃取,真是要命了!为了预防这种心不在焉的管理员,于是就有了SELinux这个玩意儿。SELinux主要在控制细部的权限,他可以针对某些程序要读取的档案来设计SELinux类别,当程序与档案的类别形态可以相符合时,该档案才能够开始被读取。如此一来,当你配置文件案权限为777,但是因为程序与档案的SELinux例行不符,所以没关系的,因为该程序还是读不到该档案!\h所以我们在图1.2-1才会将SELinux的图示绘制到daemon与filepermission中间啊!事实上SELinux还挺复杂的,但是我们如果仅是想要应用而已,那么SELinux的处理方式通通可以透过登录档来处置!所以SELinux出现问题的机会非常大,但是解决技巧却很简单!就是透过登录档内的说明去作即可。详细的作法我们在后续章节再持续说明吧!1.2.3系统安全与备份处理老实说,在鸟哥管理服务器的经验来说,硬件问题要比操作系统与软件问题还来的严重,而人的问题又比硬件问题严重!举例来说,如果你的老板跟你说:『我要的账号是eric,而且我的密码也要是eric!这样比较好记嘛!』你应该要怎么处理呢?net.qiang@『果然需要再教育』!教育谁?教育自己啦!是要忍耐还是要说服老板别这样~好讨厌的感觉吧!因此,在系统安全方面,首要的工作是透过日常生活的社交活动中,慢慢透露一些资安方面的困扰,并提供老板一些制订资安规则方面的信息,这样未来比较好鼓吹资安条件的制订。我们就先由严格的密码来建议吧:『猜密码』仍是一个不可忽视的入侵手段!例如SSH如果对Internet开放的话,你又没有将root的登入权限关闭,那么对方将可能以root尝试登入你的Linux主机,这个时候对方最重要的步骤就是猜出你root的密码了!如果你root的密码设定成『1234567』哈哈!想不被入侵都很难~所以当然需要严格的规范用户密码的设定了!那么如何规范严格的密码规则呢?可以藉由(1)修改/etc/logi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论