| Verzeichnisinhalt anzeigen | ls <Pfad zum Verzeichnis(optional)> |
| Verzeichnisinhalt als Liste anzeigen | ls -l <Pfad zum Verzeichnis(optional)> |
| Verzeichnisinhalt als Liste anzeigen mit Menschenlesbaren Dateigrößen | ls -lh <Pfad zum Verzeichnis(optional)> |
| Verzeichnis anlegen | mkdir <Verzeichnisname> |
| Längeren Verzeichnispfad anlegen | mkdir -p <Längerer Pfad> |
| Leeres Verzeichnis löschen | rm -d <Verzeichnisname> |
| Verzeichnis mit Inhalt löschen | rm -df <Verzeichnisname> |
| Symbolischen Link anlegen | ln -s <Dateipfad> <Symlink-Pfad> |
| Neue leere Datei anlegen (wenn die Datei schon existiert wird der Änderungszeitstempel der Datei auf das aktuelle Datum und Uhrzeit gesetzt) | touch <Name der neuen Datei> |
| Ausgabe eines Programms einer Datei anhängen (Datei anlegen falls die Datei noch nicht existiert) | Programm>> Datei Beispiel: echo „test“ >> /tmp/testfile.log |
| Ausgabe eines Programms in neue Datei schreiben (Datei ersetzen falls diese schon existiert) | Programm > Datei Beispiel: mysqldump > db_backup.sql |
| Live Änderungen eines Verzeichnisses ansehen (kann mit CTRL+C abgebrochen werden) | watch ls -lash |
| Live Änderung der Uhrzeit ansehen (kann mit CTRL+C abgebrochen werden) | watch date |
Kategorie: Cheat Sheets
-
Linux Terminal/CLI Cheat Sheet
-
MySQL Cheat Sheet
Datenbank anlegen CREATE DATABASE <dbname>; Datenbank löschen DROP DATABASE <dbname>; Datenbank für weitere Kommandos auswählen USE <dbname>; Benutzer anlegen mit Passwort CREATE USER ‚<username>’@'<hostname>‘ IDENTIFIED BY ‚<password>‘; Benutzer vollen Zugriff auf Datenbank geben GRANT ALL PRIVILEGES ON <dbname>.* TO ‚<username>’@'<hostname>‘; Berechtigungen neuladen FLUSH PRIVILEGES; Vollständiges Anwendungsbeispiel
Wir möchten eine Datenbank mit dem Namen „sampleproject“ und einen Benutzer mit dem Namen „sampleadmin“ und dem Passwort „SuperPassword123!“ anlegen. Der Hostname des Benutzers wird „127.0.0.1“ da es nicht möglich sein soll, sich mit diesem Benutzer von einem entfernten Rechner anzumelden. Somit kann sich dieser Benutzer nur anmelden, wenn der Zugriff vom selben Rechner stattfindet, auf dem auch der Datenbankserver installiert ist.
Anschließend soll der Nutzer „sampleadmin“ vollen Zugriff auf die Datenbank „sampleproject“ erhalten.
CREATE DATABASE sampleproject; CREATE USER 'sampleadmin'@'127.0.0.1' IDENTIFIED BY 'SuperPassword123!'; GRANT ALL PRIVILEGES ON sampleproject.* TO 'sampleadmin'@'127.0.0.1'; FLUSH PRIVILEGES;Wichtig ist, dass das
.*hinter dem Datenbanknamen nicht vergessen wird. Dies besagt, dass die Berechtigungen auf alle bestehenden und künftig angelegten Tabellen vergeben werden. -
UFW Cheat Sheet
Hier eine Übersicht der wichtigsten UFW-Befehle
Standardmäßig erstellt UFW alle Regeln für IPv4 und IPv6. Welche Befehle du brauchst zeigt dir dieses UFW Cheat Sheet.
Stelle sicher dass du ufw enable als letztes ausführst, um zu verhindern dass du dich aussperrst!
UFW unter Debian und Ubuntu installieren: sudo apt install ufw UFW Firewall aktivieren: sudo ufw enable UFW Status/Regeln anzeigen: sudo ufw status SSH erlauben: sudo ufw allow ssh Regel SSH erlauben entfernen: sudo ufw delete allow ssh HTTP erlauben: sudo ufw allow http Regel HTTP erlauben entfernen: sudo ufw delete allow http Erlauben von IP: sudo ufw allow from 10.1.8.7 proto tcp to any port 443 Regel Erlauben von IP entfernen: sudo ufw delete allow from 10.1.8.7 proto tcp to any port 443 Erlaub zu IP: sudo ufw allow in to 10.1.8.7 port 443 proto tcp Regel Erlauben zu IP löschen sudo ufw delete allow in to 10.1.8.7 port 443 proto tcp UFW-Kommandos bestehender Regeln ansehen sudo ufw show added Vollständiges Anwendungsbeispiel
Wir haben nun einen Server im Internet mit nur einer einzigen öffentlichen IP-Adresse. Dieser ist über SSH erreichbar und soll über einen Webserver eine Website hosten.
Zuerst installieren wir UFW mit
sudo apt-get install ufwAnschließend stellen wir sicher das wir uns nicht aus SSH aussperren. Dieser Schritt sollte unter keinen Umständen übersprungen werden da der Server ansonsten nicht mehr administrierbar ist.
sudo ufw allow sshNun können wir die Firewall aktivieren. Dabei wird der Webserver unerreichbar. Dies ändern wir aber gleich.
sudo ufw enableUm den Webserver nun wieder aus dem Internet erreichbar zu machen müssen wir nur noch folgenden Befehl ausführen.
sudo ufw allow http sudo ufw allow httpsDurch das hinzufügen beider Protokolle wird sichergestellt, dass auch Browser die Standardmäßig über http anfragen eine Antwort bekommen. In den meisten Fällen sollte der Webserver aber so konfiguriert werden, dass er von http zu https weiterleitet.
Hier noch einmal das vollständige Script zum einfachen kopieren und einfügen.
sudo apt-get install ufw sudo ufw allow ssh sudo ufw enable sudo ufw allow http sudo ufw allow httpsAnwendungsfälle
Neben dem UFW Cheat Sheet möchte ich hier auch noch einige Anwendungsfälle nennen, für welche bestimmte Kommandos relevant werden können.
Erlauben von überall zu einer IP-Adresse mittels UFW
Das erlauben eingehender Anfragen zu einer bestimmten IP-Adresse kann nützlich sein, wenn der Server mehr als eine IP-Adresse besitzt. So kann es zum Beispiel sein, der Server eine Management-IP hat, worüber nur SSH erlaubt sein sollte und eine weitere sogenannte Failover-IP über welche bestimmte Dienste, wie beispielsweise ein Webserver, über das Internet erreichbar gemacht werden sollen.
UFW Kommandos bestehender Regeln anzeigen lassen
Über das Kommando sudo ufw show added ist es möglich sich die Kommandos anzeigen zu lassen mit welchen bestimmte Regeln erstellt wurden. Dies hat mehrere Vorteile. Zum einen kann man, sollte man eine ähnliche Regel benötigen einfach spicken, zum anderen kann man, sollte man eine Regel nicht mehr benötigen einfach den entsprechenden Regelsatz nehmen und zwischen dem „ufw“ und dem „allow“ einfach ein „delete“ einfügen.
Das delete vor der Firewall-Definition ist in der Regel nämlich der Einzige unterschied zwischen hinzufügen oder löschen.