linux slides fort_2013_upload
TRANSCRIPT
Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Unix / Linux für Fortgeschrittene
Rosa Freund, [email protected]
2 Unix / 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
3 Unix / 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)
4 Unix / 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
5 Unix / 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
6 Unix / 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
7 Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgabe 1
● Umleitung Datenströme● Cron
8 Unix / 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
9 Unix / 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'
11 Unix / 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
12 Unix / 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
14 Unix / 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
15 Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgaben 3
sudo, Nutzer- und Gruppenverwaltung
16 Unix / 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
17 Unix / Linux für Fortgeschrittene – Informatica Feminale 2013
Aufgabe 4
Software installieren und verwalten
18 Unix / 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
19 Unix / 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.
20 Unix / 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
21 Unix / 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)
22 Unix / 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)
23 Unix / 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)
24 Unix / 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/*