Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Linux basic workshop - PFZ workshopdag 2010

Joshua Thijssen
November 13, 2010
160

Linux basic workshop - PFZ workshopdag 2010

Joshua Thijssen

November 13, 2010
Tweet

Transcript

  1. http://joind.in/2366 Senior Software Engineer 4worx / Enrise - Amersfoort whoami?

    Development in php, python, perl, C, C++, java, assembly 2 woensdag 25 april 12
  2. http://joind.in/2366 Senior Software Engineer 4worx / Enrise - Amersfoort whoami?

    Development in php, python, perl, C, C++, java, assembly MySQL DBE, MySQL DBA, LPIC-1, LPIC-2, Zend PHP5, Zend PHP5.3, Certified Ubuntu professional, and a dive instructor. 2 woensdag 25 april 12
  3. http://joind.in/2366 Senior Software Engineer 4worx / Enrise - Amersfoort whoami?

    Development in php, python, perl, C, C++, java, assembly MySQL DBE, MySQL DBA, LPIC-1, LPIC-2, Zend PHP5, Zend PHP5.3, Certified Ubuntu professional, and a dive instructor. Blog: www.adayinthelifeof.nl Twitter: @jaytaph 2 woensdag 25 april 12
  4. http://joind.in/2366 Senior Software Engineer 4worx / Enrise - Amersfoort whoami?

    Development in php, python, perl, C, C++, java, assembly MySQL DBE, MySQL DBA, LPIC-1, LPIC-2, Zend PHP5, Zend PHP5.3, Certified Ubuntu professional, and a dive instructor. Blog: www.adayinthelifeof.nl Twitter: @jaytaph “Jack-of-all-trades, master of none” 2 woensdag 25 april 12
  5. http://joind.in/2366 Wat gaan we doen? • Veel theorie met daartussen

    opdrachten. • Zelf problemen met (linux)dingen? Vraag! 4 woensdag 25 april 12
  6. http://joind.in/2366 virtual machine • start virtualbox • inloggen met •

    gebruiker: pfz • wachtwoord: pfz • (alle wachtwoorden overal op de virtual machine zijn pfz) (maar niet verder vertellen) 5 woensdag 25 april 12
  7. http://joind.in/2366 LPIC-1 • work at the command line • perform

    maintenance • install & configure 7 woensdag 25 april 12
  8. http://joind.in/2366 LPIC-2 • Administer small - medium sized network •

    plan, implement, maintain mixed network • LAN server (samba) • Gateway (firewall, proxy, mail, news) • Server (webserver, ftp server) • Supervise assistants • Consultancy 8 woensdag 25 april 12
  9. http://joind.in/2366 LPIC-3 • installation, management, troubleshooting (very) large networks. •

    WAN knowledge • Full environment implementation using samba / LDAP • Write scripts in bash / perl + programming knowledge 9 woensdag 25 april 12
  10. http://joind.in/2366 Operating system (windows, linux, msdos etc) Kernel Termen 10

    http://www.nickhuntdavis.com/the-leet-manifesto/ woensdag 25 april 12
  11. http://joind.in/2366 Operating system (windows, linux, msdos etc) Kernel (linux v1.0,

    v2.2, v2.6 etc) Termen 10 http://www.nickhuntdavis.com/the-leet-manifesto/ woensdag 25 april 12
  12. http://joind.in/2366 Operating system (windows, linux, msdos etc) Kernel (linux v1.0,

    v2.2, v2.6 etc) Termen 10 http://www.nickhuntdavis.com/the-leet-manifesto/ woensdag 25 april 12
  13. http://joind.in/2366 Operating system (windows, linux, msdos etc) Kernel (linux v1.0,

    v2.2, v2.6 etc) Distributie Termen 10 http://www.nickhuntdavis.com/the-leet-manifesto/ woensdag 25 april 12
  14. http://joind.in/2366 Operating system (windows, linux, msdos etc) Kernel (linux v1.0,

    v2.2, v2.6 etc) Distributie (ubuntu, centos, debian etc) Termen 10 http://www.nickhuntdavis.com/the-leet-manifesto/ woensdag 25 april 12
  15. http://joind.in/2366 Geschiedenis • 1985 Richard Stallman - GNU tools 11

    http://sechtl-vosecek.ucw.cz/en/vousaci/p2.html woensdag 25 april 12
  16. http://joind.in/2366 Geschiedenis • 1985 Richard Stallman - GNU tools •

    1991 Linus Torvalds maakt Linux 0.0.1 gebaseerd op Minix als “missing kernel” 11 http://sechtl-vosecek.ucw.cz/en/vousaci/p2.html woensdag 25 april 12
  17. http://joind.in/2366 Distributies • 317 distributies volgens distrowatch.com • Waarschijnlijk meer

    • 3 “basis” distributies: Slackware, Debian, Redhat 12 woensdag 25 april 12
  18. http://joind.in/2366 • Concentreren ons op Ubuntu (server) • www.ubuntu.com •

    “debian” linux versie • Laatste versie: 10.10 (Maverick Meerkat) 15 woensdag 25 april 12
  19. http://joind.in/2366 • Concentreren ons op Ubuntu (server) • www.ubuntu.com •

    “debian” linux versie • Laatste versie: 10.10 (Maverick Meerkat) • Elk half jaar een release (.4 en .10) 15 woensdag 25 april 12
  20. http://joind.in/2366 Linux 101 • Een muis is eng, toetsenbord is

    cool • Vage commando’s en veel data op het scherm is l33t: 16 woensdag 25 april 12
  21. http://joind.in/2366 Linux 101 • Een muis is eng, toetsenbord is

    cool • Vage commando’s en veel data op het scherm is l33t: # cat access_log | cut -f 1 -d\ | sort | uniq -c | sort -nr 16 woensdag 25 april 12
  22. http://joind.in/2366 Linux 101 • Een muis is eng, toetsenbord is

    cool • Vage commando’s en veel data op het scherm is l33t: # cat access_log | cut -f 1 -d\ | sort | uniq -c | sort -nr # find . -type f -exec grep -i -H “pfz” {} \; 16 woensdag 25 april 12
  23. http://joind.in/2366 Linux 101 • Een muis is eng, toetsenbord is

    cool • Vage commando’s en veel data op het scherm is l33t: # cat access_log | cut -f 1 -d\ | sort | uniq -c | sort -nr # find . -type f -exec grep -i -H “pfz” {} \; • But first things first... 16 woensdag 25 april 12
  24. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin 18 woensdag 25 april 12
  25. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot 18 woensdag 25 april 12
  26. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev 18 woensdag 25 april 12
  27. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev • Systeem informatie: /proc 18 woensdag 25 april 12
  28. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev • Systeem informatie: /proc • Gebruikers: /home/<naam> (root gebruiker: /root) 18 woensdag 25 april 12
  29. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev • Systeem informatie: /proc • Gebruikers: /home/<naam> (root gebruiker: /root) • Libraries: /lib (/lib/modules) 18 woensdag 25 april 12
  30. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev • Systeem informatie: /proc • Gebruikers: /home/<naam> (root gebruiker: /root) • Libraries: /lib (/lib/modules) • User files (/usr/bin, /usr/lib etc) 18 woensdag 25 april 12
  31. http://joind.in/2366 File hierarchy • Alles vanuit een root-directory (/) •

    Configuraties /etc • Programma’s: /bin /sbin • Boot programma’s: /boot • Devices: /dev • Systeem informatie: /proc • Gebruikers: /home/<naam> (root gebruiker: /root) • Libraries: /lib (/lib/modules) • User files (/usr/bin, /usr/lib etc) • Variabele files (logfiles, email, cache): /var 18 woensdag 25 april 12
  32. http://joind.in/2366 • Meerdere schijven (of partities)? Kan gemount worden op

    een directory: /dev/sdb1 --> /data-disk1 19 woensdag 25 april 12
  33. http://joind.in/2366 • Meerdere schijven (of partities)? Kan gemount worden op

    een directory: /dev/sdb1 --> /data-disk1 /dev/hda --> /media/cdrom 19 woensdag 25 april 12
  34. http://joind.in/2366 • Meerdere schijven (of partities)? Kan gemount worden op

    een directory: /dev/sdb1 --> /data-disk1 /dev/hda --> /media/cdrom /dev/fd0 --> /media/floppy 19 woensdag 25 april 12
  35. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) file commando’s 20 woensdag 25 april 12
  36. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) • cd (change directory) file commando’s 20 woensdag 25 april 12
  37. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) • cd (change directory) • mv (verplaats (of hernoem) bestand) file commando’s 20 woensdag 25 april 12
  38. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) • cd (change directory) • mv (verplaats (of hernoem) bestand) • cp (kopieer bestand) file commando’s 20 woensdag 25 april 12
  39. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) • cd (change directory) • mv (verplaats (of hernoem) bestand) • cp (kopieer bestand) • rm (verwijder bestand) file commando’s 20 woensdag 25 april 12
  40. http://joind.in/2366 • ls (directory listing) • ls -la (directory listing

    met meer info) • cd (change directory) • mv (verplaats (of hernoem) bestand) • cp (kopieer bestand) • rm (verwijder bestand) • pwd (current directory) file commando’s 20 woensdag 25 april 12
  41. http://joind.in/2366 pas op! • rm -rf /home/pfz/nietmeernodig • rm -rf

    / home/pfz/nietmeernodig 21 woensdag 25 april 12
  42. http://joind.in/2366 opdrachten • Ga naar de directory /bin • Ga

    naar de /tmp • Ga naar je eigen (home)directory • Ga naar de directory /var/lib/samba/ printers • Ga naar de directory /var/lib/samba 22 woensdag 25 april 12
  43. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. 23 woensdag 25 april 12
  44. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: 23 woensdag 25 april 12
  45. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: • r (4) - mag lezen 23 woensdag 25 april 12
  46. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: • r (4) - mag lezen • w (2) - mag schrijven 23 woensdag 25 april 12
  47. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: • r (4) - mag lezen • w (2) - mag schrijven • x (1) - mag uitvoeren (of naar die directory gaan) 23 woensdag 25 april 12
  48. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: • r (4) - mag lezen • w (2) - mag schrijven • x (1) - mag uitvoeren (of naar die directory gaan) 23 woensdag 25 april 12
  49. http://joind.in/2366 Permissies • Elk bestand heeft een gebruiker (owner) en

    een groep (group). • Elk bestand heeft permissies voor owner, group en others. • 3 permissies: • r (4) - mag lezen • w (2) - mag schrijven • x (1) - mag uitvoeren (of naar die directory gaan) • Nog anderen: sticky bit, SUID, SGID 23 woensdag 25 april 12
  50. http://joind.in/2366 # cd /home/jaytaph # ls -la drwxr--r-- 6 jaytaph

    jaytaph 1024 Oct 17 15:14 . drwxr--r-- 77 root root 1024 Oct 17 15:14 .. -rw-rw-r-- 1 jaytaph phpusers 1234 May 12 2001 index.php -rw-r----- 1 jaytaph phpusers 6432 May 13 2001 config.php -rw------- 1 jaytaph jaytaph 6314 May 12 2001 phpinfo.php -rw------- 1 root root 7331 May 12 2001 test.php -rw-rw-rw- 1 jaytaph jaytaph 1241 May 12 2001 secretstuff.txt 24 woensdag 25 april 12
  51. http://joind.in/2366 Opdracht: welke permissies hebben de volgende bestanden? • “ls”

    uit de directory /bin • “.bashrc” uit de directory /home/pfz • “vmlinuz” uit de root directory • “ibdata1” uit de /var/lib/mysql directory 25 woensdag 25 april 12
  52. http://joind.in/2366 Opdracht: welke permissies hebben de volgende bestanden? • “ls”

    uit de directory /bin • “.bashrc” uit de directory /home/pfz • “vmlinuz” uit de root directory • “ibdata1” uit de /var/lib/mysql directory 25 woensdag 25 april 12
  53. http://joind.in/2366 Opdracht: welke permissies hebben de volgende bestanden? • “ls”

    uit de directory /bin • “.bashrc” uit de directory /home/pfz • “vmlinuz” uit de root directory • “ibdata1” uit de /var/lib/mysql directory 25 woensdag 25 april 12
  54. http://joind.in/2366 • chown jaytaph index.php • chgrp phpusers index.php •

    chown jaytaph:phpusers index.php • chgrp phpusers index.php 27 woensdag 25 april 12
  55. http://joind.in/2366 • reguliere bestanden (-) • directories (d) • device

    files (c/b) • (sym)links (l) file types 28 woensdag 25 april 12
  56. http://joind.in/2366 • reguliere bestanden (-) • directories (d) • device

    files (c/b) • (sym)links (l) • sockets (s) file types 28 woensdag 25 april 12
  57. http://joind.in/2366 • reguliere bestanden (-) • directories (d) • device

    files (c/b) • (sym)links (l) • sockets (s) • named pipes (p) file types 28 woensdag 25 april 12
  58. http://joind.in/2366 gebruikers • Hoofdgebruiker: root (uid = 0) • “systeem”

    gebruikers : www-data, mail, news, nobody • “normale” gebruikers: jthijssen, pfz etc • man adduser, • man deluser • man usermod 29 woensdag 25 april 12
  59. http://joind.in/2366 man adduser adduser(8) - Linux man page Name useradd

    - create a new user or update default new user information Synopsis useradd [options] LOGIN useradd -D useradd -D [options] Description When invoked without the -D option, the useradd command creates a new user account using the values specified on the command line and the default values from the system. Depending on command line options, the useradd command will update system files and may also create the new user's home directory and copy initial files. The version provided with Red Hat Linux will create a group for each user added to the system by default. Options The options which apply to the useradd command are: -c, --comment COMMENT Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name. -b, --base-dir BASE_DIR The default base directory for the system if -d dir is not specified. BASE_DIR is concatenated with the account name to define the home directory. If the -m option is not used, BASE_DIR must exist. -d, --home HOME_DIR The new user will be created using HOME_DIR as the value for the user's login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. The directory HOME_DIR does not have to exist but will not be created if it is missing. -e, --expiredate EXPIRE_DATE The date on which the user account will be disabled. The date is specified in the format YYYY-MM-DD. -f, --inactive INACTIVE The number of days after a password expires until the account is permanently disabled. A value of 0 disables the account as soon as the password has expired, and a value of -1 disables the feature. The default value is -1. -g, --gid GROUP 30 woensdag 25 april 12
  60. http://joind.in/2366 Opdrachten • Welke gebruikers zijn er aanwezig in het

    systeem? • Creer een gebruiker (je-eigen-naam) • Creer een 2e gebruiker (anderenaam). Zorg dat deze gebruiker alleen maar via ftp op je systeem kan, en alleen in directory /var/www kan uploaden. • (hints: gebruiker moet in de groep www-data, als shell moet hij /sbin/ nologin hebben, en de /var/www directory moet andere permissies krijgen) 31 woensdag 25 april 12
  61. http://joind.in/2366 File descriptors • #0 STDIN standaard input • #1

    STDOUT standaard output • #2 STDERR standaard error output 32 woensdag 25 april 12
  62. http://joind.in/2366 File descriptors • “doorrouteren” van data: cat /tmp/test.txt |

    grep ‘pfz’ > /tmp/test2.txt cat /verylargefile | more 33 woensdag 25 april 12
  63. http://joind.in/2366 maar ook: programma >/tmp/output 2>/tmp/errors of zelfs: programma >/tmp/output

    2>/dev/null en ook: cat /tmp/test.txt | sort | uniq -n > /tmp/test2.txt 34 woensdag 25 april 12
  64. http://joind.in/2366 Utilities • tar • grep • gzip • tail

    • head • find 35 • top • who • w • ps woensdag 25 april 12
  65. http://joind.in/2366 package management software op verschillende manieren te installeren •

    binary downloaden (“windows” manier) • source downloaden en zelf compilen • via package manager 36 woensdag 25 april 12
  66. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> 37 woensdag 25 april 12
  67. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> • dpkg-query -S <bestand> 37 woensdag 25 april 12
  68. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> • dpkg-query -S <bestand> • apt-get install 37 woensdag 25 april 12
  69. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> • dpkg-query -S <bestand> • apt-get install • apt-get update 37 woensdag 25 april 12
  70. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> • dpkg-query -S <bestand> • apt-get install • apt-get update • apt-get upgrade 37 woensdag 25 april 12
  71. http://joind.in/2366 package management • debian (en dus ook ubuntu) gebruiken

    “apt”. • apt-cache search <naam> • dpkg-query -S <bestand> • apt-get install • apt-get update • apt-get upgrade • dselect 37 woensdag 25 april 12
  72. http://joind.in/2366 .finished (maar we hebben vast nog wel tijd om

    een hoop extra te doen) 38 woensdag 25 april 12