157
LIN1 Linux-Grundlagen Georg Schönberger Thomas-Krenn.AG Version 12. Oktober 2015

LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

LIN1 Linux-Grundlagen

Georg SchönbergerThomas-Krenn.AGVersion 12. Oktober 2015

Page 2: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

2LIN1 LVA

Kurz über mich...

Studium Computer- und Mediensicherheit

Gitter-basierende Kryptosysteme

Studium Sichere Informationssysteme

Auslagerung der IPSec-Verschlüsselung auf Grafikkarten

JobsF&E in HagenbergThomas-Krenn.AGAutor (IT-Administrator, Linux)

Page 3: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

3LIN1 LVA

Und meine Arbeit bei TK

Thomas-Krenn.AG deutscher→Server-Hersteller in FreyungTätigkeiten u.a.

Betreuung DRBD-Cluster mit LXC-ContainerEntwicklung von Monitoring-PluginsEntwicklung von Performance-Tests

http://git.thomas-krenn.com Verbesserung der internen/externen Sicherheit

ZertifizierungenNetwork+, Server+, Linux Essentials, LPIC-1, LPIC-2

Page 4: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

4LIN1 LVA

Die LVA

Vorlesung mit integrierter ÜbungNoten teilgenommen/nicht teilgenommen→Themen

Grundlagen zu LinuxDebian/Ubuntu GrundlagenCrashkurs Shell/BashVIM How-ToBenutzer und Gruppen, Rechtemgmt.DiensteUvm.

Page 5: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

5LIN1 LVA

Was ist Linux?

HistorieFreie SoftwareDistributionen

Page 6: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

6LIN1 LVA

Was ist Linux?

Grundlegend: ein BetriebssystemIst der OS-Kernel

Windows besitzt auch einen KernelMonolitischer vs. Micro-Kernel

Unix (BSD)Unix-like (Linux)vs.MINIXGNU Hurd Debian GNU Hurd→

S.a. What is linux (linuxfoundation.org)

Tux2.png (commons.wikimedia.org)

Page 7: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

7LIN1 LVA

Linus_Torvalds.jpeg (commons.wikimedia.org)

Wikimania_stallman_keynote2.jpg (commons.wikimedia.org)

Page 8: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

8LIN1 LVA

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.Linux Torvalds, Linux History (cs.cmu.edu)

Page 9: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

9LIN1 LVA

Was ist Linux - Begriffe

GNURichard StallmanUtilities wie bash (Bourne again Shell)

GNU/LinuxKomplettes BetriebssystemKernel + Kommandozeilen-Werkzeuge

Bold GNU Head (gnu.org)

Page 10: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

10LIN1 LVA

Linux Historie

1991 Linux Torvalds in Helsinki

comp.os.minix (groups.google.com)Kernel + Stallman GNU ToolsGrundlage: Minix + GNU C Compiler

Linux bezeichnete zu Beginn eigentlich nur den Kernel

+ Tools GNU/Linux→ Linus_Torvalds.jpeg (commons.wikimedia.org)

Page 11: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

11LIN1 LVA

Freie Software

Wesentlich sind 4 Freiheiten1) Programm ausführen2) Quellcode untersuchen und

ändern3) Exakte Kopien verbreiten4) Modifizierte Versionen

verbreitenS.a Philosophie des GNU-Projekts (gnu.org)Wichtigste Lizenz GNU General →Public License (GPL)

Wikimania_stallman_keynote2.jpg (commons.wikimedia.org)

Page 12: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

12LIN1 LVA

Freie Software

Versucht nicht den Gebrauch der Software einzuschränkenVeränderungen und Weitergabe der Software wird an Bedingungen gekoppeltSoftware, die ein Mal unter GPL steht, soll unter GPL bleiben

Muss im Quellcode zur Verfügung stehenOriginal und geändertes weitergeben unter GPL→In „ausführbarer“ Form verkaufen Quellcode mitliefern→

Im Gegensatz dazu BSD-LizenzKann auch nur in „ausführbarer“ Form weitergegeben werden

Apache Lizenz ähnelt der BSD-Lizenz

Page 13: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

13LIN1 LVA

Distributionen

High-Level Sammlung von KomponentenKernel + OS-Werkzeuge + GUI-Umgebungen + Applikationen

Zeichnen sich aus durchInstallations-Medien für System-Installation und -KonfigurationBereitstellung von Applikationen

Paket-Management

Debian-OpenLogo.svg

Ubuntu_logo_orange.png

Gentoo_Linux_logo_matte.svg

Quelle: commons.wikimedia.org

Bsd_daemon.jpg (upload.wikimedia.org)

Page 15: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

15LIN1 LVA

Linux und Android

Android und GNU/Linux haben „nur“ den Kernel gemeinsamViele Closed Source Komponenten

Android and Users Freedom (gnu.org)Google AppsGoogle Play enthält zumeist auch keine Open Source Software

Alternativf-droid (f-droid.org), ein App-Market nur mit Open Source AppsReplicant, eine Open Source Android Firmware

CyanogenMod basiert auf AOSP, enthält aber auch non-free Teile

Page 16: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

16LIN1 LVA

Linux Vor- und Nachteile

VorteileFrei, keine Lizenzgebühren

Source Code kann studiert werden (vgl. zu Windows und OS X)

Benutzer-CommunityForen, Mailing-Listen

Performant, stabilRasche Entwicklung (evtl. auch Nachteil)Paket-Systeme (apt, yum, pacman)

NachteileDistributionen besitzen EigenheitenEinarbeitungsaufwand

Page 17: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

17LIN1 LVA

Linux Literatur

Linux - das umfassende Handbuch (openbook.galileo.de)The Linux Documentation Project (tldp.org)Dokumentations-Webseiten

Debian Wiki (wiki.debian.org)Official Ubuntu Documentation (help.ubuntu.com)

Linux EssentialsLinux Essentials - Die Einsteiger-Zertifizierung des LPI (shop.linupfront.de)

GPLDie GPL - kommentiert und erklärt (ifross.org)

Page 18: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

18LIN1 LVA

Grundlegendes zu Linux

Kernel und Co.

Page 19: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

19LIN1 LVA

Kernel-Architektur

Linux Device Drivers, Third Edition (lwn.net) – Kap. 1, Seite 6

Page 20: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

20LIN1 LVA

Kernel-Architektur

Ressourcen-ManagerProzess-ManagementMemory-Mangement

Schnittstellen zur Verfügung stellen (Systemcall-Interfcace)Vom User Space ausKernel-Schnittstellen aufrufen

Grafik nicht Teil des KernelsDevice Driver als Kernel-Module geladen

Nicht alle Treiber sind dadurch im “Basis-Kernel”S.a. Anatomy of the Linux kernel (ibm.com)

Page 21: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

21LIN1 LVA

Dateisystem - VFS

Virtual Files SystemAbstraktionsschicht zwischen Applikation und Filesystem

Unterstützt eine Vielzahl an DateisystemenZ.B. Zugriffe auf Netzwerk-Speicher

Fast alles ist eine Datei unter Linux!Geräte als Dateien abgebildetInteraktion mir Kernel/Devices/Treiber über Dateien

procfs und sysfs

:~$ mount | grep ext4/dev/sda2 on / type ext4 (rw,errors=remount-ro)/dev/sda3 on /home type ext4 (rw)

Page 22: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

22LIN1 LVA

Dateisystem - FHS

Filesystem.gif (upload.wikimedia.org)

Page 23: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

23LIN1 LVA

Dateisystem - FHS

Durchdachte Verzeichnisstrukturz.B. Statische und dynamische Teile in unterschiedlichen Bereichen

Beschreibt die Verzeichnisse der Hierarchie-EbenenWichtige Ordner

/ → root-Verzeichnis/etc → Konfigurationen/home → Benutzer-Verzeichnis/var → Veränderliche Dateien (z.B. Log-Dateien)/bin Binaries für alle Benutzer→/sbin System Binaries→

Page 24: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

24LIN1 LVA

Dateisystem - /etc

Das KonfigurationsverzeichnisKonfiguration in Verzeichnissen und Textdateien

Benutzer-spezifisch auch im Home-Verzeichnis

:~$ sudo find /etc/ -type f -iname *ssh*/etc/init.d/ssh/etc/init/ssh.conf/etc/default/ssh/etc/ssh/ssh_host_rsa_key.pub/etc/ssh/ssh_config/etc/ssh/ssh_host_ecdsa_key/etc/ssh/ssh_host_dsa_key.pub/etc/ssh/ssh_host_dsa_key/etc/ssh/ssh_import_id/etc/ssh/sshd_config

:~$ cat .vimrc syntax oncolorscheme ronset showmatchset hlsset tabstop=4set shiftwidth=4

Page 25: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

25LIN1 LVA

Abschließende Grundidee

Viele kleine, schnelle, spezialisierte ProgrammeFlexible, modulare Kombination der Programme in einer ShellAus „Entwickler-Geist“ heraus entwickelt wordenGeringer Selbstschutz vor falscher BedienungAlles konfigurierbarWichtig

FehlermeldungenDokumentationHilfe

→ Wer sich die Dinge durchliest, ist klar im Vorteil!

Page 26: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

26LIN1 LVA

Linux Container und LXC

Unsere Arbeitsumgebung

Page 27: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

27LIN1 LVA

Linux Container

Keine echte Virtualisierung im eigentlichen SinneEine Gruppe von Prozessen, gemeinsam in einer isolierten UmgebungAus der Sicht dieser Prozess-Gruppe, laufen sie in einer virtuellen Umgebung

Kernel-basierte Isolierung und LimitierungMan spricht daher auch von ContainernKernel Namespaces → Ressourcen IsolationCgroups → Ressource Limitierung

Weitere InformationenLightweight Virtualization (socallinuxexpo.org)LXC - Ubuntu Server Guide (help.ubuntu.com)

Page 28: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

28LIN1 LVA

LXC, Cgroups and Advanced LinuxContainer Technology (novell.com)

Page 29: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

29LIN1 LVA

LXC

LXC is a userspace interface for the Linux kernel containment features. LXC - Linux Containers (linuxcontainers.org)

Userspace Werkzeuge für die Administration von Containern:~$ sudo lxc-ls --fancy:~$ sudo lxc-start --name u1 --daemon:~$ sudo lxc-info --name u1:~$ sudo lxc-stop --name u1:~$ sudo lxc-destroy --name u1

:~$ sudo cat /var/lib/lxc/lin01/config lxc.network.type = vethlxc.network.flags = uplxc.network.link = lxcbr0lxc.network.hwaddr = 00:16:3e:2b:9a:5elxc.rootfs = /var/lib/lxc/lin01/rootfslxc.include = /usr/share/lxc/config/debian.common.conflxc.mount = /var/lib/lxc/lin01/fstablxc.utsname = lin01lxc.arch = amd64lxc.network.ipv4 = 10.0.1.101

Page 30: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

30LIN1 LVA

Debian

Debian EinführungAm System anmeldenPutty und SSH

Page 31: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

31LIN1 LVA

Debian

Debian GNU/LinuxCodename: Wheezy

Package Management – aptVerlässliche UpdatesRepositories bieten viel an Software an

Kein selbst-kompilierenSolides und stabiles SystemDerivate

UbuntuGute Dokumentation und Community

Debian-OpenLogo.svg

Page 32: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

32LIN1 LVA

Debian Releases

stable – testing – unstableStable hat Support vom Security-Team

Bei neuer Version alte ca. noch 1 Jahr gepflegt

Nachteile„Relativ“ alter Kernel, dafür stabilUpgrade, wenn altes Release ausläuft

Kein Rolling Release

8.0 jessie April 2015

7.0 wheezy Mai 2013

6.0 squeeze Februar 2011

5.0 lenny Februar 2009

Page 33: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

33LIN1 LVA

Debian-Installation

Installations-MediumISO-ImageNetinstall – minimale Installation, benötigt Internet-Verbindung

Festplatte vorbereitenPartitionen und Dateisysteme

Systemdateien kopierenSystemeinstellungen vornehmenBenutzer anlegen

Traditioneller root-Account oder sudo?Bootloader installieren

Debian-OpenLogo.svg

Page 34: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

34LIN1 LVA

OpenSSH_logo.png (upload.wikimedia.org)

Page 35: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

35LIN1 LVA

Secure Shell - ssh

Verschlüsselte Remote-Verbindung über NetzwerkZweck

Login am Remote-Host → ssh user@host -p PORTAusführen eines Kommandos → ssh user@host 'COMMAND'Datentransfer → scpMounten von Remote-Pfad → sshfsSichere FTP-Verbindung → sftp

Ziemlich viel an KryptographieKey ExchangeVerschlüsselungOptional: Public Key Authentifizierung

Page 36: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

36LIN1 LVA

Secure Shell

Am System muss der Dienst sshd Dienst laufenLauscht grundsätzlich am Port 22Für Produktivumgebungen, mit direktem Zugang ins Internert, Port ändern!

Bzw. per Firewall beschränken

:~$ sudo service ssh status[sudo] password for lin1: [ ok ] sshd is running.:~$ netstat -tlnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:41996 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

Page 37: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

37LIN1 LVA

Secure Shell

Frühertelnetrsh

ClientsoftwareOpenssh-client

PuttyWinSCP

:~$ dpkg -l openssh-client Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/ Name Version Architecture Description+++-====================-===============-===============-=============================================ii openssh-client 1:6.0p1-4 amd64 secure shell (SSH) client, for secure access

PuTTY_icon_128px.png (upload.wikimedia.org)

Page 38: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

38LIN1 LVA

Anmelden und abmelden

Anmeldung per SSH„Fingerprint”

Am Server

Benutzername und Passwort:~$ ssh [email protected]@192.168.80.128's password: Linux debian-lin1 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64

The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extentpermitted by applicable law.You have new mail.Last login: Sat Aug 3 12:31:21 2013

:~$ ssh-keygen -l -f ~/.ssh/known_hosts -F 192.168.80.128# Host 192.168.80.128 found: line 22 type ECDSA256 07:bf:74:bd:f1:8b:39:57:9f:21:46:9a:5f:63:98:e9 |1|cBpfm1XQSiiZczTME8Rv3gZLk38=|wGpJe/AiTRNlRt5GsPVyHHmS7Lg= (ECDSA)

:~$ ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub 256 07:bf:74:bd:f1:8b:39:57:9f:21:46:9a:5f:63:98:e9 root@debian-lin1 (ECDSA)

Page 39: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

39LIN1 LVA

Anmelden und abmelden

Abmeldenlogout oder STRG + d

Gestartete Prozesse laufen nicht weiterAbhilfe

Screen SessionsWerden nich beendet, komplette Session kann wieder gestartet werden

screen -ls, screen -r

Gemeinsam arbeiten: Linux Terminal Sessions mit screen (wiki.thomas-krenn.com)

screen -S shared

nohupBefehle weiterlaufen lassen

Mit sudo und Ein-/Ausgabe-Umleitung umständlich

Page 40: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

40LIN1 LVA

SSH Public Key Authentifizierung

OpenSSH Public Key Authentifizierung unter Ubuntu (wiki.thomas-krenn.com)Client erhält Challenge und beweist, dass er Private Key besitzt

Page 41: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

41LIN1 LVA

Übung 1

Per SSH anmeldenFernzugriff mit PuttyPort ändernOder per ssh lin1@$IP

Page 42: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

42LIN1 LVA

Crashkurs Shell

/bin/bashBash Cheat Sheet (overapi.com)

Page 43: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

43LIN1 LVA

Die Shell

Bourne again Shell die Konsole→Führt Kommandos aus

Interaktiv Terminal→Aus Dateien Skripte→

Skripting-FunktionalitätenShell-builtins

Nach Login wird Shell gestartet:~$ grep lin1 /etc/passwdlin1:x:1000:1000:lin1,,,:/home/lin1:/bin/bash:~$ echo $SHELL/bin/bash

:~$ type cdcd is a shell builtin

Page 44: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

44LIN1 LVA

Die Shell – /bin/bash

Wichtige Tastatur-KürzelBefehl abbrechen → STRG + cExit (EOF) → STRG + dReverse Search → STRG + r, Kommando eingebenCommand Completion → TABClear → STRG + lLetzte Kommandos → Pfeil-Auf und Pfeil-AbAnfang, Ende Zeile → STRG + a, STRG + e

Page 45: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

45LIN1 LVA

Die Shell – Kommandos

Case sensitiv!Kommando – Optionen – ArgumenteAuch zusammengefasst

ls -l -a = ls -laNAME ls - list directory contents

SYNOPSIS ls [OPTION]... [FILE]...

DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.

-a, --all do not ignore entries starting with .

Page 46: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

46LIN1 LVA

Die Shell – Kommandos

Programmname + Argumente → ENTERErzeugt einen neuen Prozess

Rückgabewert → echo $?Wie werden Programme gefunden

Pfad-Variable

:~$ man ls

[1]+ Stopped man ls:~$ jobs[1]+ Stopped man ls:~$ ps aux | grep manlin1 2964 0.0 0.2 16400 1428 pts/0 T 13:31 0:00 man lslin1 3042 0.0 0.1 7828 876 pts/0 S+ 13:35 0:00 grep man

:~$ echo $PATH/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:~$ which man/usr/bin/man

Page 47: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

47LIN1 LVA

Die Shell – PATH

Eigene Skripte, Programme ausführenKompletter Pfad./ voranstellen

Unter Windows aktuelles Verzeichnis im Pfad enthaltenStarten von „fremden“ ProgrammenUnter Linux u.U. schwieriger

Weitere Umgebungsvariablenprintenv

:~$ ./myprogram :~$ /home/lin1/myprogram

Page 48: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

48LIN1 LVA

Die Shell – Prozesse anzeigen

ps Snapshot der aktuellen Prozesse→

Von wem stammt alles ab?

:~$ ps -u root | grep ssh 616 ? 00:00:00 sshd:~$ pgrep -l ssh616 sshd2352 ssh-agent3221 nxssh3670 ssh

init─┬─NetworkManager─┬─dhclient │ ├─dnsmasq │ ├─nm-pptp-service─┬─pppd───sh───pptpgw │ │ └─{nm-pptp-service} │ └─3*[{NetworkManager}] ├─Tasque───5*[{Tasque}] ├─Thunar───2*[{Thunar}]

:~$ ps -u root | grep ssh 616 ? 00:00:00 sshd:~$ pgrep -l ssh616 sshd2352 ssh-agent3221 nxssh3670 ssh

Page 49: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

49LIN1 LVA

Die Shell – Prozesse beenden

killEigentlich „Senden von Signalen“ an einen Prozess

kill + PIDSendet Signal an Prozess-ID

man 7 signalPID erhält man über ps-Kommando

:~$ sudo kill -L[sudo] password for gschoenb: 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS 8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH29 POLL 30 PWR 31 SYS

:~$ ps -u root | grep ssh 616 ? 00:00:00 sshd:~$ pgrep -l ssh616 sshd2352 ssh-agent3221 nxssh3670 ssh

Page 50: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

50LIN1 LVA

Die Shell – zu Hilfe!

man-PagesWie verwende ich man → man manImmer erster Anlaufpunkt für Kommandos

man commandKurze Hilfe oft auch mit

help commandcommand --help

Zu Dateien:~$ man 5 passwdNAME passwd - the password file

DESCRIPTION /etc/passwd contains one line for each user account, with seven fields delimited by colons (“:”). These fields are:[...]

Page 51: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

51LIN1 LVA

Die Shell – zu Hilfe!

NavigationSuchen → / + Begriff eingeben

Funktioniert auch im vi oder bei lessAuf/Ab Pfeil-Auf, Pfeil-Ab→Zum Anfang Pos1→Beenden q→

Außerdemwhatis → Zeigt Kurz-Beschreibungen an

apropos → Durchsucht man-Page Beschreibungen

:~$ whatis openopen (2) - open and possibly create a file or deviceopen (1) - start a program on a new virtual terminal (VT).

Page 52: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

52LIN1 LVA

Die Shell – zu Hilfe!

In /usr/share/doc/PAKETNAMENoch mehr Hilfe zu spezifischen Paketen

BeispieleKonfigurationsdateienREADMEChangelog

:~$ ls /usr/share/doc/vim-tiny/changelog.Debian.gz copyright NEWS.Debian.gz README.Debian

Page 53: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

53LIN1 LVA

Ordner und Dateien

PfadeOrdnerDateienVerknüpfungen

Page 54: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

54LIN1 LVA

Datei- und Pfadnamen

Case sensitivSonderzeichen grundsätzlich möglich

Portierung/Verwendung auf anderen Systemen beachtenKodierung und Ortseinstellung

Endungen sagen nicht unbedingt etwas über die Datei aus!.exe, .iniAusser Programmieren→

.c, .o

fle → zeigt Informationen über Typ anVersteckte Dateien

Fangen mit einem . an

:~$ touch 'test 1':~$ ls test\ 1 test 1

:~$ file exp.sh exp.sh: Bourne-Again shell script, ASCII text executable

Page 55: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

55LIN1 LVA

Datei- und Pfadnamen

Die Wurzel, oder auch root-Verzeichnis

Alles wird in diesen Baum eingehängtFestplatten, USB-Sticks etc.

Verzeichnisse enthalten wieder andere VerzeichnisseDurchdachte Struktur

Verzeichnisse werden wie Dateien bearbeitet

:~$ ls /bin etc lib media proc sbin sys varboot home lib64 mnt root selinux tmp vmlinuzdev initrd.img lost+found opt run srv usr

:~$ ls -la /dev/sdabrw-rw---T 1 root disk 8, 0 Aug 6 19:33 /dev/sda

Page 56: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

56LIN1 LVA

Datei- und Pfadnamen

Absolute und relative Pfade

Aktuelles Verzeichnis – Working Directory... oder ../../../

:~$ ls -la /home/lin1/myprogram -rwxr-xr-x 1 lin1 lin1 0 Aug 3 14:39 /home/lin1/myprogram:~$ ls -la myprogram -rwxr-xr-x 1 lin1 lin1 0 Aug 3 14:39 myprogram:~$ cd test/:~/test$ ls -la ../myprogram -rwxr-xr-x 1 lin1 lin1 0 Aug 3 14:39 ../myprogram

:~$ pwd/home/lin1:~$ ls ..lin1 lost+found:~$ ls .mbox myprogram test test 1

Page 57: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

57LIN1 LVA

Kommandos für Verzeichnisse

Verzeichnis wechseln → cdcd, cd ~ → in Home-Verzeichnis cd - → in zuletzt genutztes Verzeichniscd / → in Wurzel- bzw. root-Verzeichnis

Auflisten → lsLetzten geänderten Dateien? → ls -lctls -d ?ls -la auch „.“-Dateien→

Anlegen und löschen → mkdir und rmdir / rm -rmkdir -p

Page 58: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

58LIN1 LVA

Umgang mit Dateien

Kopieren → cpcp -rcp -a

Verschieben → mvLöschen → rm

rm -irm -rrm -rf

Page 59: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

59LIN1 LVA

Links

Links erstellen → lnls -l und ls -i

Symbolische Links → ln -s

:~$ ln myprogram myprogram2:~$ ls -ltotal 12-rw------- 1 lin1 lin1 4164 Aug 3 17:03 mbox-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 myprogram-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 myprogram2drwxr-xr-x 2 lin1 lin1 4096 Aug 6 19:52 test-rw-r--r-- 1 lin1 lin1 0 Aug 3 17:08 test 1:~$ ls -i18 mbox 19 myprogram 19 myprogram2 21 test 20 test 1

:~$ ln -s myprogram testProgram:~$ ls -l testProgram lrwxrwxrwx 1 lin1 lin1 9 Aug 6 21:29 testProgram -> myprogram

Page 60: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

60LIN1 LVA

Übung 2

In Verzeichnissen NavigierenSymbolische Links

Page 61: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

61LIN1 LVA

Ausgeben, Einlesen, Umleiten

Dateien betrachtenEin- und Ausgabe-Kanäle

Umleiten

Page 62: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

62LIN1 LVA

more und less

Textdateien am Bildschirm anzeigenSeitenweiseWichtige Kommandos

space, bildAuf, bildAbpos1 und ende/ und n

Prozentwert am Ende der DateiMit less → =

Page 63: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

63LIN1 LVA

Ein- und Ausgabe

0, 1 und 2stdin, stdout, stderr

KommandosequenzenVon stdin lesen, bearbeiten, auf stdout schreiben

Im Fehlerfall, stderr benutzenWas kann damit gemacht werden?

UmleitenFilternAn andere Kommandos weitergeben

Page 64: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

64LIN1 LVA

Ein- und Ausgabe umleiten

Für Programm/Befehl selbst nicht ersichtlichIn eine Datei umleiten → > oder >>

z.B. kommando > datei

Datei wird angelegt falls sie nicht existiertMit noclobber existierende nicht überschrieben

Mit >> wird an die Datei angehängt und nicht überschrieben

:~$ netstat -tln > listenPorts.txt:~$ set -o noclobber:~$ netstat -tln > listenPorts.txt-bash: listenPorts.txt: cannot overwrite existing file:~$ set +o noclobber

Page 65: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

65LIN1 LVA

Ein- und Ausgabe umleiten

Auf Eingabe hinleiten

Kombination

:~$ wc -l < listenPorts.txt 10

:~$ wc -l < listenPorts.txt > lineCount:~$ cat lineCount 10

Page 66: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

66LIN1 LVA

Ein- und Ausgabe umleiten

&>Leitet stderr und stdout in Datei um!So taucht auch ein Fehlermeldung in der umgeleiteten Datei auf

PipesVerbinden stdout mit stdin eines weiteren KommandosSehr hilfreich bei der Weitergabe von Ausgaben!

Z.B. Lange Befehlsausgaben

:~$ egrep '22|25' listenPorts.txt | wc -l4

:~$ dmesg | less

Page 67: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

67LIN1 LVA

Ein- und Ausgabe umleiten

tee“Kreuzung”Lese stdin und schreibe nach stdoutAlso eine Zwischenspeicherungz.B. Logging von ssh-Session

:~$ ssh [email protected] | tee lin1.log

Page 68: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

68LIN1 LVA

Kommandosubstitution

KommandosubstitutionBackticks → `...`, oder $(...)Standardausgabe wird in Kommando eingebaut

:~$ ls `whoami`ls: cannot access gschoenb: No such file or directory

:~$ grep `head -n1 /etc/hosts|cut -f1` listenPorts.txt tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

Page 69: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

69LIN1 LVA

Übung 3

Ausgabe- und Kommandoumleitung

Page 70: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

70LIN1 LVA

sudo und Benutzer

MehrbenutzersystemBenutzer anlegen

Page 71: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

71LIN1 LVA

Sandwich (xkcd.org)

Page 72: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

72LIN1 LVA

Mehrbenutzersystem

Mehrere Benutzer können parallel angemeldet seinDaher Rechteverwaltung nötig

Benutzer und GruppenGekennzeichnet durch uid und gid

Super-user im Systemroot-Benutzer (vgl. System-Administrator unter Windows)root ist “allmächtig” kann im Prinzip alles machen→

# rm -rf /

root-Rechte können kurz ausgeborgt werden → sudo

Page 73: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

73LIN1 LVA

sudo und root-Rechte

Super-user doFrüher – reiner root UserHeute – zumeist sudo

Kommandos als root oder einem anderen User ausführenWelche Gruppe unter Debian?

Protokoll über sudo-Verwendung führenBenutzer nur einzelne Kommandos erlaubenManchmal etwas mühsam

sudo susudo -i

Page 74: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

74LIN1 LVA

sudo und root-Rechte

Wie wird man richtig root?sudo susudo su -sudo -isudo -s

Vgl. RootSudo (help.ubuntu.com)Neue sudo-Rechte hinzufügen

sudo visudosudo select-editor um auf vi umzustellen

Rechte auflistensudo -l

Page 75: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

75LIN1 LVA

sudo und root-Rechte

Änderungen am System benötigen sudoapt-get updateEditieren von Konfigurations-DateienBenutzer-Management

→ Administrations-ArbeitenProbleme

Output redirectionsudo sh -c "COMMAND”

Editieren von Dateien"/etc/passwd" [readonly] 35L, 1745C

Page 76: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

76LIN1 LVA

Benutzer anlegen und löschen

adduserdeluser

Page 77: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

77LIN1 LVA

Linux-Benutzer

Linux ist ein MehrbenutzersystemTrennung von normalen Benutzern und Administrations-AccountTraditionell root heute zumeist → sudo

Benutzerkonten besitzen immer eine uid

:~$ man id:~$ iduid=1000(lin1) gid=1000(lin1) groups=1000(lin1),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev):~$ cat /etc/passwd|grep 1000lin1:x:1000:1000:lin1,,,:/home/lin1:/bin/bash:~$ getent passwd lin1lin1:x:1000:1000:lin1,,,:/home/lin1:/bin/bash:~$ getent group lin1lin1:x:1000:

Page 78: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

78LIN1 LVA

Linux-Benutzer

Zugehörigkeit des Benutzers definiert in/etc/passwd/etc/shadow/etc/group

Eigene Dateien im Home-Verzeichnis ablegenAndere User dürfen in diesem Verzeichnis nur lesenKein Schreibzugriff, nur root darf alles

Pseudobenutzer werden meist für Dienst od. Rolle verwendet

www-data:~$ sudo su www-data --shell=/bin/bash

Page 79: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

79LIN1 LVA

Linux-Benutzer – passwd

Passwort in /etc/shadow gespeichertGehashtes Passwort

Eigenes Passwort ändernpasswd

Viele Distributionen legen Gruppe an, die gleich dem User istDatei gehört immer einen User und einer Gruppe

$6$gnbaAlrI$oXtj9hW1JLKUXWHQVzWXKm0mpbfVxx/H0EMhkwrrfuySjC4Ctn8DZKwUyDeTp2.hsoxb1c5MvXPTz6YAoWhiT/

:~$ ls -l myprogram-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 myprogram

Page 80: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

80LIN1 LVA

Benutzer anlegen

Prinzipiell auch möglich alle Dateien händisch anzulegenHilfsprogramm

useradd low-level→adduser Fragen beantworten, ein Front-End zu → useradd

:~$ sudo adduser lin2[sudo] password for lin1: Adding user `lin2' ...Adding new group `lin2' (1001) ...Adding new user `lin2' (1001) with group `lin2' ...Creating home directory `/home/lin2' ...Copying files from `/etc/skel' ...Enter new UNIX password: Retype new UNIX password: passwd: password updated successfullyChanging the user information for lin2Enter the new value, or press ENTER for the default

Full Name []: Room Number []: Work Phone []: Home Phone []: Other []:

Is the information correct? [Y/n] y

Page 81: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

81LIN1 LVA

Benutzer löschen

deluser

--remove-home oder --remove-all-flesLöscht Home-Verzeichnis oder alle Dateien des Benutzers

:~$ sudo deluser lin2Removing user `lin2' ...Warning: group `lin2' has no more members.Done.:~$ ls -ld /home/lin2drwxr-xr-x 2 1001 1001 4096 Aug 16 18:59 /home/lin2

:~$ find / -uid 1001 -delete

Page 82: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

82LIN1 LVA

Benutzer von Hand anlegen

Manually add new user to Red Hat/Fedora/CentOS (itguykelly.wordpress.com)

Page 83: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

83LIN1 LVA

Übung 4

Benutzer und sudo

Page 84: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

84LIN1 LVA

Rechtemanagement

user, group, otherBesondere Rechte-Bits

Page 85: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

85LIN1 LVA

Linux Rechtesystem

Rechtekonzept besteht für Dateien, Verzeichnisse und ProzesseRechte sind definiert auf

Den Besitzer – userDie Gruppe – groupAlle anderen – other

Für diese 3 werden vom Eigentümer definiertSchreib-Lese-Ausführungs-Rechte

Page 86: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

86LIN1 LVA

Linux Rechtesystem

r w x

ändernlesen Progr.Ausführen

auflistenanlegen,

umbenennen,löschen

Ins Verz.wechseln

Dateien

Verzeichnisse

Page 87: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

87LIN1 LVA

Linux Rechtesystem

Um eine Datei zu löschen, benötigt man Schreibrechte im Verzeichnis

Mit Schreibrecht auf Datei, kann diese immer noch geändert werden

:~$ ls -latotal 60drwxr-xr-x 5 lin1 lin1 4096 Aug 16 20:34 .drwxr-xr-x 5 root root 4096 Aug 16 18:59 ..drwx------ 2 lin1 lin1 4096 Aug 16 18:31 .aptitude-rw------- 1 lin1 lin1 7248 Aug 16 18:20 .bash_history-rw-r--r-- 1 lin1 lin1 220 Jul 27 12:54 .bash_logout-rw-r--r-- 1 lin1 lin1 3391 Jul 27 13:03 .bashrc-rw------- 1 lin1 lin1 185 Aug 16 20:34 .lesshst-rw-r--r-- 1 lin1 lin1 3 Aug 10 12:14 lineCount-rw-r--r-- 1 lin1 lin1 763 Aug 10 11:39 listenPorts.txt-rw------- 1 lin1 lin1 4164 Aug 3 17:03 mbox-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 myprogram-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 myprogram2-rw-r--r-- 1 lin1 lin1 675 Jul 27 12:54 .profiledrwxr-xr-x 2 lin1 lin1 4096 Aug 16 20:34 rechtedrwxr-xr-x 2 lin1 lin1 4096 Aug 6 19:52 test-rw-r--r-- 1 lin1 lin1 0 Aug 3 17:08 test 1lrwxrwxrwx 1 lin1 lin1 9 Aug 6 21:29 testProgram -> myprogram

Page 88: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

88LIN1 LVA

Linux Rechtesystem

Rechte stehen in 3er-Bündeln hinter einanderErster Buchstabe ist Datei-Typ

Angabe auch octal möglich → 755

-rwxr-xr-x

Groupperm.

Userperm.

Otherperm.

Page 89: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

89LIN1 LVA

Rechte ändern

chmod

BereicheUser u, → Group g, → Others o→

Operation+ hinzufügen, → - weg nehmen, → = setzen→

Berechtigungr Lesen, → w Schreiben, → x Ausführen→

SYNOPSIS chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --reference=RFILE FILE...

Page 90: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

90LIN1 LVA

Rechte ändern – Symbole

chmod +x datei Execute-Recht für Eigentümer, Grup-pe, Andere

chmod go-w datei Gruppe und Anderen Schreibrecht ent-ziehen

chmod g+rwx datei Alle Rechte für die Gruppe

chmod ugo-rwx datei Alle Rechte allen entziehen

chmod u-r,g+x datei Eigentümer Leserecht entziehen undGruppe Execute-Recht zuweisen

chmod u=rw datei Schreib- und Leserecht für Eigentümer

Page 91: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

91LIN1 LVA

Rechte ändern – Numerisch

Dreistellige Oktalzahl, Summe ergibt RechteLeserecht → 4, Schreibrecht → 2, Ausführung → 1Maximal daher → 777

Oft kürzer und nicht so umständlichAnzeigen → stat

rw-r--r-- 644r-------- 400rwxr-xr-x 755

:~$ chmod 644 datei:~$ chmod u=rw,go=r datei

:~/tmp$ ll exp.sh -rwxrw-r-- 1 lin1 lin1 49 Aug 21 13:31 exp.sh*:~/tmp$ stat -c "%a" exp.sh 764

Page 92: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

92LIN1 LVA

Eigentümer/Gruppe ändern

chown

Benutzer und Gruppe können in einem Schritt gesetzt werden

Warum sudo?chgrp

Als root oderEigentümer der Datei und Mitglied in neuer Gruppe

chown [OPTION]... [OWNER][:[GROUP]] FILE...

:~$ sudo chown www-data:www-data test.pl

chown [OPTION]... [OWNER][:[GROUP]] FILE...

Page 93: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

93LIN1 LVA

Linux Rechtesystem – umask

Standardmäßig wären RechteDatei → 666Ordner → 777

umask setzt die Rechte restriktiverDie definierte umask wird von den Standard-Rechten abgezogen

666 777

0022

644 755

Page 94: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

94LIN1 LVA

Besondere Zugriffsrechte

stickychmod Pos. 1 =→ 1Restricted Deletion nur Besitzer einer Datei darf sie →löschen

setgidchmod Pos. 1 =→ 2Verzeichnis neue Datei gehören Gruppe des Verzeichnis→

setuidDatei Mit Rechte des Eigentümers gestartet→

:~$ ls -lda /tmp/drwxrwxrwt 17 root root 12288 Aug 28 10:52 /tmp/

Page 95: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

95LIN1 LVA

User Private Groups

User Private Groups (wiki.debian.org)The How and Why of User Private Groups in Unix (security.ias.edu)Zusammenspiel von eigenen Gruppen für Benutzer, setgid Bit und umaskZ.B. Projektverzeichnis für zwei Benutzer erstellen1. Gruppe erstellen2. User zu Gruppe hinzufügen3. Projekt-Verzeichnis erstellensudo mkdir -p /home/share/project #create the group's public directorysudo chgrp project /home/share/project #give it to the groupsudo chmod 2775 /home/share/project #adjust its permissions (sgid)

Page 96: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

96LIN1 LVA

Prozess-Eigentümer

Auch Prozesse laufen unter bestimmten User

:~$ ps -u gschoenb PID TTY TIME CMD 2539 ? 00:00:00 gnome-keyring-d 2556 ? 00:00:00 sh 2600 ? 00:00:00 ssh-agent 2603 ? 00:00:00 dbus-launch 2604 ? 00:00:04 dbus-daemon 2619 ? 00:00:00 xfce4-session 2621 ? 00:00:00 xfconfd 2630 ? 00:01:16 xfwm4 2634 ? 00:01:20 xfce4-panel 2636 ? 00:01:49 Thunar 2638 ? 00:00:02 xfdesktop 2640 ? 00:00:05 nm-applet

Page 97: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

97LIN1 LVA

Prozess-Eigentümer

Am Beispiel sudo

sudo prüft /etc/sudoerssudo startet Programm mit fork

Prozess erbt von sudoFunktioniert das?

:~$ ls -la /usr/bin/sudo-rwsr-xr-x 1 root root 121144 Feb 28 15:17 /usr/bin/sudo

:~/tmp$ sudo chown root:root sudo.test :~/tmp$ sudo cat /etc/passwd > sudo.test

Page 98: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

98LIN1 LVA

Übung 5

Rechtemanagement

Page 99: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

99LIN1 LVA

Dateien editieren

Vim FTW!

Page 100: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

100LIN1 LVA

Dateien editieren

Konfiguration erfolgt hauptsächlich in Text-Dateienvi ist der ursprüngliche Text-Editor

Praktisch überall vorhandenvim eine “verbesserte”, aktuelle VersionAlternativen → emacs oder nanoZu Beginn gewöhnungsbedürftig→

Nach einiger zeit effizient!Vimlogo.svg (en.wikipedia.org)

Page 101: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

101LIN1 LVA

Vim Editor

Zwei ModiKommandomodus, Editiermodus

Wichtige Tast. KürzelESC → in den Kommandomodus wechseln:q! ohne Änderungen verlassen→i in den Eingabemodus wechseln→:w Datei speichern→:wq speichern und verlassen→

Alternativ → :x

Page 102: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

102LIN1 LVA

Vim Editor

Mit ESC in den Kommandomoduscw Wort ändern→o darunter Zeile einfügen→dd Zeile löschen/ausschneiden→yy Zeile kopieren→p Zeile darunter einfügen→u rückgängig machen→/begriff nach begriff suchen→

n zum nächsten Ergebnis springen→Zahl + G zu Zeile “Zahl” springen→

Page 103: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

103LIN1 LVA

Vim Editor

Konfiguration in der .vimrcset hlssyntax oncolorscheme ron

Auch direkt in der Datei möglich:set number:set nonumber

Für Programmiererset autoindentset smartindent

→ beim Einfügen nur bedingt nützlich

Page 104: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

104LIN1 LVA

Übung 6

Editor VIM

Page 105: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

105LIN1 LVA

Netzwerk

ipifconfig/etc/network/interfaces

Page 107: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

107LIN1 LVA

Linux als Netzwerkclient

Kernel ermöglicht die Netzwerkkommunikation für ApplikationenÄnderungen erfordern root-RechteInterfaces können auf unterschiedliche Wege konfiguriert werdenHäufig benötigt

Statische IP temporär einstellenStatische IP permanent eintragenDefault-Gateway eintragenNameserver für DNS konfigurieren

Page 108: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

108LIN1 LVA

Netzwerkkonfiguration

Oft DHCP → dhclient

Temporär IP-Adresse konfigurieren → ip / ifconfgifconfg

route

:~$ sudo dhclient eth1

:~$ sudo ifconfig -a:~$ sudo ifconfig eth2 192.168.0.1/24:~$ sudo ifconfig eth2 192.168.0.1 netmask 255.255.255.0

:~$ sudo route add default gw 192.168.0.254:~$ sudo routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Ifacedefault 192.168.0.254 0.0.0.0 UG 0 0 0 eth2

Page 109: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

109LIN1 LVA

Netzwerkkonfiguration

ipVielseitiges Werkzeug zur NetzwerkkonfigurationIconfg eigentlich ein Auslaufmodell → deprecated

ip routeNamensauflösung

/etc/hosts statische Einträge für Hosts→/etc/resolv.conf DNS-Server→

Wird durch dhclient verändert

:~$ ip addr show eth2:~$ sudo ip addr del 192.168.0.1/24 dev eth2:~$ sudo ip link set eth2 down

Page 110: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

110LIN1 LVA

Netzwerkkonfiguration

Dauerhafte Netzwerkkonfiguration distributions-spezifischDebian → NetworkConfiguration (wiki.debian.org)

auto eth1iface eth1 inet dhcp auto eth1

iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.254

/etc/network/interfaces

staticdhcp

Page 111: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

111LIN1 LVA

Netzwerkkonfiguration - Fehlersuche

Etwas wird nicht erreicht

Ein Dienst funktioniert nicht

ip a ping

gateway hostgateway

digroute

nslookupMX

netstatService XY status telnet openssl

Port

Page 112: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

112LIN1 LVA

Übung 7 und 8

Übung 7 Netzwerkkonfiguration→Übung 8 → scp und winSCP

Page 113: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

113LIN1 LVA

Archivieren und Komprimieren

targzip

Page 114: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

114LIN1 LVA

tar

ArchivierenZusammenfassen mehrerer Dateien in einer Datei

-r → hängt Dateien ans Archiv an-u ersetzt ältere Dateien im Archiv→-z / -j komprimiert→

:~$ tar -cf test.tar test.pl test.sh:~$ tar -tf test.tar test.pltest.sh:~$ mkdir test:~$ tar -x -C test -f test.tar :~$ ls testtest.pl test.sh

Page 115: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

115LIN1 LVA

tar und Komprimierung

Oft angetroffen → tar.gzgzip Komprimierung

Originaldateien werden gelöschtDirekte Verwendung mit tar

:~$ gzip test.tar:~$ gzip -l test.tar.gz compressed uncompressed ratio uncompressed_name 1190 10240 88.6% test.tar:~$ ls -la test.tar.gz -rw-rw-r-- 1 lin1 lin1 1190 Aug 28 15:20 test.tar.gz

:~$ tar -czf test.tar test/:~$ file test.tar test.tar: gzip compressed data, from Unix, last modified: Wed Aug 28 18:16:57 2013

Page 116: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

116LIN1 LVA

Paketmanagement

Repositoriesapt-getaptitude

Page 117: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

117LIN1 LVA

Repositories

Beinhalten vorkompilierte SoftwareMuss nicht mehr selbst am eigenen System kompiliert werden

Vgl. GentooDie Programme werden als Debian-Pakete verwaltet

Eine Art Archiv und Regeln, wie Dateien installiert werdenPaket muss bestimmten Richtlinien entsprechenPaket definiert auch Abhängigkeiten

Auch andere Distributionen besitzen PaketmanagementCentOS → rpm

Page 118: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

118LIN1 LVA

Repositories und Pakete

Definierte Paket-Abhängigkeiten ermöglichen einfaches installieren und aktualisieren von PaketenEin Paket hat immer einen Maintainer pflegt Paket→Pakete sind signiert und besitzen Prüfsummen, damit Herkunft und Integrität geprüft werden kannFür Debian hilfreich

http://packages.debian.orgDort kann nach Paketen gesucht werden und auch der Quellcode bezogen werden

NachteilOft schafft es nicht die aktuellste Version in die Repos

Page 119: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

119LIN1 LVA

Pakete verwalten

apt-cache search

apt-get install

apt-get update

apt-get upgrade

Page 120: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

120LIN1 LVA

Pakete verwalten – aptitude

Unter Debian Paket-Manager als eine Schicht über → dpkgapt-get, apt-cache, aptitude

:~$ aptitude search apachep apache2 - Apache HTTP Server metapackage[…]:~$ aptitude show apache2Package: apache2 State: not installedVersion: 2.2.22-13Priority: optionalSection: httpdMaintainer: Debian Apache Maintainers <[email protected]>Architecture: amd64Uncompressed Size: 29.7 kDepends: apache2-mpm-worker (= 2.2.22-13) | apache2-mpm-prefork (= 2.2.22-13) | apache2-mpm-event (= 2.2.22-13) | apache2-mpm-itk (= 2.2.22-13), apache2.2-common (= 2.2.22-13)[...]

Page 121: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

121LIN1 LVA

Pakete verwalten – aptitude

depends, recommends, suggestsapt-get install –no-install-recommendsaptitude -R

apt-get vs. aptitude und Cheat-SheetBasic Package Management Operations (debian.org)

remove vs. purgePaketdaten entfernenpurge entfernt auch Konfigurationsdateien

Beim UpgradeKernel wird zurück gehaltenaptitude full-upgrade, apt-get dist-upgrade

Page 122: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

122LIN1 LVA

aptitude, apt-get Befehlsübersicht

aptitude apt-get Beschreibung

aptitude update apt-get update Paket-Archiv Metadaten aktualisieren

aptitude install foo

apt-get install foo

Installiere Paket „foo“ und dessen Abhängigkeiten

aptitude safe-upgrade

apt-get upgrade Aktualisiere Pakete

aptitude full-upgrade

apt-get dist-upgrade

Upgrade + Abhängigkeitsänderungen

aptitude remove apt-get remove Entferne „foo“, Konf. Dateien bleiben erhalten

aptitude purge apt-get purge Entferne „foo“, Konf. werden ebenfalls entfernt

aptitude clean apt-get clean Lokale Repo-Paket-Dateien werden gelöscht

aptitude show foo apt-cache show foo Zeige detaillierte Informationen zu Paket „foo“

aptitude search <regex>

apt-cache search <regex>

Suche nach Paketen, die auf <regex> zutreffen

Page 123: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

123LIN1 LVA

Pakete verwalten – dpkg

Low-level Operationen oft hilfreich:~$ dpkg -l | grep ssh-serverii openssh-server 1:6.0p1-4 amd64 secure shell (SSH) server, for secure access from remote machines:~$ dpkg -L openssh-server/./etc/etc/init.d/etc/init.d/ssh/etc/default/etc/default/ssh/etc/network/etc/network/if-up.d/etc/network/if-up.d/openssh-server[…]:~$ dpkg -S sshdopenssh-server: /usr/sbin/sshdopenssh-server: /usr/share/man/man8/sshd.8.gzopenssh-server: /usr/share/doc/openssh-client/examples/sshd_configopenssh-server: /etc/pam.d/sshdopenssh-server: /usr/share/man/man5/sshd_config.5.gz

Page 124: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

124LIN1 LVA

Paketquellen

In folgender Datei spezifiziert

Quellen von Dritten

Schlüssel von apt einbindenapt-key addPaket-Herkunft kann geprüft werden

:~$ vi /etc/apt/sources.list

:~$ ls -d /etc/apt/sources.list.d//etc/apt/sources.list.d/

Page 125: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

125LIN1 LVA

Übung 9

Pakete und PaketquellenMit apt Pakete installierenMit tar entpacken

Page 126: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

126LIN1 LVA

Dateien finden

findlocate

Page 127: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

127LIN1 LVA

fnd

Durchsucht Verzeichnisbaum rekursivFiltern nach KriterienLiefert Pfad der Datei zurück

Suchen in Verzeichnissen erfordert entsprechende ZugriffsrechteBei mehreren Kriterien mit und-Operator verknüpfen

Oder → -o

:~$ find . -user lin1 -name lineCount./lineCount

Page 128: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

128LIN1 LVA

fnd und Aktionen

Normalerweise -printAuch Folgekommandos möglich → -exec

Nachteil von exec → für jedes Argument wird ein Prozess gestartet

Kann für viele Argumente sehr ineffizient seinWeitere Option → xargs

:~$ find . -type f -perm 755 -exec ls -l '{}' \;-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 ./myprogram2-rwxr-xr-x 2 lin1 lin1 0 Aug 3 14:39 ./myprogram

Page 129: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

129LIN1 LVA

fnd und xargs

xargs sammelt möglichst viele Argumente, bevor es den Befehl ausführt

Verwendet das Gelesene als ArgumenteEin fnd – xargs Klassiker

Keine Probleme bei Sonderzeichen in DateinamenZ.B. beim Programmieren bestimmte Zeile in allen Quelldateien suchen

Alternative → ack-grep

:~$ find . -type f -print0 | xargs -0 grep 127.0.0.1./listenPorts.txt:tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

Page 130: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

130LIN1 LVA

fnd vs. locate

fnd läuft die komplette Datei-Hierarchie ablocate ist nicht immer standardmäßig installiert

Suchmuster beginnt zumeist mit *Ansonsten wird für Suchmuster nur genauer Treffer geliefert

:~$ sudo updatedb:~$ locate test/boot/grub/cmostest.mod/boot/grub/example_functional_test.mod/boot/grub/functional_test.mod/boot/grub/test.mod/boot/grub/test_blockarg.mod/boot/grub/testload.mod/boot/grub/usbtest.mod/boot/grub/videotest.mod/home/lin1/test

Page 131: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

131LIN1 LVA

Übung 10

Mit fnd Dateien finden

Page 132: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

132LIN1 LVA

Dienste, Daemons und Co.

restartreload

Page 133: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

133LIN1 LVA

Init-Skripte

Befinden sich in /etc/init.d

Über symbolische Links wird definiert, wann/ob Dienst aktiv ist

Skripte steuern, was beim start/stop/restart/reload passiertDaemons in Debian (wiki.debian.org)

:~$ ls -la /etc/init.d/ssh -rwxr-xr-x 1 root root 3881 Feb 8 2013 /etc/init.d/ssh

:~$ ls -la /etc/rc3.d/S17ssh lrwxrwxrwx 1 root root 13 Sep 26 08:10 /etc/rc3.d/S17ssh -> ../init.d/ssh

Page 134: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

134LIN1 LVA

Init-Skripte

Dienst neu starten

Konfiguration neu ladenreload → sendet SIGHUP

Alternativ Kommando service

:~$ sudo /etc/init.d/ssh restart[sudo] password for lin1: [ ok ] Restarting OpenBSD Secure Shell server: sshd.

:~$ sudo /etc/init.d/ssh reload[ ok ] Reloading OpenBSD Secure Shell server's configuration: sshd.

:~$ sudo service ssh reload[ ok ] Reloading OpenBSD Secure Shell server's configuration: sshd.:~$ sudo service ssh status[ ok ] sshd is running.lin1@lin1:~$ /etc/init.d/ssh status[ ok ] sshd is running.

Page 135: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

135LIN1 LVA

Init-Skripte

Dienste nicht mehr standardmäßig startenupdate-rc.d

Default Run-Level-Links erzeugen

Befehl entfernt symbolische LinksWerden bei Paket-Update wieder hergestellt

Neue disable/enable Funktion

:~$ update-rc.d foobar defaults

:~$ update-rc.d -f foobar remove

:~$ sudo update-rc.d -n ssh disable update-rc.d: using dependency based boot sequencingrename(/etc/rc2.d/S17ssh, /etc/rc2.d/K17ssh)rename(/etc/rc3.d/S17ssh, /etc/rc3.d/K17ssh)rename(/etc/rc4.d/S17ssh, /etc/rc4.d/K17ssh)rename(/etc/rc5.d/S17ssh, /etc/rc5.d/K17ssh)

Page 136: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

136LIN1 LVA

Partition erstellen, einhängen

fdiskmount

Page 137: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

137LIN1 LVA

Partitionen erstellen

fdisk erstellt PartitionenMBR-PartitionstabelleKann nicht mit GPT umgehen

Vgl. GUID Partition Table (wiki.thomas-krenn.com)Typischerweise primäre und logische PartitionenZweck der Partition über systemtypische Ids

Switch t → bei fdiskgdisk erstellt auch GPT-Partitionen

Page 138: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

138LIN1 LVA

Devices einhängen

Befehl → mount und umountsudo mount device pathOption -t spezifiert Typ des Devices

Kann auch z.B. NFS-Share seinOder eine iso Datei

mount ohne Parameter

:~$ sudo mount -o loop pmagic_2013_02_28.iso /mnt/

:~$ mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=45997,mode=755)devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=37988k,mode=755)/dev/disk/by-uuid/91427534-2383-48af-b0fe-699f36f65cda on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)

Page 139: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

139LIN1 LVA

/proc und /sys

Page 140: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

140LIN1 LVA

/proc und /sys

Virtuelle DateisystemeWerden vom Kernel erzeugt

/proc procfs→Interaktion mit Kernel, laufende Prozesseps holt sich z.B. Informationen davoncpuinfo, meminfo, version

Ursprünglich nur für Prozesse vorgesehenEinige Dinge wurden nach /sys migriert

:~$ cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.8.0-30-generic root=UUID=e17c2a90-c848-4634-a4b7-b5bd10be89f4 ro quiet splash vt.handoff=7

Page 141: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

141LIN1 LVA

/proc

/proc liefert Abstraktion zwischen Kernel-Dateistrukturen und DienstprogrammenKernel-Konfigurationen ohne Neustart ändernAdminister Linux on the fly (ibm.com)

cat /proc/cpuinfocat /proc/meminfo free→cat /proc/mounts mounts→ps greift auch auf /proc zu

:~$ echo 1 > /proc/sys/net/ipv4/ip_forward

Page 142: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

142LIN1 LVA

/sys

/sys → sysfsS.a. The sysfs Filesystem (kernel.org)Devices und TreiberKernel Programming InterfaceUser Interface um Eigenschaften zu manipulieren

:~$ ls /sysblock bus class dev devices firmware fs hypervisor kernel module power:~$ cat /sys/block/sda/queue/scheduler noop [deadline] cfq

Page 143: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

143LIN1 LVA

Reguläre Ausdrücke

Page 144: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

144LIN1 LVA

Reguläre Ausdrücke

Ähneln Suchmuster der Shell

Auch Regular Expressions oder regex genanntOft nützlich z.B. Bei egrep

:~$ ls test*test.pl test.sh test.tar

test:test.pl test.sh

:~/tmp$ egrep -n '^#+|\s+#+' test.pl 1:#use strict;26:# my %current_device = %{(shift)};38: #check the supported throttle reasons41: #printf("Supported: %0x16\n",$supportedClocksThrottleReasons); 42: #get the current active throttles45: #the curr mask is supported

Page 145: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

145LIN1 LVA

Reguläre Ausdrücke

Online regex-TesterJava Script regex-Tester (regexpal.com)

Grundlegende Ausdrückeabc → abc[a-e] → von a bis ea[xy]b a, x oder y, b→^ → Anfang der Zeile$ → Ende der Zeile

Page 146: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

146LIN1 LVA

Kernel kompilieren

Sourcen ladenKonfigurierenInstallieren

Page 147: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

147LIN1 LVA

Kernel Aufgaben

Zur WiederholungBietet OS Funktionalitäten anMonolithischer Kernel mit dynamisch ladbaren ModulenKernel-Treiber werden auch Built-in-Treiber genannt

Nicht alles kann als Modul realisiert werdenZ.B. muss direkt nach dem Start auf Festplatte zugegriffen werden

Trend geht zu Modulen

Page 148: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

148LIN1 LVA

Kernel Verzeichnis-Aufbau

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/?id=refs/tags/v3.17.2

Page 149: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

149LIN1 LVA

To compile, or not to compile

YesKernel DeveloperKernel wird in einer Art benötigt, in der er offiziell nicht vorliegtEin Problem debuggenHardware wird von Stock Kernel nicht unterstütztInteresse halber, zum Üben

NoNur ein Driver wird benötigtDu bist dir nicht sicher und weißt nicht was du tust

Page 150: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

150LIN1 LVA

Source und Config

Konfigurieren Kompilieren Installieren→ →Mehrere make Ziele vorhandenWerkzeuge werden benötigt

Kernel Sourcen werden benötigtMainline/Vanilla Kernel

Ubuntu/Debian Kernel

anonscm.debian.org

# apt-get install fakeroot build-essential devscripts libncurses5 libncurses5-dev# apt-get build-dep linux

:~$ wget https://kernel.org/pub/linux/kernel/v3.x/linux-3.17.2.tar.xz

:~$ apt-cache search linux|grep sourcelinux-source - Linux-Kernel-Quelltext mit Ubuntu-Patches

Page 151: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

151LIN1 LVA

Source und Config

Konfiguration für Kernel wird benötigt

Linux-Kernel maßgeschneidert (heise.de)

:~$ cp -a /boot/config-`uname -r` .config:~$ make silentoldconfig:~$ make localmodconfig:~$ make menuconfig

Page 152: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

152LIN1 LVA

Kernel kompilieren und installieren

make und make installInitramfs einrichten

cpio Archiv für Startup-ProzessBeinhaltet eine Basis rootfs (tldp.org)Früher initrd (wikipedia.org)

Grub Update ausführen:~/kernel/linux-3.17.2$ make -j5[...]:~/kernel/linux-3.17.2$ sudo make modules_install[...]:~/kernel/linux-3.17.2$ sudo make install[...]:~$ ls /boot/*3.17.2/boot/config-3.17.2 /boot/initrd.img-3.17.2 /boot/System.map-3.17.2 /boot/vmlinuz-3.17.2

Page 153: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

153LIN1 LVA

Weitere Wege zu neuen Kerneln

Ubuntu Enablement StackZ.B. 14.04 LTS mit Kernel von 14.10 betreibenS.a. LTSEnablementStack (wiki.ubuntu.com)

Ubuntu Mainline Kernels BuildsMainlineBuilds (wiki.ubuntu.com)

DebianUnstable oder BackportsHowToUpgradeKernel (wiki.debian.org)

Page 154: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

154LIN1 LVA

Fortgeschrittene Themen

ssh

Page 155: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

155LIN1 LVA

ssh

ssh ForwardingLocal Port Forwarding

Lokalen Port an Destination Server weiterleitenZ.B. phpmyadmin über ssh tunneln

Remote Port ForwardingÜber Remote Server zu anderem Server verbinden

Tunnel erstellen:

Zu host, wo Tunnel erstellt wurde, verbinden:

user@laptop:~$ ssh -R 2222:localhost:22 [email protected]

:~$ ssh [email protected]:~$ ssh -p 2222 user@localhost

Page 156: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

156LIN1 LVA

Abschließende Fragen?

Ansonsten Vielen Dank für das Kennenlernen von Linux!

Page 157: LIN1 Linux-Grundlagendevtux.at/downloads/lin1-lva.pdfWikimania_stallman_keynote2.jpg (commons.wikimedia.org) 8 LIN1 LVA Hello everybody out there using minix - I'm doing a (free) operating

157LIN1 LVA

Copyright

FolienAutor: Georg Schönberger

Libreoffice TemplateLizenz: CC-by-sa-v3LibreOffice Presentation Templates 1.0 (templates.libreoffice.org)

Tux-GrafikAutor: Larry EwingTux-simple.svg (commons.wikimedia.org)