Gisp Global Internet Service Provider Bilag 2 Driftshåndbog Aalborg Universitet Master i IT - Systemadministration
1 Indledning Formålet med dette dokument er at introducere nogle værktøjer som kan bruges i det daglige arbejde med driften af GISP eller andre tilsvarende servere. Dokumentet må ikke betragtes som fyldsgørende men blot som en introduktions til arbejdsmetoder. GISP Global Internet Service Provider Side 2 af 6
2 Klargøring og installation. Selve installationen er beskrevet i dokumentet Installationsguide 2.1 Automatisk opstart af programmer De fleste af programmerne placerer automatisk et opstartsscript i /usr/local/etc/rc.d/ under installationen. Disse scripts vil blive kørt under opstart med en start kommando. Tilsvarende vil de blive kørt med en stop ved en shutdown. 3 Hjælpeværktøjer I forbindelse med den daglige vedligeholdelse af en UNIX-server er der en del rutine opgaver som skal løses, hertil er det praktisk med nogle hjælpeværktøjer Det vigtigste værktøj er man, en samling af manual sider, der beskriver kommandoers syntaks og formål. Mangler man f.eks. en kommando, men ikke ved hvad kommandoen hedder kan man søge efter relevante kommandoer med man k <nøgleord> f.eks. man -k floppy giver en liste over kommandoer som kan bruges til floppy disketter 3.1 Udvalgte hjælpeværktøjer. sudo Med sudo kan root give en eller flere brugere ret til at udføre kommandoer som andre brugere. Eks. vil kommandoen sudo -u root ls / udføre ls / som root. (Inden sudo kan bruges skal root først give tilladelse hertil. Gøres med visudo) ls Viser indholdet af et bibliotek df Viser mængden af brugt/ledig diskkapacitet df k (-k medfører at resualtatet vises i kilo, denne er ikke nødvendig på FreeBSD da dette er default på FreeBSD, hvilket ikke er tilfældet på alle unix systemer og det er derfor en god vane altid at bruge k) [letager@gisp ports]$ df -k Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da0s1a 99183 48514 42735 53% / /dev/da0s1f 1016303 456013 478986 49% /data /dev/da0s1g 1016303 413405 521594 44% /home /dev/da0s1e 1016303 764110 170889 82% /usr procfs 4 4 0 100% /proc du Viser mængden af brugt diskplads i det bibliotek man står i, samt underbiblioteker du sk s = viser kun det samlede forbrug. k = viser i kbytes ntpdate Sætter tiden på computeren i forhold til en tidsserver. ntpdate eks /usr/sbin/ntpdate mcenroe.control.auc.dk (mcenroe kører en ntpserver) top Viser de vigtigste informationer om processer, der kører på maskinen, sam hvor belastet processorer og hukommelsen er. GISP Global Internet Service Provider Side 3 af 6
netstat Giver information om status for netforbindelserne eks netstat -an grep LIST viser hvilke porte serveren lytter på. i /etc/services kan findes en oversigt over hvad de forskellige porte bruges til nmap Scanner for åbne porte. Kan både udføres lokalt på serveren eller fra en anden sever. Giver mulighed for at sikre at man har opsat firewall foran serveren korrekt. BEMÆRK DET BETRAGES MEGET ALVORLIGT HVIS MAN PORTSCANNER ANDRES MASKINER UDEN AFTALE. (Som at undersøge om døre og vinduer i et hus er lukket) ifconfig Giver en status på serverens netværksinterface ifconfig a giver en status på alle interfaces ps Giver en status på kørende processer ssh / scp ssh bruges til at tilgå serveren fra en anden computer vha. en krypteret forbindelse og derved få en shell på serveren. scp bruges til at kopiere filer til eller fra serveren. (Udnytter en krypteret forindelse som opnåes vha. integration med ssh.) crontab Udfører kommandoer på forudbestemte klokkeslet. crontab l viser den aktuelle opsætning make bruges til at vedligeholde installere andre programmer Typisk procedure for at installere et Make bruges også til at installere fra FreeBSD s port collection tar tape archive Bruges til at pakke en eller flere filer sammen på bånd eller til en fil. gzip / gunzip, compress Bruges til at komprimere filer. su Med kommandoen su (substitute user identity) er det muligt at skifte mellem identited mellem brugere. Eks. su - bbuser shutdown Lukker systemet ned efter at have kørt /etc/rc.shutdown, så alle systemer bliver lukke pænt og ordentligt typisk kommando shutdown h now GISP Global Internet Service Provider Side 4 af 6
adduser Tilføjer en bruger til brugerdatabasen passwd Ændrer password for den aktuelle bruger eller den bruger, der er angivet. Kun root kan ændre password for andre brugere. 4 Overvågning Formålet med overvågning er at kontrollere systemet automatisk, således at fejl opdages hurtigst muligt således at fejlene kan udbedres inden de påvirker brugerne af systemet.. På GISP er installetet BigBrother, som er en samling scripts der generer et sæt html sider se http://gisp.control.auc.dk/bb/ Ønskes overvågningen udvidet kan færdiglavede scripts hentes fra http://www.deadcat.net eller laves selv. Under normal drift vil systemet skrive nogle log filer som fortæller om systemets tilstand. Disse logfiler kan gennemgåes for at finde fejl eller optræk til fejl. F.eks. kan man i /var/log/httpd-error.log se de fejl som webserveren melder om. Til at arbejde med logfilerne er flg. kommandoer gode. cat, viser indholdet af en fil more / less, formatrere output således at der vises en skærmfuld af gangen. Less er en nyere og forbedret version af more. head, viser starten af en fil tail, viser slutningen af en fil (eks. tail 20 viser de sidste 20 linier, tail f er også meget god i debug sammenhænge da den viser de sidste linier og viser herefter linier efter som de kommer.) grep, bruges til at søge efter bestemte ord. wc bruges til at tælle f.eks. linier. (pipe) bruges til at sætte flere af ovennævnte sammen eks. viser flg. kommando de linier i webserverens logfil hvor 62.107.89.33 har kigget på sider fra www.kurtkold.dk cat /var/log/httpd-access.log grep www.kurtkold.dk grep 62.107.89.33 less og cat /var/log/httpd-access.log grep www.kurtkold.dk grep 62.107.89.33 wc l fortæller hvor mange gange det er sket. 5 Fejlfinding Skulle det ske at der opstår en fejl på systemet er det meget vigtigt hurtig at kunne lokalisere fejlen og få den udbedret. (Selvom de fleste fejl kan klares hurtigt ved bare at boote maskinen er dette umiddelbart en dårlig løsning, da man så ikke får opsamlet viden om hvad der gik galt, og fejlen så sandsynligvis vil opstå igen. Symtombehandling istedet for fejlbehandling) GISP Global Internet Service Provider Side 5 af 6
Ved fejlfinding på et computer system gælder de samme principper som for alle andre systemer. 1.) Lokaliser fejlen. (Det hjælper ikke at kigge på webserverens logfiler, hvis det er radius serveren som er fejlbehæftet) Saml så mange oplysninger om fejlen som muligt. Eks. er mere end et subsystem påvirket af fejlen. Køres der som på GISP et overvågningssystem kan dette give oplysninger. 2.) Undersøg serverens generelle tilstand. Brug bla. top, netstat og ps 3.) Undersøg fejlen i dybden ved at undersøge logfiler. Simuler evt. tjenestens protokol ved at lave en telnet localhost <port> 6 Opdatering af FreeBSD Såfremt det af sikkerheds eller andre grunde bliver nødvendigt at opdatere operativsystemet er dette muligt på flg. vis Opdatere kildekoden til systemet vha. cvsup (konfigurationsfil til cvsup er I cvs) cvs co config/cvsup/stable-supfile cvsup config/cvsup/stable-supfile Kompiler system filerne og den nye kerne cd /src/ make buildworld make installworld make kernel make kernel install Installation af utilities fra portscollection Såfremt der er behov for at installere yderligere hjælpeprogrammer bør dette ske vha af portscollection. Hvis det ønskes at opdatere nogle af programmerne med en nyere version kan det gøres med make deinstall cvsup ports-supfile make reinstall For at sikre de seneste opdateringer til portscollection ved installation kan der oprettes en supfile, således at portscollectionen kan opdateres til seneste version med cvsup. GISP Global Internet Service Provider Side 6 af 6