Linux

Linux Befehle und Grundlagen

Linux Befehle und Grundlagen


S. M.
Diese Lernkarten bieten eine umfassende Übersicht über Linux-Systeme und deren Verwaltung auf Universitätsniveau. Sie decken Themen wie SELinux, Firewalld, Iptables, Logging, Monitoring, Dateisysteme und Netzwerkdienste ab. Besonders nützlich sind sie für Administratoren und IT-Experten, die sich mit der Konfiguration und Sicherung von Linux-Systemen befassen. Die Karten behandeln auch Benutzer- und Gruppenrechte, Dateiverwaltung und verschiedene Sicherheitskonzepte, was sie zu einem wertvollen Werkzeug für die tägliche Arbeit macht.
Karten
64
Lernende
8
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
24.12.2018 / 04.08.2025

Lernkarten

Erfinder

Linux wurde von Linus Torvalds an der Universität von Helsiki 1991 ins Leben gerufen.

Was ist Linux?

  • Multiuser--
  • Multitasking-
  • Kernelbasiertes-
  • Open Source-
  • Kostenloses

Betriebssystem.

Linux gilt als

  • enorm verbreitet im Serverbereich
  • stabil
  • Ressourcen-sparsam
  • sicher
  • bedientechnisch gewöhnungsbedürftig

Was ist Open Source?

pen Source bedeutet "Quelloffen", d.h. jeder kann den Quellcode einer Open Source Software einsehen, überprüfen und ggf. auch anpassen.

Linux ist Open Source. Linux ist ebenfalls freie Software, was bedeutet, dass die Benutzer von Linux die Freiheit haben Linux auszuführen, zu kopieren, zu verbreiten, anzupassen und zu verbessern. "Frei" ist hier mehr im Sinne von Meinungsfreiheit, als kostenlos zu verstehen. i.d.R. ist ein Entwickler bei der Verwendung von Open Source Software automatisch durch die Lizenz (GPL) dazu verpflichtet, seine eigene Software (z. B. eine Erweiterung einer bestehenden Open Source Komponente) ebenfalls unter dieselbe Lizenz zu stellen (Copyleft), womit die eigens geschriebene Software ebenfalls Open Source sein muss.

Vergleiche zu Windows

Windows hat eine enorm grosse Benutzeranhängerschaft und ist eines der am einfachsten bedienbaren Betriebssysteme. Dadurch existiert auch eine sehr grosses Softwareangebot und eine hohe Untersützungsdichte von Hardware. Durch den hohen Verbreitungsgrad wird für Windows auch am meisten Malware programmiert, weshalb Windows betreffend Sicherheit im Vergleich zu Linux und OS X den schlechtesten Ruf besitzt.

Weitere Eigenschaften von Windows: Einfach bedienbar, Plug&Play (gute HW-Unterstützung)

Windows ist ein proprietäres Betriebssystem (Closed source) und wurde auf MS-DOS Basis entwickelt. Die erste Version Windows 3.0 wurde 1990 veröffentlicht.

Vergleiche zu MAC OS X

Mac OS X

Mac OS wurde 1984 von Apple Computers entwickelt (Macintosh PC mit Mac OS) mit der Absicht, dass es nur auf Apple Computern lauffähig ist.

Haupteigenschaften von Mac OS X sind: "Sicherheit", Zuverlässigkeit, einfach bedienbar, gut integriert in die Produkte von Apple.

Mac OS X basiert auf einer BSD Basis, wobei Linux eine unabhängige Implementation eines Unix-ähnlichen Betriebssystem ist. Die Systeme sind daher sehr ähnlich, Ihre Binärdateien aber nicht untereinander kompatibel. OS X verwendet viele Applikationen welche nicht Open Source und ebenfalls auf Bibliotheken basieren, welche nicht Open Source sind.

Aufgaben eines Linuxsystemadministrators

In der Rolle des Linux Systemadministrators tragen Sie in der Praxis eine hohe Verantwortung über Ihr Linuxsystem. Die Tätigkeiten eines Linux Systemadmins sind vielfältig und abwechslungsreich.

Nachfolgende Liste soll einen (unvollständigen) Überblick verschaffen über die möglichen Tätigkeitsbereiche eines Sysadmins:

  • Benutzeradministration (Einrichtung und Unterhalt von Accounts)
  • System- und Softwareupdates und -upgrades, Systempflege
  • Installation und Konfiguration von neuen Softwarekomponenten
  • Netzwerkkonfigurationen (Routing, Bridgeing, Firewalling, DNS, usw.)
  • Programmierung einfacher Shell-Scripts zur Automatisierung von Tasks
  • Überwachung des Systems (Monitoring, Alerting, Log-Management, Intrusion Detection, usw.)
  • Umsetzung von Sicherheitspolicies für Benutzer und Netzwerk
  • Password und Identitätsmanagement (IDM)
  • Erstellung von Dateisystemen, Einbindung von Datenträgern, logischen Volumes, allg. Storage Konzepte umsetzen
  • Planung und Umsetzung von Backup/Recovery Strategien, Disaster Recovery Konzepten, High Availability Settings, uvm.

Viele dieser Bereiche werden wir in diesem Kurs nicht oder nur oberflächlich anschauen. Auch routinierte Linux Systemadministatoren (5 Jahre Erfahrung +) sind i.d.R. auf einzelne Bereiche stärker spezialisiert als andere.

Abmelden

exit

Stoppen

halt

oder:

shutdown -h

oder:

poweroff

oder:

init 0

oder sudo halt mit root Rechte

Neustarten

reboot

oder:

shutdown -r

Auch hier mit root Rechten sudo reeboot

Hilfe holen

Den meisten Befehlen lässt sich die Option -h oder --help mitgeben, wodurch eine Kurzhilfe angezeigt wird. z. B.:

rm --help

zeigt folgende Kurzhilfe an:

Usage: rm [OPTION]... [FILE]... Remove (unlink) the FILE(s).   -f, --force           ignore nonexistent files and arguments, never prompt   -i                    prompt before every removal ...

oder:

ifconfig -h

zeigt:

Usage:   ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]   [add <address>[/<prefixlen>]]   [del <address>[/<prefixlen>]] ...

Der man Befehl

Mit dem man Befehl können Sie das Manual eines Befehls aufrufen. Dies ist wie eine digitale Benutzeranleitung des Befehls und meist sehr ausführlich. z. B. zeigt:

man ls

Das Manual des Befehls ls (Dateien auflisten) an. Im Manual können Sie mit den Pfeiltasten hoch, runter, den Tasten pageup, pagedown und space herumnavigieren.

Mit der Taste q können Sie man wieder verlassen.

Der apropos Befehl

apropos können Sie verwenden, wenn Sie nicht genau wissen, wie ein Befehl heisst. apropos durchsucht alle man-Seiten und listet entsprechende Resultate des Suchbegriffs inkl. Kurzbeschreibungen auf. z. B. zeigt:

apropos reboot

folgende Resultate:

grub-reboot (8)      - set the default boot entry for GRUB, for the next boot... halt (8)             - Halt, power-off or reboot the machine poweroff (8)         - Halt, power-off or reboot the machine reboot (2)           - reboot or enable/disable Ctrl-Alt-Del reboot (8)           - Halt, power-off or reboot the machine shutdown (8)         - Halt, power-off or reboot the machine systemd-reboot.service (8) - System shutdown logic

Sie sehen auch hier werden Ihnen unterschiedliche Befehle gezeigt, mit welchen Sie Ihr Linux neustarten können.

Filesystemhierarchie (FHS)

/etc = Konfigurationsdateien und Informationsdateien des Basissystems

/home = Heimverzeichnis des Benutzers

/proc = alle Prozesse, laufende Programme

/dev = (Device Files) alle Gerätedateien

/lib = Bibliotheken

/root = Heinverzeichnis für den Bootuser

/bin = unverzichtbare Programme, diese Programme können im Gegensatz zu /sbin von allen Benutzer ausgeführt werden

/boot = enthält zum booten benötigte Dateien wie Kernel

/media = für Speichermedien

/sbin = Systemprogramme

/tmp = temporäre Dateien von Programmen

/var = nur Verzeichnisse

/mnt = kann für temporär eingehängte Partitionen verwendet werden

 

 

Dateinformationen anzeigen

Um sich Informationen über eine Datei anzeigen zu lassen, verwenden wir ls. Damit wir ausführliche Informationen über Dateiberechtigungen erhalten, benutzen wir ls -l so zeigt z. B. :

ls -l /etc/hosts

folgendes an:

-rw-r--r-- 1 root root 184 Sep  9  2016 /etc/hosts

Aus dieser Ausgabe können wir bereits folgende Dinge herauslesen:

  • Der Besitzer der Datei ist der Benutzer root (das 1. root)
  • Die Datei gehört zu einer Gruppe names root (das 2. root)

Dateiberechtigungen

Owner Group Other

rwx      r-x        r-x

421      401      401

7           5            5

Wir sehen, es gibt die Rechte:

  • Lesen (r bzw. 4)
  • Schreiben (w bzw. 2)
  • Ausführen (x bzw. 1)
  • Kein Recht (wird mit (-) angezeigt)

Befehl zum ändern von Berechtigungen:

chmod 740 /home/myfile

Benutzer erstellen

useradd rolf

Passwort zuweisen:

passwd rolf
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Nun können wir mit su zum neuen Benutzer rolf wechseln (Passwort von rolf muss nur eingegeben werden, falls Sie nicht root waren):

su rolf

Mit whoami oder id können Sie verifizieren, dass Sie nun der Benutzer rolf sind:

whoami rolf id uid=1002(rolf) gid=1002(rolf) groups=1002(rolf)

id zeigt Ihnen nicht nur den Benutzer an, sondern auch die primäre Gruppe (groups=1002(rolf)). Offensichtlich wird also beim Neuerstellen eines Benutzers jeweils auch eine Gruppe mit demselben Namen angelegt.

Mit exit können Sie sich vom Benutzer rolf wieder abmelden, Sie springen dann zurück zum Benutzer, von dem Sie zuvor auf rolf gewechselt haben (oder werden komplett ausgeloggt, falls es der erste Login war):

exit id uid=0(root) gid=0(root) groups=0(root)

Sie sehen in der Ausgabe von id auch, dass jedem Benutzer und jeder Gruppe eine eindeutige ID zugewiesen wird (uid und gid). Der Benutzer root hat immer die ID 0.

Hinweis: i.d.R. sind ID's von 0-999 Administrator- und System-/Serviceaccounts und bei 1000 beginnen die normalen Benutzer.

Benutzer löschen

Um einen Benutzer zu löschen, können Sie das Programm userdel verwenden:

userdel rolf su rolf No passwd entry for user 'rolf'

Sie sehen, nachdem Sie den Benutzer gelöscht haben, können Sie mit su nicht mehr auf diesem Benutzer wechseln, da dieser nicht mehr existiert.

Gruppen erstellen

groupadd newgroup

 

Um sich die Mitgliedschaft in Gruppen für einen Benutzer anzeigen zu lassen, können Sie das Programm groups verwenden:

groups rolf rolf : rolf workers

Gruppen löschen

groupdel workers

Gruppe zuweisen

Mit usermod können wir nun einen Benutzer einer Gruppe hinzufügen (z . B. kevin zur Gruppe mitarbeiter):

usermod -a -G mitarbeiter kevin

Wir können auch mehrere Gruppen gleichzeitig angeben (durch Komma getrennt), z. B. :

usermod -a -G mitarbeiter,admins robert

Dateien lesen

less /var/log/messages

Dateien verändern

nano

Geöffnet mit nano, sieht dies dann (ungefähr) so aus:

  nano 2.6.3                     File: /etc/group                                root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice:x:22: cdrom:x:24: floppy:x:25:               [ line 1/69 (1%), col 1/10 (10%), char 0/1001 (0%) ] ^G Get Help  ^O Write Out ^W Where Is  ^K Cut Text  ^J Justify   ^C Cur Pos ^X Exit      ^R Read File ^\ Replace   ^U Uncut Text^T To Spell  ^_ Go To Line

Gespeichert wird mit CTRL + X gefolgt von SHIFT + Y und ENTER.

Befehl pwd

Identifiziert das aktuelle Verziechnis / gibt aktuelle Pfad an

cd

Verzeichnis wechseln

touch

Neues File erstellen

cp

kopieren von Files

Bsp: cp file1 file2

kopiert alles in file 1 in file 2

ip

Konfigurieren von Netzwerk Devices und Routen

▪ Anzeigen von Informationen zum Adapter eth0: ip addr show dev eth0

▪ Ip Adresse für Adapter eth0 setzen: ip addr add 192.168.50.5 dev eth1

▪ Interface aktivieren: ip link set eth0 up

▪ Routing tabelle anzeigen: ip route show

▪ Routen hinzufügen (Statische route und Default route):

ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

ip route add default via 192.168.50.10

ifconfig

Konfigurieren von Netzwerk Devices und Routen

Vorgänger / Alternative von ip

netstat

Ausgabe von Netzwerk Verbindungen und Routing Informationen

Anzeigen von aktiven Verbindungen netstat –tulnp

systemctl

Service Verwalten:

▪ Netzwerk Service neu starten systemctl restart network

system-config-networ

Grafischer Konfiguration Wizard: ▪ system-config-network

Hostnamectl

Hostname konfigurieren:

▪ Ausgabe von aktuellen Einstellungen hostnamectl

▪ Setzen von neuem Hostname hostnamectl set-hostname <name>

NetworkManager

Grafischer und CLI Wizard

▪ nmcli

ping

Verbindung zu einem System testen

▪ ping <Ziel-IP>

Config Files

Netzwerk Adapter persistent konfigurieren

▪ /etc/sysconfig/network-scripts/ifcfg-<adapter>
• Statische Konfiguration

DEVICE=eth

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

IPADDR=10.1.1.110

NETMASK=255.0.0.0

GATEWAY=10.1.1.1


• Dynamische konfiguration

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes


umask

s rwx Recht (7) wäre also 0, das r-x Recht (5) demnach 2 usw. Das Ausführungsrecht (x) sollte in jedem Fall immer mindestens für den Eigentümer (u) gesetzt sein, da sonst die Verzeichnisse, die er erstellt, von ihm selbst nicht durchsucht werden könne

SUID-Bi

▪ Um dieses Bit zu setzen wird das Zeichen s oder S an der Owner-Position verwendet ▪ Wird an der Stelle vom x gesetzt: ▪ s: wenn suid-bit und x gesetzt ist ▪ S: wenn suid-bit nicht aber x gesetzt ist (unvollständig) ▪ Nur für ausführbare Dateien ▪ Ausführbare Dateien, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt, dem die Datei gehört, anstatt mit den Rechten desjenigen Benutzers, der die Datei ausführt ▪ Z.B: bei /usr/bin/passwd (weil root Rechte notwendig sind um auf das passwd file zuzugreifen

SGID-Bit

▪ Um dieses Bit zu setzen wird das Zeichen s oder S an der Group-Position verwendet ▪ Wird an der Stelle vom x gesetzt: ▪ s: wenn sgid-bit und x gesetzt ist ▪ S: wenn sgid-bit nicht aber x gesetzt ist (unvollständig) ▪ Kann für ausführbare Dateien und Verzeichnisse verwendet werden ▪ Bei ausführbaren Dateien: Der Prozess bekommt während der Laufzeit die effektive GruppenID der Gruppe, der dieses Programm zugeordnet ist, anstatt seiner eigentlichen GruppenID ▪ Bei Verzeichnissen: Eine neu angelegte Datei in diesem Verzeichnis erhält immer die Gruppenberechtigungen des Verzeichnisses (die Gruppenberechtigung wird so NICHT auf die primäre User/Guppenzugehörigkeit gesetzt). => z.B. für gemeinsames Arbeiten an einem Projekt wenn die User unterschiedlichen Gruppen angehören

Sticky-Bit

▪ Um dieses Bit zu setzen wird das Zeichen t oder T an der others-Position verwendet ▪ Wird an der Stelle vom x gesetzt: ▪ t: wenn sticky-bit und x gesetzt ist ▪ T: wenn sticky-bit nicht aber x gesetzt ist (unvollständig) ▪ Nur für Verzeichnisse ▪ Das Löschen einer Datei in diesem Verzeichnis (mit sticky bit) ist nur möglich durch den Datei-Owner (oder durch den Verzeichnis-Owner). ▪ Das Bit wirkt rekursiv auf alle Unterverzeichnisse ▪ Z.B. für /tmp

Lernen