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