DARPA Defense Advanced Research Projects Agency

Amerikanskt forskningsprojekt inom militären.

Ville skapa sätt att kommunicera snabbt och säkert elektroniskt över hela världen.

TCP/IP - alla de vanliga programmen kring det kommer från DARPA.

BSD - darpa betalade Berkeley för att utveckla det,

telnet - okrypterat, väldigt osäkert men används för att kommunicera med mycket gammal och enkel utrustning

rsh - remote shell rcp rlogin har funnits i många system, inklusive till win 3.1. Mer praktiskt än telnet då man kan skicka enskilda kommandon bla. Återigen så är det okrypterat och osäkert, du beräknas som en betrodd partner för enkelt. Du kan aldrig logga in som root på något sätt över nätverket men kan byta till det efter login.

ssh – secure shell, logga in och administrera systemet hårt krypterat, går att logga in som root.

scp – kopiera filer över ssh

rsh host ls /bin skickar ls /bin till host

ssh host ls -bin skickar ls /bin till host

Loginprompten ber först om ett nyckelutbyte första gången och så måste man godta ett byte, man skriver då yes.

ssh uid@host logga in som uid

ssh -l uid host – logga in som uid

w=who men lite mer utförlig information (andra flaggor)

kan vara bra att sätta en alternativ port för säkerhet through obscurity

ssh används för vpn-kommunikation (finns inbyggt i protokollet).

Cluster ssh är till för att utföra samma kommandon över många ssh connections

ssh localhost tar cf /var \| gzip > foo.tgz pacar ihop /var på localhost till foo.gz

nc -l 5555 | gzip -c1 > apa.tgz – ncat lyssnar på port 5555 och packar ihop med låg kompression och lägger in det apa-tgz.

ssh localhost \(tar cf - /var \||nc localhost 5555 \) - Skickar tar cf - /var till port 5555 på localhost. Parentesen är att man ser till att ens eget bash inte beblandar sig.

scp foo.tgz host1 uid@host2:[dit man kopierar] kopierar filen foo-tgz från host1 till host2 som uid, ~/ är default start.

X window system tillåter att man kopplar upp sig grafiskt över nätverket, det är dock helt okrypterat så många kör det över ssh.


VNC

Virtual Network Computing

Fungerar ungefär som en X-server, håller koll på kommunikation med verktygen och arbetsytan.

Traditionellt sett så skapar man ett eget skrivbord men många idag gör att man kan styra en annan aktiv skärm.

VNC är enanvändarsystem, så man kan inte vara inloggad samtidigt som någon annan med VNC utan att det blir krig mellan hur man styr.

Det är egentligen bara under linux som det går med remote login utan fjärrstyrning.

vncserver realvacserver

De två fungerar på det klassiska sättet.


Eftermiddagen

/usr/share/man

Generellt är / alltid lokal.

Resten kan komma från andra ställen än den lokala datorn.

mount är till för att montera partitioner

fdisk -l ger en lista över alla lokala partitioner

udev är till för att vissa saker som skivor eller usb-minnen ska kunna monteras utan root (ofta i /media/[namn på enheten]

SMB – skapad av IBM för att dela protokoll över msdos från början, används mot windows

CIFS – Common Internet File System är en vidareutveckling av SMB för att vara säkrare, dock säkerheten inte riktigt väl ihop med linux.

NFS – Network File System, skapat för UNIX, skapat av SUN microsystems och jobbade hårt med arbetsstationer (fungerande datorer), då var nätverkdsdelning viktigt.

NFS är inte i grunden säkert för det kommer från en tid av LAN, krävs ingen autentisering, det finns säkerhetslager som heter kerberos men det är tyvärr ofta buggigt.

FUSE – File system in User SpacE, skapat för att man ska kunna montera saker utan att vara root, man låter program utanför kärnan sköta monteringen.

Det mesta går att montera via det, allt ifrån gmail-konton till ZFS.


fdisk klarar ofta av att lista ut vilket ska användas

cat /proc/filesystems visa de filsystem som är stödda av kärnan och vad de heter

mount -t [filsystemets namn] /dev/[enhetens namn] /[monteringspunkt] monterar ett filsystem.

tmpfs används för att montera en bit av en disk så att information försvinner vid reboot.

Man kan även använda -t för att montera system som egentligen inte är formatterade som det filsystemet som ett filsystem, exempelvis kan man göra det som tmpfs eller göra en ext3 till en ext2.

Mounts flaggor

ro=read only

noexec=ingen exekvering

nosuid=tillåter inte suid

nodev=tillåter inte devs från det andra filsystem

uid=visar vilket uid som det ägs av


mount /dev/hda /mnt försöker montera /dev/hda i /mnt, /mnt är en temporär monteringspunkt

/etc/fstab innehåller all information om hur diskar ska monteras.


Ordningen i fstab avgör ordningen partitionerna ska kollas, exempelvis för fsck, därför är / först.

Traditionellt visar första kolumnen /dev/[enhetsnamn] men CentOS kör med etiketter istället för att lita på att /dev har rätt.

guid= Globally Unique IDentifier

Ger varje filsystem ett högt slumpvis nummer för att det ska vara lättare att hitta vid byte av fysiska diskar.

Montera en DVD

i fstab

/dev/hda

/dvd

iso9660

ro,nosuid,noexec,noauto

0 0

Var den ligger

Monteringspunkt

Filsystemstyp

Flaggor


mkdir /dvd

mount /dvd/

Monterar en dvd i /dvd

ls /dev/disk/by-id/ visar vad en disk faktiskt kallar sig själv.

ls /dev/disk/by-label/ visar etiketter på de olika partitionerna

ls /dev/disk/by-path/ visar vilken kontroller de olika sakerna ligger på

ls /dev/disk/by-uuid/ visar vilket uid en disk har enligt OS:et, en av nackdelarna framför by-id är att dessa är slumpmässiga och därför kan råka ske på flera diskar

mount server:/usr/ /mnt monterar /usr på mnt via NFS

mount \\server/usr /mnt monterar /usr på mnt via SMB

står man i ett directory kan man inte avmontera det då det används

umount används för att avmontera saker

umount /home avmonterar home

sync tömmer alla diskbuffrar, man behöver köra fsck innan man kommer upp men rimligen ska bufferten vara nedskriven till disk så det borde inte vara trasigt.

mount -o remount -o ro /dvd ommonterar och lägger till parametern ro på /dvd.

Fördelen med att göra det är att du inte kan förstöra filsystemet genom att dra ut strömmen.

/etc/mtab innehåller de monterade filsystemen, det är en riktig fil till skillnad från /proc, det är legacy i princip.


NFS fungerar som ett lokal filsystem, dvs, säkerheten är låg för att man kan logga in som valfri användare och komma åt alla filer.

SMB=Server Message Block eller Samba om man är unixnerd

Kan även användas för att dela skrivare.

Kan användas till att distribuera tid.


/etc/fstab

ett filsystem per rad


The X window system

UNIX GUI

Både ett protokoll och en implementation.

Operativsystemoberoende

Modulärt och extensibelt

Klient-server, dvs, man har en bakände och en klient

Startande av X

X brukar ligga på runlevel 5 normalt sett, men det varierar

Ubuntu brukar köra på 2 normalt sett.

startx startar X via xinit.

Finns olika display managers, xdm är gammal, andra populära är GDM (Gnome) och KDM (K).

xmodmap går att använda till att ställa om ens layout

Window managers

X styr inte utseende utan är bara till för att ge möjlighet till fönsterhanterare att kunna göra det.

Exempelvis FWVM, Fluxbox, OpenBox

Desktop manager

Mer kompletta miljöer med alla möjliga funktioner som paneler, klippbok och sånt mys.

Exempelvis Gnome och KDE

KDE

Alla har liknande utseende

Bygger på QT

teman

kör kwin som fönsterhanterare

Gnome

Startades för att KDE hade lite closed sourced (QT var det förrut).

Startades för simplicitet och funktionsduglighet.

Baserat på GTK.

Högeligen ändringsbart

Program som kommer från det:

Evolution, Gnumeric, Abiword, Balsa, GnuCash (personal financial management)

Finns även andra miljöer som försöker vara lättviktiga

Exempelvis LXDE och XFCE