Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Linux-System
OS: Debian oder Ubuntu - Einrichtung ohne GUI.
Auf der Shell/Konsole funktionieren die angewandten Befehle bei Debian und bei Ubuntu.
Installation über OS-Image (hier Hetzner).
Siehe auch Debian.org
Debian-Benutzerhandbuch
Texte in <> Klammern, z.B. <USER>, sind Platzhalter und müssen entsprechend ersetzt werden.
OS Basiseinrichtung
Regelmäßig, nach der Installation und vor Änderungen sollte das System je aktualisiert werden.
Siehe System aktualisieren
Administrator einrichten
Um Administratorbefehle absetzen zu können, meldet man sich entweder als root an oder ein User wird in die Gruppe der Superuser aufgenommen. Im Unterschied zum root müssen die Superuser ihren Befehlen ein „sudo“1) voranstellen und sich beim ersten Befehl dieser Art mit dem Passwort legitimieren. Das hat ggü. dem root den Vorteil, dass ein versehentlich falsch eingegebener Befehl nicht direkt ausgeführt wird.
Root hat weitreichende Rechte und schnell ist die Katastrophe eingetreten.
Wird zum Beispiel rm (löschen) statt mv (verschieben) eingetippt, oder man möchte ein Unterverzeichnis mit dem Namen home/ löschen: rm home/, tippt aber versehentlich rm /home/, welches dann alle Userdaten löscht.
User anlegen siehe Benutzerverwaltung.
User mit Administratorrechten ausstatten bzw. der Gruppe der Superuser hinzufügen.
sudo usermod -aG sudo <USER>
„Normale User“ sollte keine Administratorrechte erhalten » nicht zur Gruppe sudo hinzugefügen.
Ab hier wird i.d.R. nicht mehr als root, sondern als <SUDO-USER> gearbeitet, daher wird den Befehlen, die Administratorrechte erfordern, das sudo vorangestellt. Ist man als root angemeldet, kann (muss aber nicht) das sudo entfallen.
Alternativ ist es möglich sich dauerhaft (für die Sitzung) als Superuser zu legitimieren. Dadurch kann das vorangestelle sudo entfallen.
sudo -s
Zurück zu normalen Userrechten
exit
Datum/Zeit
Server-Datum und -Zeit anzeigen
date
Zeitsynchronisation
Synchronisation der Systemzeit mit öffentlichem Zeitserver
sudo apt -y install ntp
Zeitzonen
Aktuell Zeitzone anzeigen
timedatectl
Mögliche Zeitzonen anzeigen
timedatectl list-timezones
Zeitzone ändern. Hier auf Europe/Berlin
sudo timedatectl set-timezone Europe/Berlin
System neustarten oder abschalten
sudo systemctl reboot
sudo reboot
sudo systemctl poweroff
sudo poweroff
sudo shutdown -h now
System aktualisieren
System auf den aktuellen Stand bringen (-y = ohne weitere Bestätigungseingaben).
sudo apt update && apt upgrade -y
Wurden Pakete zurückgehalten, kann man sich diese anschauen mit:
sudo apt list --upgradeable -a
Zurückhaltung hat Gründe: Konflikte mit der Version etc.
Vorsicht mit $ apt-get dist-upgrade führt stur aus, ignoriert aber u.U. Konflikte.
Ggf bestimmtes Paket einzeln installieren/updaten mit:
sudo apt install <PAKETNAME>
Protokoll letzte Änderungen:
cat /var/log/dpkg.log
Prozesse
Laufende Services anzeigen
sudo service --status-all
Prozesse anzeigen (vorne steht die PID = Prozess-ID)
ps -e
mit Details
ps -aux
Prozess-Nummer suchen (Beispiel: Programm Thunderbird)
ps -ef | grep thunderbird
Anzeige:
<USER>+ 7236 2288 99 19:12 ? 00:00:07 /usr/lib/thunderbird/thunderbird
<USER>+ 7370 7236 2 19:12 ? 00:00:00 /usr/lib/thunderbird/thunderbird-bin …..
<USER>+ 7453 7236 2 19:12 ? 00:00:00 /usr/lib/thunderbird/thunderbird-bin …..
<USER>+ 7477 7236 4 19:12 ? 00:00:00 /usr/lib/thunderbird/thunderbird-bin …..
<USER>+ 7520 5401 0 19:12 pts/1 00:00:00 grep thunderbird
Die erste Zahl (7236, 7370, …) ist die PID des Prozesses.
Der Prozess „grep thunderbird“ ist der Suchprozess, der gerade gestartet wurde. Wird nur dieser angezeigt, ist Thunderbird nicht gestartet bzw. beendet.
Prozesse beenden
sudo kill <PID>
Pakete
Installierte Pakete anzeigen
dpkg --list
Heruntergeladene Pakete (z.B. .deb) installieren
sudo dpkg -i <FILENAME>.deb
Mehrere Pakete in einem Verzeichnis können, bzw. ggf. müssen gleichzeitig installiert werden. Z.B. werden beim Download von LibreOffice mehrere .deb-Dateien in einer gepackten Datei angeboten. In diesem Verzeichnis dann eingeben:
sudo dpkg -i *.deb
Paket aus dem Distributions-Pool installieren
sudo apt-get install <PACKAGE>
Paket deinstallieren
sudo apt-get remove <PACKAGE>
zusätzlich zur System-Bereinigung
sudo apt autoremove
Beispiel: Entfernen LibreOffice (alle 3 Schritte)
sudo apt-get remove --purge libreoffice*
sudo apt clean
sudo apt-get autoremove
System Informationen
Infos zum OS
lsb_release -a
Infos zum Linux-Kern
uname -a
Anzeige PC-/Hostname
cat /etc/hostname
Anzeige hosts und interne IP-Zuordnung
cat /etc/hosts
Angeschlossene USB-Geräte auflisten:
lsusb
Angeschlossene PCI-Geräte auflisten:
lspci
Hardware-Informationen
sudo apt install lshw
sudo lshw
Festplatten, Partitionen und Dateien
Partitionen
Anzeige der Partitionen als Baum. Verschlüsselte haben i.d.R. hinten ein „_crypt“.
lsblk
Speicherplatz anzeigen
df -h
Speicherplatz für einen Ordner anzeigen
du -sh /var/www/sites/
Aktuellen, absoluten Pfad anzeigen
pwd
Festplatten
CIFS = Common Internet File System. Mit dem CIFS-Protokoll können Dateien und Ordner zwischen Servern und Clients übertragen werden.
sudo apt-get install cifs-utils
Festplattenkonfiguration hinterlegt in
sudo nano /etc/fstab
#lokale Festplatte /dev/sda2 /PFAD/Daten ntfs 0 0 #NAS //NAS001/backup /PFAD/ cifs credentials=/PFAD/.accdata,file_mode=0777,dir_mode=0777,noauto 0 0
In diesem Beispiel wurde ein NAS eingebunden, die Zugriffsdaten liegen in versteckter Datei (/PFAD/.accdata) (username=* | password=*)
Manuell einbinden und wieder lösen (mount oder umount)
sudo mount //NAS001/backup
Siehe auch Kryptografie -> Festplatte verschlüsseln
Verzeichnisse und Dateien
Geöffnete Dateien anschauen (Server)
sudo lsof
eines Verzeichnisses
sudo lsof /home/<USER>
eines Verzeichnisses mit Unterverzeichnissen
sudo lsof +D /home/<USER>
eines User
sudo lsof -u <USER>
Verzeichnis erstellen
sudo mkdir -p /var/log/borg
-p = übergeordnete Verzeichnisse erzeugen, wenn notwendig
Besitzer Datei oder Ordner ändern
sudo chown <OWNER> <FILE>
Gruppe Datei oder Ordner ändern
sudo chgrp <GROUP> <FILE>
Zugriffsrechte für Ordner oder Datei ändern ( + oder -) u = user, g = group, o = other, a = all | -R wenn Verzeichnis, dann auch für Unterverzeichnisse
https://www.shellbefehle.de/befehle/chmod/
sudo chmod –R g+rwx <FILE>
Symbolischen Link setzen
sudo ln -s /PFAD/Ursprung /PFAD/NeuerOrt
-s = Softlink
Symlink löschen
sudo rm „link“
ACL - Access Control Lists
Mit ACL ist es möglich, einzelnen Nutzern oder Gruppen gezielt Rechte an einzelnen Dateien zu geben oder zu entziehen. Außerdem können die Default-Rechte für neu erstellte Dateien festgelegt werden.
sudo apt-get install acl
Zugriffsrechte/ACL setzen
setfacl –dm g:GROUP:rwx /PFAD/PFAD/
d = default
m = Maske
ACL entfernen (-R = auch für alle Unterverzeichnisse)
sudo setfacl -R -b <FILE>
Suchen über Konsole
Alle PDF-Dateien im aktuellen Verzeichnis
find -name "*.pdf"