Notater fra mitt forsøk på å
lære meg bruken av Red Hat Linux
Benyttede kilder:
Benyttede Linux –
distribusjoner: Red Hat 7.1 – 7.3 og Red Hat 8.0
Jeg har benyttet en del tid på å forsøke å lære meg installasjon, bruk og elementær drifting av Red Hat Linux. Til hjelp for meg selv har jeg utarbeidet dette notatet underveis.
Notatet er stikkordsmessig oppbygd og kan nok være
vanskelig å forstå for dem som ikke kjenner noe til Linux fra før. Mange av de
tingene jeg har notert ned har jeg plukket ut fra de to danske kildene som er
nevnt ovenfor.
Jeg påtar meg ikke noe ansvar for problemer som måtte oppstå og eventuelle data som måtte gå tapt pga. feil eller mangler i dette notatet.
Jeg har valgt å legge min presentasjon ut på
Internett da muligens noen kan få hjelp eller noen tips! Lykke til alle Linux –
brukere!
Bjørn Roger Rasmussen (brr@brr.no, http://www.brr.no/)
Linux - nybegynner
Versjon 0.05 – 11.
februar 2003
4
Filsystemet til Linux i detalj
7
Grafiske verktøy til systemadministrasjon
8
Kommandolinje – baserte verktøy systemadministrasjon
10
Sentrale konfigurasjonsfiler
17 NFS (Networked File System)
26
Apache Web – server, hjemmesider, PHP og htaccess
29
Cygwin, X-server på Windows og X11 forwarding
30
Rdesktop mot Windows 2000 terminal server
31 Linux via VMWare workstation på
Windows
35
True type fonter (TTF) fra Windows på Linux Red Hat 8
Pga mine mangelfulle kunnskaper lar jeg normalt Red Hat sitt installasjonsprogram selv styre partisjoneringen (harddisk – oppdelingen). Hvis man likevel skulle ønske å gjøre dette manuelt foreslår jeg følgende inndeling (hentet rett fra den danske GnuSkole – boka):
Swap |
256 MB |
/boot |
16 MB |
/ |
4 GB |
/var/spool |
2 GB |
/var/log |
1 GB |
/home |
Resten |
Kommentarer:
PS! Dette installasjons – kapittelet er tilpasset Red Hat
7.x og er ikke oppdatert med endringer og nye valg under installasjon av Red
Hat 8.0. Blant annet har Grub blitt innført til erstatning for LILO, noen nye
valg har kommet til, en del menybilder har blitt endret etc.
Under mine forsøk hadde jeg en ”blank” harddisk til å installere Linux på. Hvis data på harddisken skal beholdes og / eller dual boot mellom Linux og Windows ønskes blir framgangsmåten for installasjon noe annerledes (ikke omtalt i dette notatet).
Installasjonsveiviseren består av valgene nevnt nedenfor. Etter å ha foretatt nødvendige valg på de ”ulike postene” trykkes Next for å gå videre:
Gi maskinen et navn:
Rediger filen: /etc/hosts
La stå: 127.0.0.1 localhost.localdomain localhost
Legg til: x.x.x.x mittdomene.navn alias
Rediger også filen: /etc/sysconfig/network
HOSTNAME=mittdomene.navn
I Red Hat 8 kan disse tingene også settes opp ved hjelp av redhat-config-network.
Linux skal selv finne de fleste hardware – enheter installert i maskinen. Hvis en eller flere enheter ikke blir funnet automatisk kan man foreta en manuelle installasjon / konfigurasjon med ”kommandoene” nedenfor (gjelder kun i Red Hat 7.x):
I Red Hat 8.0 har mange av disse kommandoene blitt skiftet ut:
De fleste kommandoer ovenfor må kjøres under X Windows.
Tips: Skriv i et terminalvindu redhat- etterfulgt av to trykk på tabulatorknappen. Du får da en samlet oversikt over ”redhat – kommandoene”.
Installasjon av enheter som ikke er støttet av distribusjonen (nedlasting av ”drivere” fra nettet) blir ikke forklart i denne presentasjonen.
Filtre: |
Beskrivelse: |
/ |
Toppen av katalogstrukturen. |
/bin |
Sentrale system – kommandoer |
/boot |
System – kjernen |
/dev |
Device – filer (Adgang til harddisk, diskett, CD, mus, tastatur, printer…) |
/etc |
Systemoppsettsfiler / konfigurasjonsfiler. |
/home |
Brukernes hjemmekataloger. |
/lib |
Delte systemfiler |
/opt |
Standard installasjonskatalog for større programmer i SuSE. |
/lost+found |
Tapte filer reddet av Linux (jf. .chk – filer i Windows). |
/mnt |
Tilgang til CD-ROM, diskett osv. via mount. |
/proc |
Informasjon om kjørende programmer, minnebruk og status kjerne. |
/root |
Superbrukers (root) sin hjemmekatalog. |
/sbin |
System – kommandoer som kun root har tilgang til. |
/tmp |
Midlertidige filer som benyttes av diverse programmer. |
/usr |
Programmer, biblioteker og dokumentasjon. |
/usr/local |
Maskinspesifikke programmer, biblioteker og dokumentasjon. |
/var |
Midlertidige filer, blant annet skriverjobber, e-post og logger. |
Veksling mellom de virtuelle konsollene: CTRL + ALT + F1 – F7 (F7 = X-Windows).
Kommando: |
Funksjon: |
/.bashrc |
Alias til kommandoer kan opprettes i denne fila (f. eks. alias dir=’ls –al’) |
apropos |
Hjelp til å finne riktig man – fil (f. eks. apropos mail). Lag indeks: makewhatis |
cat |
Vise innholdet av en tekstfil (f. eks. cat /etc/passwd |more). |
cd |
Change
Directory (f. eks. cd /home, cd .., cd /) |
chmod |
Endring av rettigheter på filer / kataloger (f. eks. chmod 755 /home/test) |
chown |
Endre eier av en fil / katalog (f. eks. chown –R root:root /home/test) |
cp |
Kopiering av filer. |
date |
Stilling av dato og klokke (f. eks. date 0719155201.40, dvs. mmddttttåå.ss) |
dmesg |
Viser oppstartsloggen (dmesg |more). |
df og du |
Ledig / brukt harddisk – plass. |
fdisk |
Partisjonering av harddisk. |
fetchmail |
Henting av e-post fra remote server til lokal server (Oppsett: fetchmailconf)
. |
find |
Finne filer. Andre muligheter: slocate / locate, whereis... |
gmc |
Starte ”Gnome filbehandler”. ”Windows – utgave” av mc. |
hdparm |
”Tuning” av harddisk. |
ifconfig |
Nettverkskort – informasjon (ifconfig eth0 up, ifconfig eth0 down) |
kill |
Avbryte en prosess (f. eks. kill 585, eventuelt kill –9 585) |
last |
Sist innlogget (f. eks. last root eller last dinbruker). |
ln |
Opprette symbolsk lenke (f. eks. ln –s minfilmedlangtnavn.txt mf.txt) |
locate |
Søke etter fil. |
ls |
Jf. kommandoen dir i DOS (ls –al). ”Innholdsfortegnelse” for en katalog. |
man kommando |
Manualen for gitte kommando (f. eks. man touch). |
mkbootdisk |
Lage boot disk (mkbootdisk kjernenr, f. eks. mkbootdisk 2.2.16-22). Formatere diskett: fdformat /dev/fd0H1440 og mkfs /dev/fd0 |
mkdir |
Opprette ny katalog. |
modprobe |
Manuell inn- og utlesing av moduler (modprobe navn, modprobe –r navn) |
mv |
Flytting av filer. |
passwd |
Skift passord |
pico |
En ok editor til f. eks. å redigere konfigurasjonsfiler. |
pine |
E-post program. |
ps aux |
Oversikt over kjørende prosesser. |
pwd |
Print working directory. Hvor i katalogstrukturen er du? |
rdate |
Hente dato / tid fra tidsserver (f. eks. rdate –s ntp.uio.no) |
rename |
Endre navn på en fil (f. eks. rename gammeltnavn nyttnavn) |
rm |
Fjerne fil. |
rmdir |
Fjerne katalog. |
su |
”Logge inn” (login) som annen bruker (f. eks. su – root). |
suid |
Set user id. Et program kjører som annen bruker og med andre rettigheter enn innlogget bruker (find / -user root –perm +4000). |
switchdesk |
Endre fra f. eks. Gnome til KDE sitt X-Windows – system. |
tcpdump |
Viser nettverkstrafikken (se man tcpdump for mer info.) |
top |
Belastning på systemet osv. |
touch |
Endre tidsstempel (dato og tid) på fil. |
unzip tar compress gzip rpm |
Pakke – programmer. Pakking: tar cvzf filnavn.tgz kildefiler Opp-pakking: tar xvzf filnavn.tgz Installere: rpm –Uvh pakkenavn.rpm / rpm –ivh pakkenavn.rpm, sjekke: rpm –q pakkenavn, fjerne: rpm –e pakkenavn |
uptime |
Oppetid system. |
vi |
Unix editoren vi. Bruk heller pico! |
vncserver vncviewer |
Fjernstyringsverktøy. Server – biten startes ved å kjøre vncserver. (Avslutte server – program: F. eks. vncserver –kill :1) |
who |
Hvem er inne på maskinen akkurat nå? |
whoami |
Hvem er du logget inn som? |
xmms |
Multimedia avspillingsprogram (blant annet MP3). |
Navn: |
Funksjon: |
control-panel |
Tilgang til diverse verktøy for systemadministrasjon. |
gnome-lokkit |
Firewall – konfigurering. |
isdn-config |
Oppsett og konfigurering av ISDN – kort. |
linuxconf |
Tilgang til diverse verktøy for systemadministrasjon. |
make xconfig |
Konfigurering av kjerne (stå i katalogen /usr/src/linux) |
netcfg |
Nettverksinnstillinger. Et annet verktøy er netconf. |
printool |
Installering og administrasjon av skrivere. |
userconf |
Administrering av brukere. |
I Red Hat 8.0 virker kun et mindretall av kommandoene / verktøyene nevnt ovenfor. I stedet kan følgende kommandoer gis fra et terminalvindu som igjen starter de grafiske verktøyene:
Navn: |
Funksjon: |
redhat-config-network |
Nettverksinnstillinger og oppsett, inkludert ISDN. |
redhat-config-printer |
Installering og administrasjon av skrivere. |
redhat-config-users |
Administrering av brukere. |
redhat-config-xfree86 |
Oppsett
skjerm. |
Nødvendige kommandoer kan også nås inne i X Windows via programkategoriene System Tools og System Settings.
Navn: |
Funksjon: |
chkconfig |
Automatisk oppstart av en tjeneste ved hver omstart (f.
eks. chkconfig httpd on for automatisk å starte opp Apache web server). |
setup |
Tilgang til diverse verktøy for systemadministrasjon. |
sndconfig |
Installering av lydkort. |
up2date |
Oppdatering av Linux (jf. Live Update i Windows) |
xf86config Xconfigurator |
Oppsett av skjerm og skjermkort til bruk i X-Windows. |
Nettverksprogrammer: Ping, Traceroute, Pine (e-post), Telnet, SSH og FTP.
Fil: |
Funksjon: |
/etc/aliases |
Oppretting av e-post – aliaser. Husk å kjøre newaliases etter redigering. |
/etc/conf.modules |
Konfigurasjon og oppstart av moduler som kan leses inn / ut under drift av maskin. |
/etc/crontab |
Automatisk kjøring av gitte programmer på bestemte tidspunkter. |
/etc/exports |
Gi andre NFS – maskiner tilgang til filsystemet. |
/etc/fstab |
Disk – partisjoner som skal / kan bli auto – montert ved oppstart. |
/etc/group |
Grupper og gruppemedlemmer på en maskin. (Gruppeadgang: chmod g+w fil) |
/etc/gshadow |
Krypterte adgangskoder for gruppene i /etc/group |
/etc/hosts |
Brukes i mangel av DNS. Inneholder domenenavn og IP-adresser. |
/etc/inetd.conf |
Oversikt over åpne / lukkede Internett – servicer. I Red Hat 7 er /etc/inetd.conf skiftet ut med /etc/xinetd.conf (/etc/xinetd.d) |
/etc/issue.net, /etc/issue og /etc/rc.d/rc.local |
Informasjon om Linux – versjon (systeminformasjon) som kommer fram ved hver innlogging. Bør fjernes i issue – filene samt settes i # - tegn i rc.local for å gjøre livet litt mer vanskelig for hackere! |
/etc/passwd |
Oversikt over opprettede brukere på systemet. |
/etc/printcap |
Skriverkonfigurasjon. Bruk programmet printtool for å konfigurere. |
/etc/rc.d |
Runlevel oppstartsfiler / kataloger (rc.local, rc0.d – rc6.d). init.d = Skriptfiler. |
/etc/resolv.conf |
Oversikt over hvilke DNS – servere som skal benyttes. |
/etc/securetty |
Oversikt over hvilke terminaler som root kan logge seg inn fra. |
/etc/sendmail.cf |
Konfigurasjonsfil til sendmail. Foreta korrigering av feltet DS (oppgi ekstern mail – server, f. eks. DSsmtp.c2i.net). |
/etc/shadow |
Krypterte adgangskoder for brukerne i /etc/passwd |
/etc/skel |
”Mal – katalog” som brukernes hjemmekataloger blir basert på. |
/etc/sysconfig |
Konfigurasjonsparametere. Nettverk: /etc/sysconfig/network-scripts |
/etc/X11/XF86Config |
Konfigurasjonsfil for X Windows. |
/etc/xinetd.conf |
Se /etc/inetd.conf |
Run Level = “Systemets tilstand” (hvilke “modus” maskinen kjører i).
Run level: |
Beskrivelse: |
0 |
Avslutte systemet (jf. shutdown –h now) |
1 |
Enkeltbruker – modus |
2 |
Flerbrukermodus uten NFS |
3 |
Flerbrukermodus med NFS (”Vanlig” run level) |
4 |
Brukes ikke |
5 |
Starter opp i X11 |
6 |
Gjenstart av systemet (reboot) |
Begreper:
DHCP =
Dynamic Host Configuration Protocol
Eksempel på fil:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.250;
option subnet-mask 255.255.255.0;
# default gateway
option routers 192.168.0.1;
option domain-name "intranet";
option domain-name-servers 192.168.0.1;
default-lease-time 36000;
max-lease-time 86400;
}
FTP: File Transfer Protocol
ProFTPD kan integreres med Red Hat Linux 7 sitt xinetd – system. Jeg har imidlertid valgt ”stand alone – installasjon” da jeg fant dette lettest og mest hensiktsmessig for meg.
Kommunikasjonen kan krypteres ved hjelp av f. eks. programmet SafeTP.
· Foreta følgende korrigeringer i filen /etc/inittab:
o id3:…… endres til id5:……
o Ta bort –nodaemon fra linja x:5:res……. –nodaemon
· Foreta følgende korrigeringer i filen /etc/X11/gdm/gdm.conf:
o Enable=0 under [xdmcp] endres til verdien 1.
·
Start
i run level 5 (init 5).
·
Klienten:
/usr/X11R6/bin/X –query SERVERNAVN
· På klienten kan oppstarten automatiseres ved å sette inn følgende streng i /etc/inittab: x:3:respawn:/usr/X11R6/bin/X 2>/var/log/Xlog –dpi 100 –query SERVERNAVN
Samba muliggjør fil- og skriverdeling med Windows – maskiner.
[global]
workgroup = angi navn på arbeidsgruppen
netbios name = angi navn på serveren
Lengre nede i filen skal det stå:
Security = user
Ta bort ; foran encrypt passwords = yes
Muligens bør beskrivelsesfeltet server string = Samba Server endres til noe mer fornuftig enn Samba Server?
Mounting av Windows – stasjon på Linux:
Fra Linpro (http://www.linpro.no/) har jeg snappet følgende brannmur – skript basert på iptables (http://tapeth.frs.linpro.no/doc/brannvegg/index.html):
Deres innledning:
Skriptet:
#!/bin/sh
#
Nett
$DMZNET='192.168.1.0/24'
$LANNET='192.168.0.0/24'
#Interfaces
$OUTIF='ippp0'
$LANIF='eth0'
$DMZIF='eth1'
#
Ip-adresser på interfaces
$LANIFIP='192.168.0.1'
$DMZIFIP='192.168.1.1'
# Servere
$DMZWEB='192.168.1.2:80'
# Default policies
iptables -P INPUT -J DROP
iptables -P FORWARD -J DROP
iptables
-P OUTPUT -J DROP
#
La oss begynne med å route litt
route add -net $DMZNET gw $DMZIFIP dev $DMZIF
route add -net $LANNET gw $LANIFIP dev $LANIF
route add default dev $OUTIF
# Maskering
iptables -t nat -A POSTROUTING -o ippp0 -j MASQUERADE
#
Vi åpner for all bruk innenfra
iptables -A FORWARD -s $DMZNET -d 0/0 -j ACCEPT
iptables -A FORWARD -s $LANNET -d 0/0 -j ACCEPT
#
Stateful connections
iptables -A FORWARD -m state --state NEW -s 0/0 -d
$LANNET -J DROP
iptables -A FORWARD -m state --state
ESTABLISHED,RELATED \
-s 0/0 -d
LANNET -J ACCEPT
# Redirecte til webserveren. For å få dette til er det
mulig at man må
#
åpne for trafikk til port 80 på selve brannveggen...
# iptables -A INPUT --dport 80 -J ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -i
$OUTIF \
-j DNAT --to $DMZWEB
#
Vi vil typisk tillate ICMP-pakker over en lav sko.
iptables -A FORWARD -p icmp -J ACCEPT
iptables -A INPUT -p icmp -J ACCEPT
iptables -A OUTPUT -p icmp -J ACCEPT
#
DONE
Mer informasjon finnes blant annet på:
route add
default gw myhost
Normalt ikke nødvendig:
Brukernes hjemmesider:
PHP:
Adgangskoder til en katalog på web – server:
<Limit GET POST>
Order
deny,allow
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
AuthName
"Passordbeskyttet område"
Require valid-user
</Limit>
htpasswd –c /var/www/html/.htpasswd brukernavn
NB! Hvis du skal ha
flere brukere enn en som skal ha tilgang på den beskyttede katalogen kjøres
htpasswd gjentatte ganger, men UTEN –c – parameteren. Hvis –c blir benyttet
blir eksisterende passord – fil slettet.
NB! Rettighetene til
fila .htpasswd må settes til 755 (chmod 755 .htpasswd)
Finn:
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">
....
AllowOverride None
....
</Directory>
Endre AllowOverride
None til AllowOverride All
Nå skal du få spørsmål om passord neste gang du prøver å gå inn i den passordbeskyttede katalogen via din web – leser (http://ip_til_linux_boks/beskyttet/).
MOD_SSL kan legges inn for økt sikkerhet. Virtuelle verter: Legges inn i /etc/httpd/httpd.conf
For å overføre filer til din web – server kan et FTP – program benyttes. Pga. dårlig sikkerhet anbefales bruk av SSH i stedet. Til SSH filoverføring kan f. eks. WinSCP2 nevnt tidligere i denne presentasjonen bli benyttet.
host ws001 {
hardware ethernet 52:54:AB:DD:2A:40;
fixed-address 192.168.0.1;
filename "/lts/vmlinuz-2.4.19-ltsp-1";
}
# Config file for the
Linux Terminal Server Project (www.ltsp.org)
#
[Default]
SERVER
= 192.168.0.254
XSERVER
= auto
X_MOUSE_PROTOCOL
= "PS/2"
X_MOUSE_DEVICE
= "/dev/psaux"
X_MOUSE_RESOLUTION =
400
X_MOUSE_BUTTONS =
3
USE_XFS =
N
LOCAL_APPS =
N
RUNLEVEL =
5
XkbLayout =
"no"
XkbSymbol =
"pc104"
XDM_SERVER =
192.168.0.254
#------------------------------------------------------------------------------
#
# Example of
specifying X settings for a workstation
#
[ws001]
XSERVER =
auto
LOCAL_APPS =
N
USE_NFS_SWAP =
Y
SWAPFILE_SIZE =
64m
RUNLEVEL =
5
[ws002]
X_MOUSE_BAUD =
1200
X_MOUSE_RESOLUTION = 50
X_BUTTONS = 2
X_MOUSE_PROTOCOL =
"Microsoft"
X_MOUSE_DEVICE =
"/dev/ttyS1"
XkbTypes =
"default"
XSERVER =
auto
LOCAL_APPS =
N
USE_NFS_SWAP = Y
SWAPFILE_SIZE =
64m
RUNLEVEL =
5
Støtte for lokal diskettstasjon på klientene:
VNC:
o cd /tmp
o tar zxf
vmware-linux-tools.tar.gz
o cd
vmware-linux-tools
o ./install.pl
o startx
I X – Windows kan verktøyet vmware-toolbox bli benyttet for å foreta ytterligere konfigurasjon.
Artikkel angående Apt-get til Red Hat:
http://linuxguiden.linpro.no/article.php?sid=410
For å få til automatisk sjekking og oppdatering av systemet kan en tekstfil med følgende innhold legges i /etc/cron.daily:
#/bin/sh
apt-get update
# For å oppdatere pakkebeskrivelsene
apt-get -y upgrade
# For å oppgradere
apt-get clean
# For å fjerne de oppdaterte pakkene fra temp
Vi oppretter en ny database i MySql (IKKE skriv inn tallene 1., 2. etc.):
Forklaring til punktene ovenfor:
En web – basert løsning (krever PHP) for å administrere MySql er: http://www.phpmyadmin.net/
Noen verktøy finnes også i administrasjonssystemet http://www.webmin.com/ omtalt tidligere.
http://www.gnuskole.dk/bog/backup.html
For å nyttiggjøre seg av de nye skrifttypene i Open Office må følgende gjøres:
Lykke
til!