Linux/Ubuntu Basics

~ 0 min
2024-03-14 08:20

Terminal / Shell / Konsole öffnen mit [STRG] + [ALT] + [T]

Konsole als ROOT dauerhaft öffnen: sudo -i
ROOT-Konsole wieder verlassen: exit
Nur ein Administrator kann 'sudo' ausführen.

User "root" hat unter Ubuntu per Default kein Passwort.
Interaktive Anmeldung als root ist nicht empfohlen.

User (mit Home) erstellen: sudo useradd -m uwe
Passwort festlegen: sudo passwd uwe
User wechseln: su uwe
Falls root ein Passwort hat, zu root wechseln: su  (ohne root)
Befehl als 'root' ausführen: sudo touch /etc/test
Befehl als 'benutzer' ausführen: sudo benutzer touch /etc/test  (ergibt Fehler)

Konsolenkommandos
Systemupdate
sudo apt(-get) update
sudo apt(-get) upgrade
sudo reboot
sudo apt(-get) -y dist-upgrade

sudo apt(-get) -F install - repariert beschädigte Pakete
sudo pro config set apt_news=false  (Werbung für Ubuntu Pro deaktivieren)

Systembereinigung
sudo apt-get autoremove - entfernt veraltete Kernel und Hilfspakete
sudo apt-get autoclean - entfernt veraltete DEB-Dateien aus der Paketquelle /var/cache/apt/archives/
sudo apt-get clean - entfernt alle DEB-Dateien aus der Paketquelle /var/cache/apt/archives/

Allgemein

ls - wie dir, ls -sh (zeigt Liste), ls -l (Langform mit Berechtigungen, Anzahl Dateien im Verzeichnis, 1=Datei, Besitzer, Gruppe, Bytes, Datum, Name), ls -a (zeigt auch versteckte Files)
lsb_release -a  - zeigt Ubuntu Version
man -k <Stichwort> - zeigt alle Befehle zu einem Stichwort
nano (dateiname>
- Editor (Kopieren: ALT-6, Einfügen: Strg-U)
pwd
- zeigt aktuellen Datei-Pfad
ps -edaf  -> listet laufende Prozesse mit ihrer ID
kill (ID)  -> beendet Prozess mit ID siehe ps .edaf
top - zeigt Taskmanager (CPU, Speicher, Prozesse)
whoami - zeigt aktuellen Benutzer
tail -f /var/log/*.log  - zeigt alle System-Logs
tail -f /var/log/syslog  - zeigt Syslog live
crontab -l  - listet alle Cronjobs des Benutzers auf

Netzwerk
ifconfig - (wie Windows IPCONFIG) zeigt Namen der Netzwerkkarten und IP-Parameter (apt install net-tools)
ip add
- (wie IPConfig)
hostname -I
  - zeigt nur IP (mit Boardmitteln)
ping [webseite.com]

nslookup [webseite.com]
curl -v [webseite.com] - gibt http-Inhalt und Zertifikat zurück
tcpdump -i eth0 port 443 - gibt Datendump aller Verbindungen von Netzwerkkaqrte und Port (apt install tcpdump)
tcpdump -i eth0 - zeigt allen Traffic auf eth0
sudo nano /etc/netplan/00-installer-config.yaml - IP-Adresse konfigurieren mit Netplan per Terminal
sudo nano /etc/netplan/01-netcfg.yaml (Verzeichis nicht sichtbar!)

Festplatte
df -h
  - zeigt freien Speicherplatz der Festplatte (disk free)
du -shc *  - zeigt alle Verzeichnisgrößen im aktuellen Verzeichnis incl. Summe
lsblk - listet alle Datenträger und Block Storages auf
gparted  - Partition ändern  (auch aus Live-System)
cd -L <Verzeichnis>  - Wechsel in logisches Verzeichnis (Standard)
cd -P <Verzeichnis>  - Wechsel in physisches Verzeichnis  (Bsp: cd -P /bin, cd -P /home)
cp [Optionen] Quelle Ziel - copy
mv [Optionen] Quelle Ziel - move
rm -r *  - löscht aktuelles Verzeichnis incl. Unterverzeichnisse (recursiv)
find / -iname "datei.log" - sucht Datei (groß oder klein geschrieben) in allen Verzeichnissen
Partiton vergrößern:
- physische HD vergrößern
- lsblk - listet aktuelle Struktur
- growpart /dev/sda 3  - (mit Leerzeichen) vergrößert das angegebene Vol. auf die freie Größe (growpart installieren)
- resize2fs -p /dev/sda3  - (ohne Leerzeichen) Dateisystem anpassen
Verzeichissystem erklärt: https://www.linux-praxis.de/spaziergang-durchs-dateisystem

Dateiberechtigungen

Ubuntu: Standardmäßig hat ein User im eigenen Home-Verzeichnis Vollzugriff und in anderen User-Verzeichnissen Lesezugriff.

Zeichen: Directory (d) oder Datei (-)
2.-4. Zeichen: rwx - User (u)
5.-7. Zeichen: rwx - Group (g)
8.-10. Zeichen: rwx - Other (o)
• rwx - read / write / execute-search
  Execute bei Ordnern bedeutet: Recht zum Ordner öffnen
• Berchtigung ändern: chmod u=rwx, g=rw, o=r testfile.txt
  oder: read=4, write=2, execute=1 -> alle Rechte= 7
  ergibt: chmod 754 testfile.txt
Benutzer + Gruppe ändern:
  chown -R www-data:www-data /var/www/wordpress
  (weist dem /wordpress -Verzeichnis recursiv(-R) den Besitzer + Gruppe "www-data" zu)

Dateimanager Nautilus mit Root-Rechten nutzen: nautilus-admin installieren
sudo apt-get install nautilus-admin
Nach Neustart gibt es "Als Systemverwalter ausführen" im Kontextmenue.

Terminal-Dateimanager MC (ähnlich Norton Commander)
apt install mc  - Aufruf mit 'mc' im Terminal

 

SSH-Zugriff aktivieren
• ggf. feste IP einrichten
• sudo systemctl status ssh - läuft SSH?
sudo apt install openssh-server   -> SSH (Server) installieren
sudo systemctl status ssh  -> wie oben, Status überprüfen, hilfreich bei Anmeldefehlern
sudo systemctl enable ssh  -> Dienststart automatisch
sudo systemctl start ssh  -> Dienst manuell starten
sudo ufw allow ssh  -> Firewall für SSh öffnen
sudo nano /etc/ssh/sshd_config  -> sshd_config anpassen
  - (LoginGraceTime 200)
  - PermitRootLogin yes  - erlaube Root-Login
  - StrictModes yes
  - Port xyz  - ggf. eigenen Port definieren
• /etc/init.d/ssh restart  -> Dienst neu starten

SSH-Zugriff:
• ssh root@192.168.178.50  (Windows oder Linux)

Linux merkt sich die Fingerprints jeder SSH-Verbindung.
Befindet sich unter einer schon bekannten IP ein neues, unbekanntes Gerät, schlägt die SSH-Verbindung fehl!
Abhilfe: Verzeichnis .ssh enthält 'known_hosts'. In dieser Datei Eintrag mit der o.g. IP-Adresse löschen.

Ubuntu remote bedienen:
Einstellungen -> Freigabe -> Bildschirmfreigabe aktivieren, VNC-Protokoll aktivieren, Fernsteuerung erlauben
Damit die Remote Anmeldung ohne Bestätigung vom Ubuntu-Desktop funktioniert, diese Einstellung ändern.

Achtung! Ubuntu legt für die RDP-Verbindung ein eigenes Passwort fest!
Bug in Ubuntiu 20: das Kennwort ändert sich bei jeder Anmeldung.

Lösung:
XRDP installieren.

apt update
apt install xrdp
apt install xorgxrdp
sudo systemctl start xrdp // Start und Eable XRDP-Service
sudo systemctl enable xrdp
systemctl status xrdp // Check Status
sudo ufw allow from any to any port 3389 proto tcp // open Port in Firewall

Wichtig: Die RDP-Anmeldung funktioniert nur, wenn der Nutzer lokal abgemeldet ist!

Teamviewer Host in Shell installieren

Verzeichnisstruktur

  • bin  - Binärdateien, Programme
  • dev - Devices (Tastatur, Maus, Festplatte)
  • etc - Konfigurationsdateien
  • home - vergl. "Users" unter Windows
  • lib - Codebibliotheken, die sich andere Programme teilen
  • sbin - Systemdateien
  • tmp - Temporäre Dateien
  • usr - Programmtools und Bibliotheken
  • var - vom System verwendete Dateien

E-Mail / SendMail
Ubuntu hat per Default keinen Mailserver / MTA (Mail Transfer Agent) installiert.
• Unix E-Mail Postausgang Warteschlange: /var/spool/mqueue oder /var/mqueue
• Unix E-Mail Posteingang: /var/spool/mail/ (eine Datei je E-Mail)

Shortcut erstellen (Webseite o.a.)

  • "Name.desktop" Datei auf User-Schreibtisch erstellen
    (nano Name.desktop)

  • Bsp: WEB-Link
    [Desktop Entry]
    Version=1.0
    Name=Testlink Google
    Type= Application
    Exec=firefox https://www.google.com/search?q=uwe-kernchen.de&ie=UTF-8
    Icon=text-html
  • Bsp: Programm
    [Desktop Entry]
    Version=x.y
    Name=ProgramName
    Comment=This is my comment
    Exec=/home/alex/Documents/exec.sh
    Icon=/home/alex/Pictures/icon.png
    Terminal=false
    Type=Application
    Categories=Utility;Application;
  • Dateieigenschaften: Ausführen als Programm
  • Rechtsklick auf Verknüpfung: "Start erlauben"
  • Wenn alles passt, wird der Link mit dem im Desktop Entry definierten Name angezeigt, nicht mit "Name.desktop".
  • Chrome kann mit "Speichere als Shortcut" selber *.desktop Datei unter "Anwendungen" erstellen

  • Lösung2 (Meta Refresh):
    - erstelle Name.html auf User-Desktop
    - Inhalt:
    <html>
        <head>
            <meta http-equiv="refresh" content="0; url=https://askubuntu.com" />
        </head>
        <body> </body>
    </html>
    

Sonstiges

Firefox neu installieren:
apt-get install --reinstall firefox firefox-locale-de

• CIFS Dateisystem installieren:
sudo apt-get install cifs-utils
• Windows CIFS-Freigabe mounten:
mount -t cifs -o user=testuser //192.168.1.10/Freigabe /mnt/windows1
(Vorher Verzeichnis (mnt/windows1) mit MKDIR anlegen)
• Verzeichnis dauerhaft mounten:
sudo vim /etc/fstab  - Mount-Zeile (mit Passwort) in fstab eintragen
//192.168.1.10/Freigabe /mnt/windows cifs username=testuser,password=password,iocharset=utf8 0 0
Quelle: https://ekiwi-blog.de/19565/windows-freigabe-in-ubuntu-mounten-2/

Samba installieren für Windows Zugriff
sudo apt-get install samba

Zugriff auf Windows Freigaben im Dateimanager:
smb://[IP-Adresse]

Ubuntu Recovery

  • beim Booten SHIFT oder ESC drücken führt zum GRUB Boot-Menue, "Erweiterete Optionen" wählen
    (Systemübersicht mit HD-Nutzung, Pakete reparieren, Dateisystem prüfen, Root Shell)
  • Quellen: https://wiki.ubuntuusers.de/Recovery-Modus/

Multiboot Linux-Windows erzeugt falsche Uhrzeit
• Lösung1: Windows Zeit auf "TimeZoneIsUniversal" setzen "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation", DWORD (32-Bit) Name „RealTimeIsUniversal“ - Wert= 1
• Lösung2: Linux Zeit auf "Lokale Zeit" setzen,
  im Terminal: sudo timedatectl set-local-rtc 1 --adjust-system-clock
  Systemzeit in Hardware-Uhr übertragen: sudo hwclock -w

Server sicher machen, wichtige Befehle: CT 13/2016 S. 124ff.

- Prozessliste: ps ax | grep -v " \[.*\]"

- Verbindungsliste von außen: lsof -i 4 -n
- Liste aller geöffneten Dateien: lsof +L1
- System Syslog: /var/log/syslog

Siehe auch:

Durchschnittliche Bewertung 0 (0 Abstimmungen)

Es ist möglich, diese FAQ zu kommentieren.