Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Unix / Linux für Fortgeschrittene
Rosa Freund, freund@lrz.de
2Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Was?
● Tools, die dazu benötigt werden, das System zu
verwalten:
● Regelmäßig ein Skript ausführen
● Nutzer, Gruppen und Rechte verwalten
● Software verwalten
● Netzwerk konfigurieren
● Das System absichern
● Das System als Serversystem konfigurieren
3Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
I/O-Umleitung
● Umleitung mit >, >>, <
● 3 verschiedene Datenströme mit Deskriptoren :
● 0: Standardeingabe /dev/stdin (Tastatur)
● 1: Standardausgabe /dev/stdout
(Terminal)
● 2: Fehlerausgabe /dev/stderr (Terminal)
4Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
I/O-Umleitung: Beispiele
● kommando < file.txt
● kommando 2> error.log
● kommando > /dev/null 2>> error.log
● kommando > /dev/null 2>&1
5Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Cron
● Daemon, führt Tasks im Hintergrund aus
● Systemweit: /etc/crontab (Produktivdatei)
● User-/Root-Crontabs: crontab -l, crontab -e
● liegen in /var/spool/cron/crontabs
6Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Cron - Beispiel
Minute Stun-
de
Tag Monat Wo-
chen-
tag
Befehl Aktion
17 3 * * * ls -la /home/rosa/login.log > /dev/null 2>&1
7Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgabe 1
● Umleitung Datenströme
● Cron
8Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Bash konfigurieren
● Welche Shell benutze ich?
● echo $SHELL
● grep <username> /etc/passwd
● Bash-Konfigurationsdateien
● source /etc/profile
● source /etc/bash.bashrc
● source ~/.bash_profile
● source ~/.bashrc
● Andere Konfigurationsmöglichkeiten:
● setenv, export
9Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Umgebungsvariablen, Aliasse
● Können in der Bash (aktuelle Session) oder in
Konfigurationsdatei (alle Sessions) definiert
werden
● Umgebungsvariablen:
● z.B. $PATH, $SHELL, $HOME
● in einer der Konfigurationsdateien gesetzt
● printenv
● Aliasse:
● alias findlog = 'find . -name *.log'
10Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgaben 2
Bash-Konfiguration
11Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Benutzer- Gruppenverwaltung
● Ein Superuser (Root), beliebig viele User
● Beliebig viele Gruppen
● Ein User gehört einer oder mehr Gruppen an
● Jedem User ist eine eindeutige ID (=UID)
zugeordnet, Root die UID 0
● Jeder Gruppe ist eine eindeutige ID (=GID)
zugeordnet, der Root-Gruppe die GID 0
12Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Dateirechte und -owner
● chmod: Ändert Dateirechte
● chown: Ändert Dateiowner (User und Gruppe)
● useradd: Fügt Nutzer hinzu
● groupadd: Fügt Gruppe hinzu
● /etc/passwd: Liste aller User
● /etc/group: Liste aller Gruppen
● /etc/shadow
13Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
sudo
Quelle: http://xkcd.com/149/
14Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
sudo
● sudo: Lässt Benutzer bestimmte Befehle als
anderer Nutzer (ohne Parameter: als Root)
ausführen
● su: Wechsel zum anderen Nutzer (ohne
Parameter: Zu Root)
● /etc/sudoers
● visudo
15Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgaben 3
sudo, Nutzer- und Gruppenverwaltung
16Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Software installieren und verwalten
● Systemabhängige Paketverwaltung-GUI, z.B.
Synaptic bei Ubuntu bzw. YaST2 bei SUSE
● Systemabhängige Paketverwaltungstools, z.B.
apt/dpkg (Debian / Ubuntu), zypper (SuSE), pacman
(Arch Linux)
● Kompilieren aus dem Quellcode mit ./configure,
make, make install
● Skript “Software installieren aus dem Quellcode”,
http://www.trish.de/downloads/kompilierkurs.pdf
17Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgabe 4
Software installieren und verwalten
18Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Prozesse
● Laufendes Programm
● Zustände: dead, ready, running, sleep, trace,
wait, uninterruptible sleep, zombie
● ps aux, Spalte “STAT”
● ps
● pstree
● renice
● pidof
19Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Prozess-Eigenschaften
● PID (Prozess-ID)
● PPID (Parent PID)
● UID, EUID: reale und effektive Benutzer-ID
● GID, EGID: reale und effektive Gruppen-ID
● real: wer den Prozess erzeugt hat
● effektiv: unter welchen Rechten der Prozess
gerade läuft
● nice: -20<nice<19, -20 entspricht höchster
Priorität, Default-Priorität ist 0.
20Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Prozesse beenden
● kill ­<Signal> PID
● kill ­15 (TERM, Standardwert), höflich,
Programm soll sich selbst beenden
● kill ­9 (KILL), bestimmt, Betriebssystem soll
Programm beenden
● kill ­1 (HUP), Programm soll sich selbst
beenden und neu starten
● killall ­<Signal> Prozessname:
Beendet *alle* Prozesse dieses Namens
21Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Daemons
● Programme, die im Hindergrund laufen und
Dienste zur Verfügung stellen. Starten:
● von Hand
● Systemstart
● per inetd / xinetd: Daemon, der andere
Daemons startet,
● Serverdienste (z.B. cupsd, dhcpd, httpd, named,
● portmap, sshd, squid, vsftpd...)
● Kernel-Prozesse (z.B. aio, events, kapmd,
kjournald, kswapd, pdflush)
22Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
init
● erster Prozess, der gestartet wird (PID 1)
● definiert “Run Levels”: Welche
Systemressourcen werden aktiviert
● Konfiguration in /etc/inittab und
/etc/init.d/* bzw. /etc/rcX.d/*
● ansprechen: z.B.
● init 1: Single-user mode
● init 3: Full multiuser with network (keine
grafische Oberfläche)
● init 5: Full multiuser with network and xdm
(mit GUI)
23Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
xinetd
● früher: inetd
● jetzt: xinetd, Extended Internet Service
Daemon
● Zwei Arten von Internet-Diensten
● laufen permanent im Hintergrund, überwachen
IP-Ports (Bsp: httpd 80, sshd 21)
● starten nur bei Bedarf – gesteuert durch xinetd
(z.B. vsftpd, smtpd)
24Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Was es sonst noch gibt (Auswahl)
● Dateiattribute: lsattr, chattr
● Netzwerkkonfiguration / -überwachung:
ifconfig, iwconfig, netstat, ping,
traceroute, tcpdump
● Sicherheit: /etc/hosts.allow,
/etc/hosts.deny, iptables, nmap
● Logs: syslogd, logrotate, /var/log/*
25Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgaben 5
Prozesse, Daemons, init
26Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Das war's, vielen Dank!
Noch Fragen?

Linux slides fort_2013_upload

  • 1.
    Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Unix / Linux für Fortgeschrittene Rosa Freund, freund@lrz.de
  • 2.
    2Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Was? ● Tools, die dazu benötigt werden, das System zu verwalten: ● Regelmäßig ein Skript ausführen ● Nutzer, Gruppen und Rechte verwalten ● Software verwalten ● Netzwerk konfigurieren ● Das System absichern ● Das System als Serversystem konfigurieren
  • 3.
    3Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 I/O-Umleitung ● Umleitung mit >, >>, < ● 3 verschiedene Datenströme mit Deskriptoren : ● 0: Standardeingabe /dev/stdin (Tastatur) ● 1: Standardausgabe /dev/stdout (Terminal) ● 2: Fehlerausgabe /dev/stderr (Terminal)
  • 4.
    4Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 I/O-Umleitung: Beispiele ● kommando < file.txt ● kommando 2> error.log ● kommando > /dev/null 2>> error.log ● kommando > /dev/null 2>&1
  • 5.
    5Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Cron ● Daemon, führt Tasks im Hintergrund aus ● Systemweit: /etc/crontab (Produktivdatei) ● User-/Root-Crontabs: crontab -l, crontab -e ● liegen in /var/spool/cron/crontabs
  • 6.
    6Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Cron - Beispiel Minute Stun- de Tag Monat Wo- chen- tag Befehl Aktion 17 3 * * * ls -la /home/rosa/login.log > /dev/null 2>&1
  • 7.
    7Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Aufgabe 1 ● Umleitung Datenströme ● Cron
  • 8.
    8Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Bash konfigurieren ● Welche Shell benutze ich? ● echo $SHELL ● grep <username> /etc/passwd ● Bash-Konfigurationsdateien ● source /etc/profile ● source /etc/bash.bashrc ● source ~/.bash_profile ● source ~/.bashrc ● Andere Konfigurationsmöglichkeiten: ● setenv, export
  • 9.
    9Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Umgebungsvariablen, Aliasse ● Können in der Bash (aktuelle Session) oder in Konfigurationsdatei (alle Sessions) definiert werden ● Umgebungsvariablen: ● z.B. $PATH, $SHELL, $HOME ● in einer der Konfigurationsdateien gesetzt ● printenv ● Aliasse: ● alias findlog = 'find . -name *.log'
  • 10.
    10Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Aufgaben 2 Bash-Konfiguration
  • 11.
    11Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Benutzer- Gruppenverwaltung ● Ein Superuser (Root), beliebig viele User ● Beliebig viele Gruppen ● Ein User gehört einer oder mehr Gruppen an ● Jedem User ist eine eindeutige ID (=UID) zugeordnet, Root die UID 0 ● Jeder Gruppe ist eine eindeutige ID (=GID) zugeordnet, der Root-Gruppe die GID 0
  • 12.
    12Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Dateirechte und -owner ● chmod: Ändert Dateirechte ● chown: Ändert Dateiowner (User und Gruppe) ● useradd: Fügt Nutzer hinzu ● groupadd: Fügt Gruppe hinzu ● /etc/passwd: Liste aller User ● /etc/group: Liste aller Gruppen ● /etc/shadow
  • 13.
    13Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 sudo Quelle: http://xkcd.com/149/
  • 14.
    14Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 sudo ● sudo: Lässt Benutzer bestimmte Befehle als anderer Nutzer (ohne Parameter: als Root) ausführen ● su: Wechsel zum anderen Nutzer (ohne Parameter: Zu Root) ● /etc/sudoers ● visudo
  • 15.
    15Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Aufgaben 3 sudo, Nutzer- und Gruppenverwaltung
  • 16.
    16Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Software installieren und verwalten ● Systemabhängige Paketverwaltung-GUI, z.B. Synaptic bei Ubuntu bzw. YaST2 bei SUSE ● Systemabhängige Paketverwaltungstools, z.B. apt/dpkg (Debian / Ubuntu), zypper (SuSE), pacman (Arch Linux) ● Kompilieren aus dem Quellcode mit ./configure, make, make install ● Skript “Software installieren aus dem Quellcode”, http://www.trish.de/downloads/kompilierkurs.pdf
  • 17.
    17Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Aufgabe 4 Software installieren und verwalten
  • 18.
    18Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Prozesse ● Laufendes Programm ● Zustände: dead, ready, running, sleep, trace, wait, uninterruptible sleep, zombie ● ps aux, Spalte “STAT” ● ps ● pstree ● renice ● pidof
  • 19.
    19Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Prozess-Eigenschaften ● PID (Prozess-ID) ● PPID (Parent PID) ● UID, EUID: reale und effektive Benutzer-ID ● GID, EGID: reale und effektive Gruppen-ID ● real: wer den Prozess erzeugt hat ● effektiv: unter welchen Rechten der Prozess gerade läuft ● nice: -20<nice<19, -20 entspricht höchster Priorität, Default-Priorität ist 0.
  • 20.
    20Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Prozesse beenden ● kill ­<Signal> PID ● kill ­15 (TERM, Standardwert), höflich, Programm soll sich selbst beenden ● kill ­9 (KILL), bestimmt, Betriebssystem soll Programm beenden ● kill ­1 (HUP), Programm soll sich selbst beenden und neu starten ● killall ­<Signal> Prozessname: Beendet *alle* Prozesse dieses Namens
  • 21.
    21Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Daemons ● Programme, die im Hindergrund laufen und Dienste zur Verfügung stellen. Starten: ● von Hand ● Systemstart ● per inetd / xinetd: Daemon, der andere Daemons startet, ● Serverdienste (z.B. cupsd, dhcpd, httpd, named, ● portmap, sshd, squid, vsftpd...) ● Kernel-Prozesse (z.B. aio, events, kapmd, kjournald, kswapd, pdflush)
  • 22.
    22Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 init ● erster Prozess, der gestartet wird (PID 1) ● definiert “Run Levels”: Welche Systemressourcen werden aktiviert ● Konfiguration in /etc/inittab und /etc/init.d/* bzw. /etc/rcX.d/* ● ansprechen: z.B. ● init 1: Single-user mode ● init 3: Full multiuser with network (keine grafische Oberfläche) ● init 5: Full multiuser with network and xdm (mit GUI)
  • 23.
    23Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 xinetd ● früher: inetd ● jetzt: xinetd, Extended Internet Service Daemon ● Zwei Arten von Internet-Diensten ● laufen permanent im Hintergrund, überwachen IP-Ports (Bsp: httpd 80, sshd 21) ● starten nur bei Bedarf – gesteuert durch xinetd (z.B. vsftpd, smtpd)
  • 24.
    24Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Was es sonst noch gibt (Auswahl) ● Dateiattribute: lsattr, chattr ● Netzwerkkonfiguration / -überwachung: ifconfig, iwconfig, netstat, ping, traceroute, tcpdump ● Sicherheit: /etc/hosts.allow, /etc/hosts.deny, iptables, nmap ● Logs: syslogd, logrotate, /var/log/*
  • 25.
    25Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Aufgaben 5 Prozesse, Daemons, init
  • 26.
    26Unix / Linuxfür Fortgeschrittene – Informatica Feminale 2013 Das war's, vielen Dank! Noch Fragen?