29
Hands On Linux Hands On Linux

Hands on presentatie

Embed Size (px)

Citation preview

Page 1: Hands on presentatie

Hands On LinuxHands On Linux

Page 2: Hands on presentatie

● Inuits● Open Source● http://inuits.be

● Jan Vansteenkiste● [email protected]

IntroductieIntroductie

Page 3: Hands on presentatie

Virtual BoxVirtual Box

● Virtuele Machine● KVM● Xen● VirtualBox● ...

● Virtual Box● Installatie

– Windows: http://<my.ip>/– Linux: Afhankelijk van distributie

● Ubuntu: sudo apt-get install virtualbox-ose

Page 4: Hands on presentatie

Virtual BoxVirtual Box

● Aanmaken nieuwe Virtuele Machine

● Configureren nieuwe machine

● Installatie Linux

Page 5: Hands on presentatie

Installatie LinuxInstallatie Linux

● Partitionering: Uitsplitsen? ● /var, /boot, /home, /tmp, ...

● Netwerk instellingen

● Root wachtwoord (in ubuntu: gebruiker aanmaken & wachtwoord instellen)

● Installatie basis systeem

● Installatie van packages

● Kernel (/boot)

● Bootloader● Grub / Lilo

Page 6: Hands on presentatie

Filesystem Hierarchy StandardFilesystem Hierarchy Standard

● Voorspellen locatie bestanden● Software / OS● Gebruikers

● Bestandsysteem● Bestanden die kunnen gedeeld worden <->

Bestanden die NIET kunnen gedeeld worden● Statisch <-> Variabel

Page 7: Hands on presentatie

Filesystem Hierarchy StandardFilesystem Hierarchy Standard

● / - 'root' filesystem – start punt voor alles

● /bin - 'binary' – uitvoerbare bestandeen (voor gebruikers)

● /boot - bestanden noodzakelijk voor booten (opstarten)

● /dev - 'devices' – speciale directory (niet aanpassen)

● /etc - '' - systeem configuratie

● /home - peresoonlijke files

● /lib - gedeelde libraries

● /lost+found – filesystem controle

● /media - verwijderbare media (usb disk, cdroms)

● /mnt - permanente mounts

● /opt - optional – externe software (bv java, ...)

Page 8: Hands on presentatie

Filesystem Hierarchy StandardFilesystem Hierarchy Standard● /proc - kernel info / configuratie

● Voorbeeld: 'cat /proc/cpuinfo'

● /root - 'home' folder van root gebruiker

● /sbin - systeem binaries. Enkel beheerder heeft toegang

● /selinux - pseudo-filesysteem (zoals proc) voor selinux (security)

● /srv - plaats om bestanden aan te bieden door services

● /tmp - tijdelijke bestanden

● /usr - deelbare, -optionele) alleen-lezen data. Niet vereist om basissysteem werkend te krijgen.

● Verder onderverdeeld in: bin, lib, sbin, ...

● /var - 'variabel' – snel veranderende data

● /var/log - log bestanden

● /var/spool - nog te verwerken bestanden (mail bv)

● ...

Page 9: Hands on presentatie

RunlevelsRunlevels● Linux opstarten:

● bootloader -> kernel● init (/etc/inittab)

– runlevels

● Runlevel bepaalt welke services opgestart worden

● Speciale runlevels:● 0: halt (shutdown)● 6: reboot● 1: single user● 5: start grafische interface

Page 10: Hands on presentatie

RunlevelsRunlevels

● /etc/init.d/● opstart scripts

● /etc/rc*.d/● runlevel configuratie

● symlinks (gebruik ls -l)● Configuratie tools:

● rcconf● service

● chkconfig (chkconfig -l -A)

Page 11: Hands on presentatie

ShellShell

● Text based - Terminal

● Shell: Bash● Prompt (username / hostname / directory)● Build in commands:

– echo, exit, export, history, kill, ...● Ctrl-c : afbreken● Ctrl-r : zoeken in history

Page 12: Hands on presentatie

ShellShell● Uitvoeren van commando's

● ls <opties> <argumenten>ls --helpls -la

● Bewegen door directory structuur● Relatieve vs Absolute paden

– '.' '..'

– ~

– vb1: ../../foldervb2: /path/to/foldervb3: ~/folder/

● Commandos: – pwd

– cd

– ls

Page 13: Hands on presentatie

ShellShell

● Hulp op de shell:● commando --help● man <commando>

q - afsluiten

/zoekstr - zoeken

– Zoek op wat '-o' doet bij het 'ls' commando

Page 14: Hands on presentatie

ShellShell

● Bestand & Directory operaties● mkdir - make dir● touch - maakt lege bestanden aan● cp - copy● mv - move● rm, rmdir - remove / removedir● cat ● less, more

cat bestand.txt | less● find

find . -iname *.log

Page 15: Hands on presentatie

● Maak een volgende structuur aan (mkdir, touch)

<home-folder><home-folder>`-- handson`-- handson |-- nog_een_folder|-- nog_een_folder | `-- bestand1| `-- bestand1 `-- voorbeeld`-- voorbeeld `-- sub`-- sub |-- file1|-- file1 |-- file2|-- file2 `-- file3`-- file3● Kopieer bestand1 naar bestand2 in dezelfde map

● ls /dev | morels /dev | less (ls afsluiten met 'q')

Page 16: Hands on presentatie

Quick solutionQuick solution

Sneller alternatief: mkdir -p handson/voorbeeld/sub mkdir handson/nog_een_folder

Nog sneller: mkdir -p handson/{voorbeeld/sub,nog_een_folder}

Bestanden aanmaken mbv (bash-)scripting for nr in `seq 1 3`; do touch handson/voorbeeld/sub/file$nr; done

mkdir handsonmkdir handson/voorbeeldmkdir handson/voorbeeld/submkdir handson/nog_een_folder

touch handson/nog_een_folder/bestand1touch handson/voorbeeld/sub/file1touch handson/voorbeeld/sub/file2touch handson/voorbeeld/sub/file3

cp handson/nog_een_folder/bestand1 handson/nog_een_folder/bestand2

Page 17: Hands on presentatie

Text EditorsText Editors● vi (vim = vi improved)

● commando's:– esc - verlaat huidige mode

– i - insert mode

– x - wis karakter

– dd - wis lijndw - wis woord

– :q - afsluiten:q! - geforceerd afsluiten (niet opslaan)

– :w - opslaan:wq - opslaan en afsluiten (idem :x)

● nano● toetsenbord combinaties onderaan: ctrl-?

Page 18: Hands on presentatie

Systeem commandosSysteem commandos● ps

● kill

● top

● df

● du

● shutdown

● sudo (visudo!)su / su <user>

sudo su <-> sudo su -● which

● PATH variabele

Page 19: Hands on presentatie

Users / Groups and PermissionsUsers / Groups and Permissions

● Gebruikers● User IDs / Group IDs● /etc/passwd, /etc/shadow● /etc/group, /etc/gshadow● useradd, usermod, userdel, id, 'who am i', w

– id root

● Permissies op filesystem:● ID, GID (numeriek)● Bitmask

Page 20: Hands on presentatie

PermissiesPermissies

● drwxr-xr-x 2 handson users 4096 Nov 4 08:07 folder

● r : readw : writex : execute (andere betekenis bij folders)

● <user><group><other>● drwxr-xr-x

- : normaal bestandd : directoryl : symbolische linkc : 'character' device (printer, tty)b : 'block' device (disk, cdrom)

Page 21: Hands on presentatie

Number Binary Rights0 000 ­­­1 001 ­­x2 010 ­w­3 011 ­wx4 100 r­­5 101 r­x6 110 rw­7 111 rwx

Permissies: OctaalPermissies: Octaal

Page 22: Hands on presentatie

Permissies: AanpassenPermissies: Aanpassen

● chown - change ownerchgrp - change group

● chmod - change file mode bits

● voorbeelden:● chown handson bestand

chgrp users bestandchown handson:users bestandchown :users bestand

● chmod 700 bestandchmod u=rwx,g-rwx,o-rwx bestandchmod a+w bestand

● chmod -R ... (recursief)

Page 23: Hands on presentatie

Software InstallatieSoftware Installatie

● RPM / DEB

● Ubuntu ~ debian

● DPKG● .deb pakketten – binary of source● hoofd pakket management tool

● APT - Advanced Package Tool● Frontend voor dpkg● Automatisch downloaden / installeren pakketten

● Aptitude

Page 24: Hands on presentatie

APTAPT

● /etc/apt/sources.list

● apt-get● apt-get update● apt-get upgrade● apt-get install● apt-get remove

● apt-cache● apt-cache search

Page 25: Hands on presentatie

APTAPT

● Zoek een alternatief om runlevel(s) te configureren

● Installeer een van deze programmas

● Gebruik het programma om de cron daemon te starten (cron voert commando's uit op geconfigureerde tijdstippen)

Page 26: Hands on presentatie

NetworkingNetworking

● Configuratie● Ubuntu maakt gebruik van 'NetworkManager'● Manuele configuratie via 'ifconfig'

– ifconfig -a - lijst alle interfacesifconfig eth0 - toon configuratie van eth0

– ifconfig eth0 192.168.0.1/24● Automatische configuratie via dhcp

– dhclient eth0● /etc/network/interfaces

– Configuratie bij het opstarten

Page 27: Hands on presentatie

Systeem configuratieSysteem configuratie

● /etc● Algemene Systeem Configuratie:

– Debian: /etc/default– Redhat: /etc/sysconfig– ...

● Pakketten– /etc/apache2/– /etc/cron*

ls /etc/cron*– ...

Page 28: Hands on presentatie

Remote werken via SSHRemote werken via SSH

● Belang van Encryptie● Onveilige protocollen:

– telnet, ftp, http, pop3, imap– voorbeeld smtp login -> 'plain' password

● Veilige alternatieven:– ssh

ftps, https, pop3s, imaps mbv ssl (Secure Socket Library)

● SSH● ssh -l <user> <remote host>● ssh-keys

Page 29: Hands on presentatie

ssh-keygenssh-keygen

● Aanmaken van een key pair:● private key● public key

● ssh-keygen– ~/.ssh/id_rsa– ~/.ssh/id_rsa.pub

● Inhoud id_rsa.pub naar remote host toevoegen aan bestand: – ~/.ssh/authorized_keys