Linux 系统日常运维经典技能.docx
一、初始化配置禁用服务1Chkconfiglevel35IptablesoffChkconfiglevel35ip6tablesoffserviceIptablesstop4.Chkconfig-level35postfixoff禁用Se1.inuxvietcselinuxcofigSE1.lNuXVisabled配置YUM源配置rtrhel63yuf.repos.dvvilocal.repo2(localJ.11三e-local4. b4seurlfllc>ntServer5. rubltdl6. gpgchecke可以配三为光盘,内部YUM源或EPE1.等常用软件安装yxainstallftpteln«tzkelnakgccComPaJMbStdC33gccC44IibstdcwIibXpk«rrlkernel-dev«lkernel-headersrshkshIsofOpenssh-Clientsyyu三installiptraf.x86-64unzip.x86_64Iibaio.x86-64ejectsysfsutilsdmidecodepciutilsdstatIsscsi-y安装×windows9yugroupinstallwXWindowSystem*y2.yumgrouplnsxallDesktop-y(可以不安装面)9yuminstallxorg-xll-apps-y(包含XCIoCk)lusrsbintpdael.e.lCrontab添加如上记录,指定内部Zp服务器SSH登录设置修改ssh禁用DNS选项:echo-UseONSno"»Zetc/$h/$hd_configserviceSshdrestart添加允许指定用户登录:i.echowAllowUsersuser»etcsshsshdconflgserviceSShdrestart上传扫描工具rescan-scsi-bus.sh网络上有该脚本,下载自行使用修改历史记录格式echo"exporthisttimfomat-VXT*»t<profllt二.安全加固本次安全加固内容主要参考的是Redhat和Centos系列版本系统:参考链接注春掉系统不需要的用户和用户组注意:不建议直接删除,当你需要某个用户时,自己再新添加会很麻烦cpetcpasswdetcpasswdbak修改之前无备份Vltcpsswd曲Hl用户,在航击DQ上翊博此行4:x:3:4:d:varadm:/SbinZnologXnlpxz4z7zlprvarspoollpdzsblnnologin«sync:x:5:0:syr:sbin:ZbinZsyncshutdown:X:6:6:shutdown:/sbin:/sbin/shutdownhalt:x:7:e:halt:/sbln:/sbin/halt*uucp:x:ie:14:uucp:/var/spool/uu<p:/sbln/nologin«operator:x:ll:0:op«rator:/root:/sbin/nologing>es:x:12:iee:gms:/usr/games:sbin11ologln,gopher:x:13:3O:gopher:vrgopher:/Sbin/n。IOginftp:x:14:Se;FTPUserzvrftpzsbinnologin*JI11MftpBSWWcpetcgropZetcZgroupbakW改之的先留份vletcgroup林缔A用尸组,在丽查加上领簿此行Vada:x:4:root,X,d“mon6. 9lp:x:7:d>emon#lp7. #uucp:x:14:uucpS.gaesrxz2:9.Hdip:X:48:关闭系统不需要的服务service*cpidstopChkconfigcpidoff中止眼务,ftHFJS)电号士爵设定,常用在laptop±serviceautofsstopChkcortfIgutofsoff停停用自动,壬或档t?系统与遇边疆3SservicebluetthstopChkconfigbluetoothOH用BIJZOOth帝身servicecpuspeedstopChkconfigcpuspeedoff停用控利CPUiS霞主寿用来*电SrviccupsstopChkconfigcupsoff用ComonUNIXPrintingSyStSt5tEP三tnserviceiptablesstopChkconfigiptablesoffIr早止IPv61.WHP,你要票一个册务,BJ以执行下面1作service4cpidstartChkconflgacpldon9竽止弗root用户Ifii行/8/我.”1"1."下的系统命令攀止非2。*用户执行/“<:/1,",。式."下的系统命令chnod-R70etc/rc.d/init.d1 .CMod-R777etcrc.dilt.dKS夏默认设!B给下面的文件加上不可更改属性,从而防止非授权用户获得权限Chattr÷1tcpasswd2 Chattr!etcshdowChattriZetcZgroup-Chattr÷ietcgshadowchattr“etcMrvics益系统腕务KeI列表文EOfefi,防止东经讦司的*除或京期B务Hittrtcp41twdtcShadowtcgroutcglhAdowtcsrvlcs,显示文件的住注意:执行以上权限般5之后,就无法季加时用户了.如里再参:5加丽用户,焉鲁先取消上面砌1.多用尸添加BW完成之B,再执行上IJ的*作ch*ttr-1tcp*sswd0熊消KS5定设31Chattr-1tcthadowChattr-1ZetcZgroup12. ChattriZetcZgshadowChattr-1/etc/SerViCeS#取启系统明分3口列夫文件J)O锁W.现在可以蜘算加Ul除用户了,碍作完之后再领定目录文件限制不同文件的权限ch*ttr-.Zsh.hisRory避免射.bsh.MstorySt古型走向到devcullChattr,.bAshhistoryChfiod7usrbln1RMCbood555usrbinICtmod7blnping恢复Chmod4755blnpl11gChRod7usrbivi11lfHIChiBod755usrbinvichRd70ZbinZnetstat公SChgd755birnetstatChfiod7e/UsrZbinZtail侑Chmod75SusrblntilChiiod70usrbinless口复Chrnod755usrbinlessChnod7usrbihead伍夏Cheiod7S5usrbiheadChRod7bicatfRWChaod7SSZbinZcarchod7blnunae恢复cbod7SSblnunaechodseeblnpstKftch«od755blnps禁止使用Ctrl÷Alt÷Del快捷键重启服务器cptclnittabtclnltdbbakviZetcZinittab#;主掉下面这一行tea:ctrlalxdel:/sbin/shutdownx3rnow使用yumupdate更新系统时不升级内核,只更新软件包注意:由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核.I. cptcyu.confetcyu.confbk1 .修改y"配Jl文任vietcyum.conf在的后方TOexclude*kernelJ. 2.直授在yu的右令行面加上MrF的参数:4yum-×clud-kernl*update$ic*tclssut6左看内核版本uname关闭Centos自动更新ChkconfiglistyuaUpdatesdIr显示当前系统次态yuUpditesd。:关闭】:关闭2:启用3:Ja用4:国用5:启用6:关闭serviceyumupdatesdstop”关闭开口管数为Ssrt停止yum-updatesd:修定serviceyum-updatesdstatus喳哲是否关用yu11-updatesd已停Chkconfig-level35yua-updatesdoff»享止开屋B)(5三K35)Chkconfigyu三updatesdoff停止开白日动(并有国式全H学止)Chkconfiglistyunupdtsd。显示当前系统状态yunUpdatesd8:关闭1:关闭2:应用3:关闭4:M用5:关闭6:关闭关闭多余的虚拟控制台我们知道从控制台切换到X窗口一般采用Alt-F7,为什么呢?因为系统默认定义了6个虚拟控制台,所以X就成了第7个实际上,很多人一般不会需要这么多虚拟控制台的,修改etcinittabf注稼掉那些你不需要的。cptcinlttabtclnlttbkviZetcZinittab9Rungettysinstandardrunlevels1:2)4S:respawn:sblnaingettyttyl*2:2345:resawnzsblnlgettytty2»3:2M5:re$pwn:/$bln/eing<ttytty3«4:2MS:rtspwn:/Sblb!ngttytty4»5:2345:respawn:sbinigettytty5»6:2345:respawn:ZsbinZeingettytty6修改history命令记录cpZetcZprofileetcZprofilebakviZetcZprofile找到HiSTSiZE=Ieee改为histsizxS0除藏服务器系统信息在缺省情况下,当你登陆到IinUX系统,它会告诉你该IinUX发行版的名称、版本、内核版本、服务器的名称.为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个login:”提示符.删除etcissue和etc这两个文件,或者把这2个文件改名,效果是一样的.1 三vtcissuetcissuebakvetcetcbak优化1.inux内核参数CPetcsyscl.cnfetcsysctl.Confbakvlusysctl.conf在文件茶花节加以下内占net.ipv4.tcp-ma×synbcklog-dev-max-backlog32768net.core.soa×conn三32768net.core.umeodefault-8388608net.cor<.rmedefault-8388608net.Crt.re<iMx-16777216net.core.wmew-wx16777216net.ipv4,tcptiaestamps«net.lpv4.tcpsynackretries«2X2net.ipv4.tcpsyn-retries211t.ipv4.tcp.twrcyc1-114.*net.ipv4.tcptwlen-1net.ipv4.tcp-tw-reuse1r>et.ipv4.tcp-me:乂5ee09iS0.ipv4.tcp-maxorphas32768e»n¢t.ipv4.tcpi11lo-30net.lpv4.tcpkeepallvetlme120net.ipv4.ip_local_port_rangel2465535<(55示用于向外连报的3t口花图.好杳情况下根小:32768到61O00注01这里不则l魅值设的大低,否则可眩会占用修正秘口)sblnsysctl-p,使配息立EC生效系统优化cpZetcZprofileetcprofilebak2vitcprxrfil在文件末尾澧加以下内容Ulifldt<unliltdlimitsuliitedulinit-SHn65535sourceZetcZprofile,停fl冒立即生55uli«it-a,显示当前的包冲用户道理号朝服务器禁止pingcptcrc.drc.localttcrc.d/rc.lo<albakvietcrc.drc.local喊文件末尾墙加下支这一行cho1>procsysntlpv4icmptchoignortill4.参数。表示允许1检查口令策咯设置是否符合且杂度要求cpp/etc/pam.d/systemauth/etc/pam.d/systemath-bakvietcpa.dsystet-ah三Jflffflpampa«ecracklibodulepaj>asswdqcodule5115三iSM8rF自不暇两时使用4.passwordrequisitpm_cracklib.$odcrtdit-lucrtdltllcredit-locr<dlt-l*lrlass<2Enkrv8passwordsufficientpa三-unix.sotdSshadownulloktryeflrstpassuse_authtok检查暨录提示-是否设置登录成功后警告Banner修改文件etcmotd的内容,如没有该文件,则创建它.e<ho-Authorizedu»er$only.AllactivityZybemonitoredandreported">etcnot检查是否设置登录超时执行备份:cp-petcprofileetcprofilebakcpPtccsh.cshrcetccsh.cshr<wbak修改etccsh.cshrc文件,添加如下行:setdutologoutse改变这项设置后,更新登录才能有效三、多路径设Jt随着X86环境的普及化,1.inux的市场占有率也越来越商,为了方便后续的设备爸理我们和1.inux自带多路径软件的成熟化,我们在日常的设备多路径软件选择方面经常会首先考虑使用DM软件,本次多路径设置主要是结合REDHAT和CENTOS自带软件DMMultipath参考:1.inUX操作系统层面MUltiPath配者使用技巧及注意事项(点击标题可登)四、系统异常性能指标获取CPU占用品高的10个进程PSaxww-0usr,pidjp<pu,pawn.start,tin,combX-l;p$axww-ouser.pld,pcpu,p»en,start,tlme,co«»grep-vPIOsort-nr-k3head-psauxheadl;p$auxgrepvPXDjsortrn-k*3headJPSauwhead-l;p$auxwsortm-k3bead-10内存占用最高的10个迸程psaxwwouser(pldpcpu.p<neafstartftInefco<mhead-1;psaxwwoU"r,pi%p<pu,pm,comgrp-vPIDsort-nr-k4hXpsau×head-l;psauxgrep-vPIDsort-r-k+4headps4uxwIhead-l;psauxwsort-rn-k4head-l虚拟内存使用最多的前10个进程psauxwhead-l;psauxwsort-m-kShead-10查看系统负载.dsattopmeatopiotopcpuocolor110统计当前连接数(11Igrp-v*Statewk*÷÷st>1三for(ainS)printa1S(,netstat-tanawk*/Atcp/+÷SJNFEHDfor(ainS)printa,Sa*当前连接数最多的10个进程1 SS-tnpIgrp-v-Statawk'printS6),awk-F,printS2)*,¼S(Sl)ENOfor(ainS)printa.Saesort-nr-k2head2 netstat-tnpgrep-v"Active"grep-vwTIMEeHAIT*grep-v-State"awfc-F,*printSNF),Iawk÷SS1ENDfor(aInS)printa,Sa)sort-nr-k2head五、1.VM日常使用1.VM在日常运维工作当中占据着很大的比重,在此我列举1.VM常见的日常操作及步骤.1 .添加一个磁盘到OS,格式化文件系疣使用,参考如下:扫描磁盘pvcreatedevsdbvgcr>t-S8Mddtavgd<vsdbIvcredte-I1G-ndatalvdatavgkfs.ext3devdatavgdatalvountdevdatavgdatalv/dataIvextend1.2Gdevdatavgdatalvresie2fsdevdaavgdaavlv这个其中每个步骤就不在做详细解程,有兴趣的可以独自搜索2 .文件系统的扩容和缩小(根文件系统缩小要相当的慎重)1.9Isscsi(l:e:e:e)cd/dvd3. (2:e:e:edi$k4. 2:e:l:edisk2:e;2:edlsk(2:e:3:edisk九MCVMWirgrXDECDRlHl.devsr0devsdadevsdbdevsdcdvsddVMwareVMwareVMwareVMWaZVirtualdiskVirtualdiskVirtualdiskVirtualdisk1111eeeeS.9PVS9.PVVGFBltAttrPSlzePFreedevsda2VolGrouplva249.Slge:d*vSdbVolGrouplv2ase.eeg6.57gU.B.#pvcreatedevsdc«.WritingphysicalvolumedatatodiskdevsdcwPhysicalVolUMdevsdcsuccessfullycratdH.17.IrVgcreatedatavgdevsdcVoluegroupdatavg"successfullycreated19.9VgS21 VG<PVf1.VVSHAttrVSizeVFree22 .VolGroup22wz-n-99.Sg6.57g:3.datvgIeewz-n5.GOg5.g24.wIvcreatedatavg-datalv-1.3g1.ogicalvolume*datilv*created27.«nkfs.ext4devdatavgdtalvmke2fs1.41.12(17-May-2ei0)FilesystemIabel-OStype:1.inux-Blocksi>496(log2)Frageentsize>4096(log>2)Stride-blocks.Stripewidthblocks19668Inodes9786432blocks39321blocks(S.e%)reservedforthsuperustrFirstdatablocksMaxiaumfilesysteablocks-3eS3636824blockgroups32768blockspergroup,32768fragmentspergroup4181921nodespergroupSuperblockbackupsstoredonblocks:4J.32768.9834.163B40.229376.294912UWritinginodetables:doneHCrAtlngjournal(16384blocks):donWritingsuperblocksandfilesystewaccountingInfonMtlon:SdoneThisfilesysterrwillbeautomaticallycheckedevery27countsorISOdys.whichevercomesfirst.Usetune2fscor-1tooverride,se.si.*Ndirdatafsmountdev.daavgdatalvda*afsa.dfh*FilesystetiSizeUsedAvailUSeXMounted4devmapperVolGroplv-rt8863.8G8GSX/”tpfs939Me939M0XdtvshZdevzsdal485M33M427M8%/bootZdevZitapperZdatavg-datalv6).3.G69H2.8G3XZdatafs在线扩容文件系统:1 "vgsdatavg2 .VGPV1.VfSNAttrVSiVFrJ-datavgliewz-n-s.g2.0eg4.wIvextend1.4GdevdtavgdaalvExtendinglogicalvolusedtalvto4.GlB1.ogicalVolUwd4tlvsuccessfullyresizedrootsyops"Z<kvdatavgdaclvresle2fs1.41.12(17-Hay-210)Filesysteeatdvdatavg.datalviscountedondatafs;onlineresizingrequiredolddescblocks1.ewdescblocks-1PerforningMon-lineresizeofZdevZdatavgZddtalvto1048576(Ak)blocks.Th#fllesystmon/dev/ditav¢/datilv1$now1648576blockslong.14.15. fdf-hFilesysteaSizeUsedAvailUse%MountedondevBapperzvolGroup4va,root18.8SG3.G8G5%/1.tfs939He939M0%dwsh2.devsdal48SM33M427M8%/boot21.devapperGatavgdaalv22.4.0G7M3.7G2X/darafs缩小文件系统:1.34.5.6789.】11.n.B.14.15.rIvs1.VVGAttr1.SizePoolOriginDitaXMovt1.ogCopy%ConvertIJrOotVolGroupwio-89.OgIjSWaPVolGroup-wl-ao-3.94gdatalvdatavg-wl-a-4.0g3umoutdatafs#<HhFllesysteeSizeUsedAvailUse%MountedondevapperVolGroup-lvroot88G3.8G88GSX/tfs939MG939M0%dvshZdtvZsdal48SM33M427MM/boot1.17.#resize2fsdevdatavgdatalv2Gresiz2fs1.41.12(17-May291)Pleaserun>2fsckfdevdatavgdatalv÷irs.M.21w2fsckfdvdatavgd>talve2fsck1.41.12(17-May-2010)Pass1Checkinginodes,blocks9andsizesPass2:CheckingdirectorystructurePass3:CheckingdirectoryconnectivityPass4:Checkingreferencecounts27.5:Checkinggroupsun*>ryinformationdevdatavgdatalv:11/262144files(0.e%non-contiguous).34382/l48S76blocksa9rtsize2fsdvd*avgd4tlv2G31resie2fs1.41.12(17-May-201)Resizingthefilesysteon/devdatavgdatlvto524288(4k)blocks.ThfllsysttondvdatvgdatalvIsnow524288blockslong.M.wmountdevdatavgdatalvdatafsM.37dfhFilesystenSizeUsedAvailUse%Mountedon/devmapper/VolGrouplvroot40.8%3.868SX/1.t三0S93M939K%devshmZdevZsdal48SM33M427M8%/boot/dev/Mpp«r/dat4vg-d*talv44.2.OG69M1.9G4Xdatafs3.在线删除一个共享磁盘1.UN1.pvremoveBultipathfecho1>sysblocksdddevicdtlr例如:root¢esayops/"Isscsig2.(i:ee:ecd/dvdHECVWWArIOECDRieieedvsredvsg3.2:ee:ediskWwareVirtualdisk1devsdadevsgl4.(2:0i:ejdiskVMwareVirtualdisk1edvsdbdevsg25.(2:e2口diskVMw>reVirtualdisk1edvsdcZdevsg36.2:e3:e)diskVMwareVirtualdisk1edevsdddevsg4删除一个不用的Iunrootesayops/#echo1>sysblocksdddevicedeleteroot¢esayops/#Isscsij.i:e0:0)cd/dvdNECVMWargreroeCW1l.devsre4.2:ee;ejdiskVMwareVirtualdiskl.edvsda5.2:ei:ediskVMwareVirtualdisk1.0devsdb6.2:02:0diskVMwareVirtualdisk1.0devsdc删除环节:1 .Takethediskoffline:2 cdsysblocksdbdevlceecho“offline”>state5. 2.DtlEfrodv6. echo1>dleteYoucansakeyourownscriptwiththenaneHBdeV?8.9. 9!ZbifVksh:odev-$l:!-drtJdev,*&&echor<$devdoesnotexist*&&exit1cho"offMn”>/$ys/block/MSd<v,/dtvict/$tittecho1>sysblock*Sdev-devicedelete六、1.inuX运雉命令掌握1.inux下面日常运维使用的命令有太多了,可以根据个人的情况进行适当的记忆.系统负载:top,nmon,dstat等网络:ss,netstat,route,diag,ping,ip,Isof等io:ddjiostat,fio,nmon,dstat,pvs,Ivs,vgs等内存:free,dstat等进程:ps,Isof等配笆:Iscpu,Ispci1dmidecode,lsscsi,udev等设备识别:echo,rescan-scsi-bus.sh等诊断:StraceJtrace等比如还有find如何结合xargs,tree的使用,Isblk等等,还有很多很多,需要长期的积累,当然主要使用还是配舌直看,1.VM设置,网络还有很多成熟的开源和商业产品进行管理,在此不一一列举,感觉可自行百度和google.目前主流的PythOn,ruby这些语言工具可以根据自身情况选择一个掌握。七、诊断工具在日常的运维过程当中,不免要进行所谓的性能或者故障方面问题的诊断,工具和手段包罗万象,在此列举一些日常使用的工具用于参考.PstacktrussPeWPgdbStracestraceossh.strace-Tttp19832 .Ipcs共享内存IpCHi3 IddIogsaveIogsave八mplogsave.logIs纪录命令的洛B列文件lastlog纪录用户品后的普量时间Iastb显示用户错过电录的纪录Iogwatch监控分析日志也患7 grpckcgroup8 pwcketcf>asswdqpldst>tpidof19,iosttd三1blockdevcurlVjl*eb测试比Iynx*一点这里附上一幅1.inux开机流程图,这样很多人就可以更加清楚的了解了1.inUX在启动的整个流程,便于此类问题的解决.1inuxfF槛图:9redhat.,导流程总宽八、网络必杀技Netcat,SSH几种琏道转发模式Jsof,dstat,ethtoolJptraf,iperf,diag,route和多个网卡路由及双网卡绑定技术值得了解这些都是。S层面运维网络方面经常会使用到的几个方面在日常较为常用的操作就是进行双网卡的绑定,下面分享一个绑定的具体流程:1、cpetcsysconfignetworkifcfg-ethO/etc/sysconfig/network/ifcfg-ethO.bakCPetcsysconfignetworkifcfg-ethetcsysconfignetworkifcfg-bondO2、vietcsysconfig/network/ifcfg-eth,注释所有(除以下两行内容),并将值修改如下:BOOTPROTO=,none-STARTMODE=1Off3、cpetcsysconfignetworkifcfg-ethOetcsysconfignetworkifcfg-ethl4、vietcsysconfignetworkifcfg-bondO,增加或更新如下内容,其他内容可注释:BTPROTO='static,IPADDR-'192.168.1.10'METMASK-'255.255.255.,STARTTODE=1OnboofBONDIwG_MA5TER=yesBOI®II4G_MODU1.E_OPTS-m<le-'iiimon-luse,carrier-'BoNDlMG.S1.AVE。eth,BOIOIt½-S1.AVEl='ethl'说明:以上配舌mode=0为负载均衡模式,如果需要配置成主备模式.BoNDING_MODU1.E_OPTS配置如下:BONDING_MODU1.E_OPTS='mode=lmiimon=100use.carrier=Oprimary=eth,5. rcnetworkrestart,重启网络服务生效,并进行测试.6. catprocnetbondingbondO可以查看bonding的状态。