Compare commits
11
Commits
56c5255442
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
105395c62d | ||
|
|
e0df6c5405 | ||
|
|
083f42ca51 | ||
|
|
2fca686b56 | ||
|
|
9a4b1ef83d | ||
|
|
c950d17582 | ||
|
|
e87a48cd7a | ||
|
|
cf1852fd0a | ||
|
|
7c192a0e05 | ||
|
|
83c3b620e9 | ||
|
|
6444a814b0 |
@@ -8,6 +8,7 @@ Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische
|
|||||||
- [Quick Start](#quick-start)
|
- [Quick Start](#quick-start)
|
||||||
- [Übersicht](#übersicht)
|
- [Übersicht](#übersicht)
|
||||||
- [Bash-Profile](#bash-profile)
|
- [Bash-Profile](#bash-profile)
|
||||||
|
- [Domaintools](#domaintools)
|
||||||
- [Legacy Snippets](#legacy-snippets)
|
- [Legacy Snippets](#legacy-snippets)
|
||||||
- [WH20 Snippets](#wh20-snippets)
|
- [WH20 Snippets](#wh20-snippets)
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
@@ -22,6 +23,7 @@ Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische
|
|||||||
Die Skripte sind nach Kategorie getrennt:
|
Die Skripte sind nach Kategorie getrennt:
|
||||||
|
|
||||||
- [**Bashprofiles**](./bashprofiles/README.md) – Optimierte Bash-Konfigurationen
|
- [**Bashprofiles**](./bashprofiles/README.md) – Optimierte Bash-Konfigurationen
|
||||||
|
- [**Domaintools**](./domaintools/README.md) - Tools für Domainabfragen
|
||||||
- [**Legacy**](./legacy/README.md) – Snippets für Legacy-Umgebungen (inkl. Connect Tools)
|
- [**Legacy**](./legacy/README.md) – Snippets für Legacy-Umgebungen (inkl. Connect Tools)
|
||||||
- [**WH20**](./wh20/README.md) – Snippets für WH20-Umgebungen
|
- [**WH20**](./wh20/README.md) – Snippets für WH20-Umgebungen
|
||||||
|
|
||||||
@@ -33,6 +35,17 @@ Optimierte Bash-Konfigurationen für verschiedene Support-Umgebungen:
|
|||||||
- [`pl`](./bashprofiles/pl)
|
- [`pl`](./bashprofiles/pl)
|
||||||
→ [Dokumentation & Beispiele](./bashprofiles/README.md)
|
→ [Dokumentation & Beispiele](./bashprofiles/README.md)
|
||||||
Basis-Profil mit erweiterter History, farbigem Prompt und modularer Struktur
|
Basis-Profil mit erweiterter History, farbigem Prompt und modularer Struktur
|
||||||
|
- [`eign01`](./bashprofiles/eign01/)
|
||||||
|
Sicherungskopie der aktuellen `.bashrc` von `eign01`.
|
||||||
|
|
||||||
|
## Domaintools
|
||||||
|
|
||||||
|
- [`domainchecker`](./domaintools/domainchecker/README.md)
|
||||||
|
Tool zur `dig`-Massenabfrage von Domains und DNS-Records.
|
||||||
|
- [`histodomain`](./domaintools/histodomain/README.md)
|
||||||
|
Abfrage zu historischen DNS-Einträgen über die [Securitytrails-API](https://securitytrails.com).
|
||||||
|
- [`sslchecker`](./domaintools/sslchecker/README.md)
|
||||||
|
Tool zur schnellen SSL-Prüfung mehrerer Domains gleichzeitig.
|
||||||
|
|
||||||
## Legacy Snippets
|
## Legacy Snippets
|
||||||
|
|
||||||
@@ -52,8 +65,10 @@ Optimierte Bash-Konfigurationen für verschiedene Support-Umgebungen:
|
|||||||
|
|
||||||
- [`plesk`](./wh20/plesk)
|
- [`plesk`](./wh20/plesk)
|
||||||
Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers.
|
Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers.
|
||||||
- [`wh20`](./wh20)
|
- [`wh20`](./wh20/wh20)
|
||||||
Dieses Skript verbindet zum angegbenen Webserver via SSH
|
Dieses Skript verbindet zum angegbenen Webserver via SSH
|
||||||
|
- [`damagecontrol`](./wh20/damagereport)
|
||||||
|
Dieses Skript ermöglicht die kombinierte Abfrage zu geläufigen Problemen mit MS365-Empfängern über [`checkms`](./legacy/checkms), [`adspam`](./wh20/adspam), [`donaspam`](wh20/donaspam) sowie [`spamcheck` selbst](.wh20/spamcheck).
|
||||||
- [`adspam`](./adspam)
|
- [`adspam`](./adspam)
|
||||||
Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf Adino-Servern direkt von der Connect aus.
|
Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf Adino-Servern direkt von der Connect aus.
|
||||||
- [`donaspam`](./donaspam)
|
- [`donaspam`](./donaspam)
|
||||||
@@ -136,9 +151,10 @@ cd /pfad/zu/esn-support-tools
|
|||||||
Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte:
|
Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte:
|
||||||
|
|
||||||
1. **Ordnerstruktur anlegen**
|
1. **Ordnerstruktur anlegen**
|
||||||
Je nach Kategorie (`bashprofiles`, `legacy` oder `wh20`) einen Unterordner erstellen:
|
Je nach Kategorie (`bashprofiles`, `domaintools`, `legacy` oder `wh20`) einen Unterordner erstellen:
|
||||||
```
|
```
|
||||||
bashprofiles/<username>/
|
bashprofiles/<username>/
|
||||||
|
domaintools/<scriptname>/
|
||||||
legacy/<scriptname>/
|
legacy/<scriptname>/
|
||||||
wh20/<scriptname>/
|
wh20/<scriptname>/
|
||||||
```
|
```
|
||||||
@@ -146,6 +162,10 @@ Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schrit
|
|||||||
2. **Skript hinzufügen**
|
2. **Skript hinzufügen**
|
||||||
Das eigentliche Skript im neuen Ordner ablegen:
|
Das eigentliche Skript im neuen Ordner ablegen:
|
||||||
```
|
```
|
||||||
|
domaintools/<scriptname>/<scriptname>
|
||||||
|
```
|
||||||
|
oder
|
||||||
|
```
|
||||||
legacy/<scriptname>/<scriptname>
|
legacy/<scriptname>/<scriptname>
|
||||||
```
|
```
|
||||||
oder
|
oder
|
||||||
@@ -163,16 +183,21 @@ Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schrit
|
|||||||
[README_template_script.md](./README_template.md)
|
[README_template_script.md](./README_template.md)
|
||||||
→ kopieren, anpassen und ins Skript-Verzeichnis legen:
|
→ kopieren, anpassen und ins Skript-Verzeichnis legen:
|
||||||
```
|
```
|
||||||
legacy/<scriptname>/README.md
|
domaintools/<scriptname>/README.md
|
||||||
```
|
```
|
||||||
oder
|
oder
|
||||||
```
|
```
|
||||||
|
legacy/<scriptname>/README.md
|
||||||
|
```
|
||||||
|
oder
|
||||||
|
```
|
||||||
wh20/<scriptname>/README.md
|
wh20/<scriptname>/README.md
|
||||||
```
|
```
|
||||||
|
|
||||||
4. **Übersicht aktualisieren**
|
4. **Übersicht aktualisieren**
|
||||||
Das Skript in die Übersicht der passenden Kategorie-README eintragen:
|
Das Skript in die Übersicht der passenden Kategorie-README eintragen:
|
||||||
- [`bashprofiles/README.md`](./bashprofiles/README.md)
|
- [`bashprofiles/README.md`](./bashprofiles/README.md)
|
||||||
|
- [`domaintools/README.md`](./domaintools/README.md)
|
||||||
- [`legacy/README.md`](./legacy/README.md)
|
- [`legacy/README.md`](./legacy/README.md)
|
||||||
- [`wh20/README.md`](./wh20/README.md)
|
- [`wh20/README.md`](./wh20/README.md)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
# Domain Tools
|
||||||
|
|
||||||
|
Sammlung von Bash-Skripten für diversen Abfragen zu Domains. Enthält Tools zur Massenabfrage von DNS-Einträgen sowie zur Anzeige historischer DNS-Einträge.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Inhaltsverzeichnis
|
||||||
|
|
||||||
|
- [Übersicht](#Übersicht)
|
||||||
|
- [Enthaltene Tools](#enthaltene-Tools)
|
||||||
|
- [Voraussetzungen](#Voraussetzungen)
|
||||||
|
- [Lizenz/Sichtbarkeit](#lizenz--sichtbarkeit)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Übersicht
|
||||||
|
|
||||||
|
******
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## enthaltene Tools
|
||||||
|
|
||||||
|
### [`domainchecker`](./domainchecker/)
|
||||||
|
Tool zur dig-Massenabfrage von Domains und DNS-Records.
|
||||||
|
|
||||||
|
- [Dokumentation & Beispiele](./domainchecker/README.md)
|
||||||
|
|
||||||
|
### [`histodomain`](./histodomain/)
|
||||||
|
Abfrage zu historischen DNS-Einträgen über die Securitytrails-API.
|
||||||
|
|
||||||
|
- [Dokumentation & Beispiele](./histodomain/README.md)
|
||||||
|
|
||||||
|
### [`sslchecker`](./sslchecker/)
|
||||||
|
Tool zur schnellen SSL-Prüfung mehrerer Domains gleichzeitig.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
|
||||||
|
### generelle Voraussetzungen
|
||||||
|
- kann auch von außerhalb der Connect genutzt werden, sofern eine lokale `bash` verwendbar ist
|
||||||
|
- **Kerberos-Setup**: Funktionierende Kerberos-Konfiguration
|
||||||
|
- **SSH-Zugriff**: Berechtigungen für easyname-Infrastruktur
|
||||||
|
|
||||||
|
### Setup-Anleitung
|
||||||
|
|
||||||
|
1. Kerberos-Ticket erstellen:
|
||||||
|
```bash
|
||||||
|
kinit deinusername@NESSUS.AT
|
||||||
|
# oder mit go-Tool:
|
||||||
|
go kinit
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Tool in PATH hinzufügen oder Alias erstellen:
|
||||||
|
```bash
|
||||||
|
# Option 1: Alias
|
||||||
|
alias domainchecker="/pfad/zu/domaintools/domainchecker/domainchecker.sh"
|
||||||
|
|
||||||
|
# Option 2: Symlink
|
||||||
|
ln -s /pfad/zu/domaintools/domainchecker/domainchecker.sh ~/bin/domainchecker
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lizenz / Sichtbarkeit
|
||||||
|
|
||||||
|
> Dieses Repository ist **intern** für easyname Support.
|
||||||
|
> Falls eine Freigabe nach extern geplant ist, bitte vorab mit Teamleitung abklären.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Diese Tools wurden mit Hilfe von Microsoft Copilot erstellt.*
|
||||||
@@ -3,38 +3,68 @@
|
|||||||
# Maintainer: peignerpausz
|
# Maintainer: peignerpausz
|
||||||
# Version: 1.2
|
# Version: 1.2
|
||||||
|
|
||||||
set -eou pipefail
|
set -eo pipefail
|
||||||
|
declare -a DOMAINS=()
|
||||||
|
declare -a RECORDS=()
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<USAGE
|
cat <<USAGE
|
||||||
Verwendung:
|
Verwendung:
|
||||||
Domainchecker
|
$0 [OPTIONEN]
|
||||||
> Welche Domains sollen gesucht werden?
|
Oder interaktiv: $0
|
||||||
> domain1.tld domain2.tld domain3.tld ...
|
|
||||||
> Welcher Record soll untersucht werden?
|
Optionen:
|
||||||
> A/AAAA/MX/TXT/SOA/NS/...
|
-d, --domains DOMAIN [DOMAINS...]
|
||||||
|
Zu prüfende Domains
|
||||||
|
-r, --records RECORD [RECORDS...]
|
||||||
|
Zu prüfende DNS-Records, z.B. A MX TXT
|
||||||
|
-h, --help
|
||||||
|
Diese Hilfe anzeigen
|
||||||
|
|
||||||
|
Beispiele:
|
||||||
|
$0 -d domain1.tld domain2.tld -r MX TXT
|
||||||
|
|
||||||
|
$0 --domains domain1.tld domain2.tld --records MX TXT
|
||||||
USAGE
|
USAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Welche Domains sollen gesucht werden? "
|
while [[ $# -gt 0 ]]; do
|
||||||
read DOMAINS
|
case "$1" in
|
||||||
if [[ -z "$DOMAINS" ]]; then
|
-d | --domains)
|
||||||
{
|
shift
|
||||||
echo -e "Fehler: Bitte Domains einfügen. \n" >&2
|
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||||
|
DOMAINS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
-r | --records)
|
||||||
|
shift
|
||||||
|
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||||
|
RECORDS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
-h | --help)
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 0
|
||||||
}
|
;;
|
||||||
fi
|
esac
|
||||||
echo "Welcher Record soll untersucht werden? "
|
done
|
||||||
read RECORD
|
|
||||||
if [[ -z "$RECORD" ]]; then
|
[[ ${#DOMAINS[@]} -eq 0 ]] && read -ra DOMAINS -p "Welche Domains sollen gesucht werden? " DOMAINS
|
||||||
{
|
[[ ${#RECORDS[@]} -eq 0 ]] && read -ra RECORDS -p "Welcher Records sollen gesucht werden? "
|
||||||
echo -e "Fehler: Bitte Record einsetzen. \n" >&2
|
|
||||||
usage
|
for domain in "${DOMAINS[@]}"; do
|
||||||
exit 1
|
printf "\n==== %s ====\n" "$domain"
|
||||||
}
|
for record in "${RECORDS[@]}"; do
|
||||||
fi
|
printf "++++ %s ++++\n" "$record"
|
||||||
printf "\n"
|
|
||||||
for a in $DOMAINS; do
|
result=$(dig +short "$record" "$domain")
|
||||||
checker=$(dig +short $RECORD $a)
|
if [[ -n "$result" ]]; then
|
||||||
printf "+++Suchergebnisse für %s+++ \n%s\n %s\n====\n" "$a" "$checker"
|
printf "%s" "$result"
|
||||||
|
else
|
||||||
|
printf "Keine Einträge gefunden."
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# <scriptname>
|
# histodomain - historische DNS-Abfragen
|
||||||
|
|
||||||
Skript zur schnellen Abfrage historischer Domain-Records im json-Format. Zur Abfrage wird ein API-Key von Securitytrails.com benötigt.
|
Skript zur schnellen Abfrage historischer Domain-Records im json-Format. Zur Abfrage wird ein API-Key von Securitytrails.com benötigt.
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ histodomain
|
|||||||
> a
|
> a
|
||||||
> API-Key für Securitytrails angeben:
|
> API-Key für Securitytrails angeben:
|
||||||
```
|
```
|
||||||
```
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Setup-Hinweise
|
## Setup-Hinweise
|
||||||
@@ -78,4 +78,3 @@ alias <scriptname>='~/pfad/zum/repo/domaintools/histodomain/histodomain.sh'
|
|||||||
- Free-Version von Securitytrails ermöglicht bis zu 50 kostenlose Abpfragen über die API/Monat
|
- Free-Version von Securitytrails ermöglicht bis zu 50 kostenlose Abpfragen über die API/Monat
|
||||||
- To-Do
|
- To-Do
|
||||||
- Non-interaktive Version bauen
|
- Non-interaktive Version bauen
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
# SSLChecker
|
||||||
|
|
||||||
|
Skript zum schnellen Prüfen der Gültigkeit und des Typs von SSL-Certs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Prüft Gültigkeit
|
||||||
|
- Prüft Typ (LE oder was anderes)
|
||||||
|
- Prüft Restgültigkeit des SSL-Certs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. Repository klonen oder Skript kopieren:
|
||||||
|
```bash
|
||||||
|
git clone git.in.loki-net.at/esn-support-bash-snippets.git
|
||||||
|
cd esn-support-bash-snippets/domaintools/sslchecker
|
||||||
|
chmod +x sslchecker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Abhängigkeiten (falls vorhanden) installieren:
|
||||||
|
- `curl`
|
||||||
|
- `openssl`
|
||||||
|
- beide auf der connect vorinstalliert
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nutzung
|
||||||
|
|
||||||
|
### Standardaufruf
|
||||||
|
```bash
|
||||||
|
./sslchecker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Beispiele
|
||||||
|
```bash
|
||||||
|
./sslchecker.sh -d domain1.tld domain2.tld domain3.tld -t le
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Optionen
|
||||||
|
|
||||||
|
```
|
||||||
|
Verwendung:
|
||||||
|
bash sslchecker.sh [OPTIONEN]
|
||||||
|
Oder interaktiv: bash sslchecker.sh
|
||||||
|
|
||||||
|
Optionen:
|
||||||
|
-d, --domains DOMAIN [DOMAINS...]
|
||||||
|
Zu prüfende Domains
|
||||||
|
-t, --type Typ
|
||||||
|
Prüft gegen erwarteten Issuer, etwa Let's Encrypt, Sectigo oder GlobalSign
|
||||||
|
-h, --help
|
||||||
|
Diese Hilfe anzeigen
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Beispielausgabe
|
||||||
|
|
||||||
|
```
|
||||||
|
bash sslchecker.sh -d ironsites.at myrealis.at orf.at -t le
|
||||||
|
|
||||||
|
+++SSLCHECKER v0.1+++
|
||||||
|
|
||||||
|
====== ironsites.at =========
|
||||||
|
OK valid SSL
|
||||||
|
OK SSL-Zertifikat gültig bis Nov 1 23:23:54 2026 GMT (46 Tage verbleibend)
|
||||||
|
OK Cert ist von Let's Encrypt
|
||||||
|
|
||||||
|
====== myrealis.at =========
|
||||||
|
OK valid SSL
|
||||||
|
OK SSL-Zertifikat gültig bis Nov 5 07:16:41 2026 GMT (49 Tage verbleibend)
|
||||||
|
OK Cert ist von Let's Encrypt
|
||||||
|
|
||||||
|
====== orf.at =========
|
||||||
|
OK valid SSL
|
||||||
|
OK SSL-Zertifikat gültig bis Jan 3 08:17:00 2027 GMT (108 Tage verbleibend)
|
||||||
|
X Cert ist nicht von Let's Encrypt (gefunden: GlobalSign nv-sa)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Setup-Hinweise
|
||||||
|
|
||||||
|
Falls notwendig, Alias in `~/.bashrc` setzen:
|
||||||
|
```bash
|
||||||
|
alias sslchecker='~/esn-support-tools/domaintools/sslchecker/sslchecker.sh'
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- To-Do:
|
||||||
|
Timeouts abfangen
|
||||||
|
eventuell Umbau auf `openssl` statt `curl`
|
||||||
|
Optionen ausbauen
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Tool zum Prüfen von SSL-Gültigkeit mehrer Domains
|
||||||
|
# Maintainer: peignerpausz
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
RED="\033[31m"
|
||||||
|
GREEN="\033[32m"
|
||||||
|
YELLOW="\033[33m"
|
||||||
|
RESET="\033[0m"
|
||||||
|
declare -a DOMAINS
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<USAGE
|
||||||
|
Verwendung:
|
||||||
|
bash $0 [OPTIONEN]
|
||||||
|
Oder interaktiv: bash $0
|
||||||
|
|
||||||
|
Optionen:
|
||||||
|
-d, --domains DOMAIN [DOMAINS...]
|
||||||
|
Zu prüfende Domains
|
||||||
|
-t, --type
|
||||||
|
Prüft gegen erwarteten Issuer, etwa Let's Encrypt, Sectigo oder GlobalSign
|
||||||
|
-h, --help
|
||||||
|
Diese Hilfe anzeigen
|
||||||
|
|
||||||
|
Beispiele:
|
||||||
|
$0 -d domain1.tld domain2.tld -t le
|
||||||
|
|
||||||
|
$0 --domains domain1.tld domain2.tld --type le
|
||||||
|
USAGE
|
||||||
|
}
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-d | --domains)
|
||||||
|
shift
|
||||||
|
while [[ $# -gt 0 && "$1" != -* ]]; do
|
||||||
|
DOMAINS+=("$1")
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
|
||||||
|
-t | --type)
|
||||||
|
ISSUER="$2"
|
||||||
|
|
||||||
|
case "$ISSUER" in
|
||||||
|
le)
|
||||||
|
EXPECTED_ISSUER="Let's Encrypt"
|
||||||
|
;;
|
||||||
|
digicert)
|
||||||
|
EXPECTED_ISSUER="DigiCert"
|
||||||
|
;;
|
||||||
|
sectigo)
|
||||||
|
EXPECTED_ISSUER="Sectigo"
|
||||||
|
;;
|
||||||
|
global)
|
||||||
|
EXPECTED_ISSUER="GlobalSign"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Fehler: Ungültiger Typ '$ISSUER'"
|
||||||
|
echo "Erlaubte Werte: le, digicert, sectigo, global"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
|
||||||
|
-h | --help)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Unbekannte Option: $1"
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "+++SSLCHECKER v0.1+++\n"
|
||||||
|
[[ ${#DOMAINS[@]} -eq 0 ]] && read -ra DOMAINS -p "Welche Domains sollen gesucht werden? " DOMAINS
|
||||||
|
for domain in "${DOMAINS[@]}"; do
|
||||||
|
printf "\n========= %s =========\n" "$domain"
|
||||||
|
VALIDITY=$(curl -vI https://$domain 2>&1 | grep -F "SSL certificate verify ok")
|
||||||
|
EXPIRE=$(echo | openssl s_client -connect $domain:443 -servername $domain 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
|
||||||
|
ISSUER=$(echo | openssl s_client -connect "$domain:443" -servername "$domain" 2>/dev/null |
|
||||||
|
openssl x509 -noout -issuer |
|
||||||
|
grep -o 'O *= *[^,]*' |
|
||||||
|
sed 's/O *= *//')
|
||||||
|
expire_ts=$(date -d "$EXPIRE" +%s)
|
||||||
|
now_ts=$(date +%s)
|
||||||
|
days_left=$(((expire_ts - now_ts) / 86400))
|
||||||
|
if [[ -n "$VALIDITY" ]]; then
|
||||||
|
printf "${GREEN}OK${RESET} valid SSL\n"
|
||||||
|
else
|
||||||
|
printf "${RED}X${RESET} not valid SSL\n"
|
||||||
|
fi
|
||||||
|
if [ "$days_left" -lt 0 ]; then
|
||||||
|
printf "${RED}CRITICAL${RESET} Zertifikat ist seit %d Tagen abgelaufen (%s)\n" "$((-days_left))" "$EXPIRE"
|
||||||
|
elif [ "$days_left" -lt 7 ]; then
|
||||||
|
printf "${RED}CRITICAL${RESET} Zertifikat läuft in %d Tagen ab (%s)\n" "$days_left" "$EXPIRE"
|
||||||
|
elif [ "$days_left" -lt 30 ]; then
|
||||||
|
printf "${YELLOW}WARNING${RESET} SSL-Zertifikat läuft in $days_left Tagen ab ($EXPIRE)\n"
|
||||||
|
else
|
||||||
|
printf "${GREEN}OK${RESET} SSL-Zertifikat gültig bis $EXPIRE ($days_left Tage verbleibend)\n"
|
||||||
|
fi
|
||||||
|
if [[ -n $EXPECTED_ISSUER ]]; then
|
||||||
|
if [[ "$ISSUER" == *"$EXPECTED_ISSUER"* ]]; then
|
||||||
|
printf "${GREEN}OK${RESET} Cert ist von %s" "$EXPECTED_ISSUER"
|
||||||
|
else
|
||||||
|
printf "${YELLOW}X${RESET} Cert ist nicht von %s (gefunden: %s)" "$EXPECTED_ISSUER" "$ISSUER"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "${GREEN}INFO${RESET} Cert-Aussteller: %s" "$ISSUER"
|
||||||
|
fi
|
||||||
|
printf "\n"
|
||||||
|
done
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
# wpchecker
|
||||||
|
|
||||||
|
Tool zum Schnellen prüfen mehrerer WordPress-Installationen
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Prüfen der Coreversion
|
||||||
|
- Prüfen der Core Checksums
|
||||||
|
- Prüfen der Plugin Checksums
|
||||||
|
- Prüfen der Adminnutzer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. Repository klonen oder Skript kopieren:
|
||||||
|
```bash
|
||||||
|
git clone git.int.loki-net.at/esn-support-bash-snippets.git
|
||||||
|
cd esn-support-bash-snippets/legacy/wpchecker
|
||||||
|
chmod +x wpchecker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Abhängigkeiten (falls vorhanden) installieren:
|
||||||
|
- [`wp-cli`](https://group-one.atlassian.net/wiki/spaces/EASYNAME/pages/33673314407/WP-CLI-Mastery)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nutzung
|
||||||
|
|
||||||
|
Skript kann im Prinzip von überall aus dem Usercontainer abgesetzt werden, da es über die $HOME-Variable direkt das html-Verzeichnis prüft.
|
||||||
|
|
||||||
|
### Standardaufruf
|
||||||
|
```bash
|
||||||
|
./wpchecker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Beispiele
|
||||||
|
```bash
|
||||||
|
./wpchecker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Optionen
|
||||||
|
|
||||||
|
```
|
||||||
|
Usage: ./<scriptname> [OPTIONS]
|
||||||
|
|
||||||
|
--help Zeigt diese Hilfe
|
||||||
|
--option Beispieloption
|
||||||
|
YYYY-MM-DD Beispiel für Datumsargument
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Beispielausgabe
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash wpchecker
|
||||||
|
WPChecker wird gestartet...
|
||||||
|
|
||||||
|
Führe zu prüfenden Usernamen an: yun
|
||||||
|
yun
|
||||||
|
Führe Stammverzeichnis der zu prüfenden WordPress-Installationen an: html
|
||||||
|
html
|
||||||
|
Beginne Prüfung der WordPress-Installationen
|
||||||
|
++++++++++++++++++++
|
||||||
|
|
||||||
|
Prüfe html/pbtest/classicp
|
||||||
|
+++++++++++++++++
|
||||||
|
6.2.9
|
||||||
|
X Coresum-Fehler!
|
||||||
|
OK Kein eindeutiger Hinweis auf wp2shell!
|
||||||
|
OK Plugins okay!
|
||||||
|
|
||||||
|
Prüfe html/apps/wordpress-134151
|
||||||
|
+++++++++++++++++
|
||||||
|
7.1
|
||||||
|
OK Kein eindeutiger Hinweis auf wp2shell!
|
||||||
|
OK Plugins okay!
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Setup-Hinweise
|
||||||
|
|
||||||
|
Falls notwendig, Alias in `~/.bashrc` des Kunden setzen:
|
||||||
|
```bash
|
||||||
|
alias wpchecker='~/bin/wpchecker.sh'
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- WP-CLI muss unter /data/web/eUser/bin abgelegt und ausführbar sein
|
||||||
|
- ToDos
|
||||||
|
- non-interaktive Version bauen
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
# Tool zum Schnellen prüfen mehrerer WordPress-Installationen
|
||||||
|
# Maintainer: peignerpausz
|
||||||
|
set -ou pipefail
|
||||||
|
|
||||||
|
RED="\033[31m"
|
||||||
|
GREEN="\033[32m"
|
||||||
|
YELLOW="\033[33m"
|
||||||
|
RESET="\033[0m"
|
||||||
|
declare -a wpuser
|
||||||
|
declare wppath
|
||||||
|
declare uploads
|
||||||
|
|
||||||
|
printf "WPChecker wird gestartet...\n\n"
|
||||||
|
printf "Führe zu prüfenden Usernamen an: "
|
||||||
|
read -a wpuser
|
||||||
|
echo "${wpuser[@]}"
|
||||||
|
printf "Führe Stammverzeichnis der zu prüfenden WordPress-Installationen an: "
|
||||||
|
read wppath
|
||||||
|
echo "$wppath"
|
||||||
|
printf "Beginne Prüfung der WordPress-Installationen\n++++++++++++++++++++\n"
|
||||||
|
for wordpress in $(find $wppath -type f -name "wp-config.php" -exec dirname {} \;); do
|
||||||
|
[[ -d "$wordpress" ]] || continue
|
||||||
|
# Setzt Prüfung nur für alle Verzeichnisse mit einer vorhandenen wp-config.php fort.
|
||||||
|
# Wenn viele Verzeichnisse geprüft werden ist für die Übersichtlichkeit die Unterdrückung von Fehlern mittels 2>/dev/null empfehlenswert.
|
||||||
|
printf "\nPrüfe $wordpress\n+++++++++++++++++\n"
|
||||||
|
corev=$(php ~/bin/wp-cli.phar core version --path="$wordpress")
|
||||||
|
printf "${YELLOW}%s${RESET}\n" "$corev"
|
||||||
|
coresum=$(php ~/bin/wp-cli.phar core verify-checksums --path="$wordpress" 2>/dev/null)
|
||||||
|
if [[ $? > 0 ]]; then
|
||||||
|
printf "${RED}X${RESET} Coresum-Fehler!\n"
|
||||||
|
else
|
||||||
|
printf="${GREEN}OK${RESET} Coresum okay!\n"
|
||||||
|
fi
|
||||||
|
userlist=$(php ~/bin/wp-cli.phar user list --role=administrator --path="$wordpress")
|
||||||
|
for a in "${wpuser[@]}"; do
|
||||||
|
if printf "%s" "$userlist" | grep -Fq -- $a; then
|
||||||
|
printf "${RED}X${RESET} Hinweis auf wp2hsell gefunden! Username: %s\n Rate zur Prüfung von wp-content/uploads auf .htaccess und php-Files.\n" "$a"
|
||||||
|
else
|
||||||
|
printf "${GREEN}OK${RESET} Kein eindeutiger Hinweis auf wp2shell!\n"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
plugincheck=$(php ~/bin/wp-cli.phar plugin verify-checksums --all --path="$wordpress" 2>/dev/null)
|
||||||
|
if [[ $? > 0 ]]; then
|
||||||
|
printf "${RED}X${RESET} Plugins prüfen!\n Rate zur Prüfung von wp-content/uploads auf .htaccess- und .php-Files\n"
|
||||||
|
else
|
||||||
|
printf "${GREEN}OK${RESET} Plugins okay!\n"
|
||||||
|
fi
|
||||||
|
for uploads in $(find $wppath -type d -wholename "wp-content/uploads" -exec dirname {} \;); do
|
||||||
|
[[ -d "$uploads" ]] || continue
|
||||||
|
printf "Prüfe Upload-Folder auf verdächtige .htaccess-Files\n"
|
||||||
|
htaccesschecker=$(find "$uploads" -type f -name ".htaccess")
|
||||||
|
if printf "%s" "$htaccesschecker" | grep "*.php"; then
|
||||||
|
printf "${RED}X${RESET} .htaccess im Uploadfolder gefunden: %s\n" "$htaccesschecker"
|
||||||
|
else
|
||||||
|
printf"${GREEN}OK${RESET} keine .htaccess im Uploadfolder gefunden!\n"
|
||||||
|
fi
|
||||||
|
printf "Prüfe Upload-Folder auf verdächtige php-Files\n"
|
||||||
|
phpchecker=$(find "$uploads" -type f -name "*.php" | wc -l)
|
||||||
|
if [[ "$phpchecker" > 0 ]]; then
|
||||||
|
printf "${RED}X${RESET} PHP-Files im Uploadfolder gefunden: %s\n" "$phpchecker"
|
||||||
|
else
|
||||||
|
printf "${GREEN}OK${RESET} keine PHP-Files im Uploadfolder gefunden!\n"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
@@ -1,279 +0,0 @@
|
|||||||
# domainchecker
|
|
||||||
|
|
||||||
Domainchecker für schnelle Prüfung eines beliebigen DNS-Records für eine beliebige Anzahl an Domains
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Ausgabe einer Liste von DNS-Records für eine beliebige in einem Array übergebene Anzahl Domains
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
1. Repository klonen oder Skript kopieren:
|
|
||||||
```bash
|
|
||||||
git clone <gitea-url>/esn-support-bash-snippets.git
|
|
||||||
cd esn-support-bash-snippets/<legacy|wh20>/<scriptname>
|
|
||||||
chmod +x <scriptname>
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Abhängigkeiten (falls vorhanden) installieren:
|
|
||||||
- `jq` (optional)
|
|
||||||
- weitere Tools
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Nutzung
|
|
||||||
|
|
||||||
### Standardaufruf
|
|
||||||
```bash
|
|
||||||
./domainchecker.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Beispiele
|
|
||||||
```bash
|
|
||||||
for a in filmkontor.at sense-and-soul.at sense-and-soul.com mgoe.at mgoe.immo liahov.at veronikastoeger.eu morningkind.com audioraevents.com bcg-papers.at lylynails.at montafoner-wollwerkstatt-shop.at hmvc.at martingansberger.com soleman.at soleman-shoes.at soleman-shoes.de soleman-shoes.com puventuregroup.at puventuregroup.de puventuregroup.com globale-perspektive.at floraswebwerkstatt.at floraswebwerkstatt.com lechner-studios.de parvinrazavi.at parvinrazavi.com fv16.lu lenz-honorarberatung.at lenz-honorarberatung.com sieglspub.co.at rheintalpraxis.ch rheintal-homöopathie.ch synstro.at medstro.at tecstro.at oefrd.eu hp-rohrreinigung.at batjaferch.com 6gforum.at rbl-consult.com mozzarellaranch.at agentsie.at simoneammarkt.at oglatz-fenster.at billboard-games.at ai4u.at secondunit.at 2ndunit.at oscarperfume.at vitalone.eu ikigai-vienna.at ikigai-europe.com puvg.at puvg.de psychotherapie-weihsengruber.at seitenwind.at creativem.at muck.one beesecure.at siebenunddrei.com audiovision-eventtechnik.at crashncreate.com wizia.at waschfach.at ateliervagant.com; do domain=$(dig +short A mail-in.$a); printf "%s MX-Records: \n⤷%s\n====\n" "$a" "$domain"; done
|
|
||||||
filmkontor.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
sense-and-soul.at MX-Records:
|
|
||||||
⤷91.151.18.26
|
|
||||||
====
|
|
||||||
sense-and-soul.com MX-Records:
|
|
||||||
⤷91.151.18.26
|
|
||||||
====
|
|
||||||
mgoe.at MX-Records:
|
|
||||||
⤷91.151.18.28
|
|
||||||
====
|
|
||||||
mgoe.immo MX-Records:
|
|
||||||
⤷91.151.18.28
|
|
||||||
====
|
|
||||||
liahov.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
veronikastoeger.eu MX-Records:
|
|
||||||
⤷64.29.17.65
|
|
||||||
64.29.17.1
|
|
||||||
====
|
|
||||||
morningkind.com MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
audioraevents.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
bcg-papers.at MX-Records:
|
|
||||||
⤷91.151.18.29
|
|
||||||
====
|
|
||||||
lylynails.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
montafoner-wollwerkstatt-shop.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
hmvc.at MX-Records:
|
|
||||||
⤷91.151.18.34
|
|
||||||
====
|
|
||||||
martingansberger.com MX-Records:
|
|
||||||
⤷91.151.18.36
|
|
||||||
====
|
|
||||||
soleman.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
soleman-shoes.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
soleman-shoes.de MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
soleman-shoes.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
puventuregroup.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
puventuregroup.de MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
puventuregroup.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
globale-perspektive.at MX-Records:
|
|
||||||
⤷91.151.18.34
|
|
||||||
====
|
|
||||||
floraswebwerkstatt.at MX-Records:
|
|
||||||
⤷91.151.18.35
|
|
||||||
====
|
|
||||||
floraswebwerkstatt.com MX-Records:
|
|
||||||
⤷91.151.18.35
|
|
||||||
====
|
|
||||||
lechner-studios.de MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
parvinrazavi.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
parvinrazavi.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
fv16.lu MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
lenz-honorarberatung.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
lenz-honorarberatung.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
sieglspub.co.at MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
rheintalpraxis.ch MX-Records:
|
|
||||||
⤷91.151.18.35
|
|
||||||
====
|
|
||||||
rheintal-homöopathie.ch MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
synstro.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
medstro.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
tecstro.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
oefrd.eu MX-Records:
|
|
||||||
⤷91.151.18.30
|
|
||||||
====
|
|
||||||
hp-rohrreinigung.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
batjaferch.com MX-Records:
|
|
||||||
⤷91.151.18.36
|
|
||||||
====
|
|
||||||
6gforum.at MX-Records:
|
|
||||||
⤷185.3.235.176
|
|
||||||
====
|
|
||||||
rbl-consult.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
mozzarellaranch.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
agentsie.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
simoneammarkt.at MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
oglatz-fenster.at MX-Records:
|
|
||||||
⤷91.151.18.34
|
|
||||||
====
|
|
||||||
billboard-games.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
ai4u.at MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
secondunit.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
2ndunit.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
oscarperfume.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
vitalone.eu MX-Records:
|
|
||||||
⤷91.151.18.29
|
|
||||||
====
|
|
||||||
ikigai-vienna.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
ikigai-europe.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
puvg.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
puvg.de MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
psychotherapie-weihsengruber.at MX-Records:
|
|
||||||
⤷91.151.18.35
|
|
||||||
====
|
|
||||||
seitenwind.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
creativem.at MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
muck.one MX-Records:
|
|
||||||
⤷91.151.18.37
|
|
||||||
====
|
|
||||||
beesecure.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
siebenunddrei.com MX-Records:
|
|
||||||
⤷91.151.18.22
|
|
||||||
====
|
|
||||||
audiovision-eventtechnik.at MX-Records:
|
|
||||||
⤷91.151.18.28
|
|
||||||
====
|
|
||||||
crashncreate.com MX-Records:
|
|
||||||
⤷91.151.18.26
|
|
||||||
====
|
|
||||||
wizia.at MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
waschfach.at MX-Records:
|
|
||||||
⤷91.151.18.30
|
|
||||||
====
|
|
||||||
ateliervagant.com MX-Records:
|
|
||||||
⤷
|
|
||||||
====
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Optionen
|
|
||||||
|
|
||||||
```
|
|
||||||
Usage: ./<scriptname> [OPTIONS]
|
|
||||||
|
|
||||||
--help Zeigt diese Hilfe
|
|
||||||
--option Beispieloption
|
|
||||||
YYYY-MM-DD Beispiel für Datumsargument
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Beispielausgabe
|
|
||||||
|
|
||||||
```
|
|
||||||
Hier ein Beispieloutput des Skripts.
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Setup-Hinweise
|
|
||||||
|
|
||||||
Falls notwendig, Alias in `~/.bashrc` setzen:
|
|
||||||
```bash
|
|
||||||
alias <scriptname>='~/pfad/zum/repo/<legacy|wh20>/<scriptname>/<scriptname>'
|
|
||||||
```
|
|
||||||
|
|
||||||
Logger-spezifisch ggf. in `~/.profile` ergänzen:
|
|
||||||
```bash
|
|
||||||
cd /var/log/easyname/$(date +%Y)/$(date +%m)/
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
- Weitere Hinweise, Einschränkungen, Besonderheiten
|
|
||||||
- Ggf. bekannte Bugs oder ToDos
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
# Domainchecker für schnelle Prüfung der MX-Records
|
|
||||||
# Maintainer: peignerpausz
|
|
||||||
|
|
||||||
for a in domains
|
|
||||||
do domain=$(dig +short MX $a)
|
|
||||||
printf "%s MX-Records: \n⤷%s\n ⤷%s\n====\n" "$a" "$domain"
|
|
||||||
done
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
# Tool zum Schnellen prüfen mehrerer WordPress-Installationen
|
||||||
|
# Maintainer: peignerpausz
|
||||||
|
|
||||||
|
declare -a WORDPRESS=()
|
||||||
|
WORDPRESS="$(ls | grep wordpress)"
|
||||||
|
printf "Beginne Prüfung der Adminnutzer\n\n"
|
||||||
|
for wordpress in wordpress*/; do
|
||||||
|
[[ -d "$wordpress" ]] || continue
|
||||||
|
echo "Prüfe $wordpress"
|
||||||
|
userlist=$(php ~/bin/wp-cli.phar user list --role=administrator --path="$wordpress" 2>/dev/null)
|
||||||
|
if [[ -n "$userlist" ]]; then
|
||||||
|
printf "%s\n\n" "$userlist"
|
||||||
|
else
|
||||||
|
printf "Fehler bei %s\n\n" "$wordpress"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for uneasy in $(find html/. -type f -name "wp-config.php" -exec dirname {} \;); do
|
||||||
|
[[ -f "$uneasy" ]] || continue
|
||||||
|
echo "Prüfe $uneasy"
|
||||||
|
userlist2=$(php ~/bin/wp-cli.phar user list --role=administrator --path="$uneasy")
|
||||||
|
echo $userlist2
|
||||||
|
if [[ -n "$userlist2" ]]; then
|
||||||
|
printf "%s\n\n" "$userlist2"
|
||||||
|
else
|
||||||
|
printf "Fehler bei %s\n\n" "$uneasy"
|
||||||
|
fi
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user