diff --git a/README.md b/README.md new file mode 100644 index 0000000..4e71c66 --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# 🛡️ Sicheres Bash-Setup mit Sperrfunktion und Papierkorb + +Dieses Repository enthält zwei nützliche Skripte zur sicheren Nutzung und Verwaltung Ihrer `.bashrc` unter Linux: + +1. **`.bashrc`** – mit nützlichen Aliases, Funktionen und einem sicheren `del`-Papierkorb. +2. **`lock_unlock_bashrc.sh`** – schützt Ihre `.bashrc` mit `chattr +i` vor versehentlichen Änderungen und bietet ein komfortables Menü zur Bearbeitung. + +--- + +## 📁 Inhalt + +### `.bashrc` + +#### 🔐 Schutzmechanismus + +- `.bashrc` kann durch das zweite Skript (`lock_unlock_bashrc.sh`) vor Änderungen geschützt werden (mit `chattr +i`). +- Der Benutzer kann sie gezielt entsperren, editieren und anschließend wieder sperren. + +#### 🗑️ Papierkorb-System (`del` und `purge`) + +- **`del [Datei2] ...`** + Verschiebt Dateien/Ordner in ein Tagesverzeichnis unter `~/.Müll/YYYY-MM-DD`. + Kein versehentliches Löschen mehr! + +- **`purge`** + Interaktive Löschroutine zum endgültigen Entfernen des Papierkorbs. + +> ✅ Vorteil: Kein direktes Löschen mit `rm`, sondern sicheres Verschieben. Das Standard-`rm` wird durch einen Hinweis ersetzt. + +#### ⚙️ Eigene Anpassungen + +Die `.bashrc` enthält einen markierten Bereich für eigene Pfade und Aliases: + +```bash +#################### hier bitte anpassen !!! #################### +K_PFAD="$HOME" +GIT_PFAD="$HOME/Dokumente/Gitea" +#################### Anpassungen Ende #################### +``` + +#### 📌 Aliases und Funktionen + +Beispielhafte Aliases: +- `sshpc4`, `sshpi`, `sshmedia`, `sshroot`, `ssher` +- `spzssh` – bindet SSHFS-Verzeichnis +- `sshlogin` – startet ein SSH-Login-Skript mit Zertifikat + +--- + +### `lock_unlock_bashrc.sh` + +#### 🧷 Zweck + +Schützt Ihre `.bashrc` mit dem Attribut `immutable` (`chattr +i`) vor versehentlichen Änderungen. Bietet ein simples Menü zum: + +- **Sperren** (`LOCK`) +- **Entsperren & Bearbeiten** (`UNLOCK`) +- **Entsperren & Beenden** (`UNLOCK and End`) +- **Neu einlesen der `.bashrc`** +- **Beenden** + +#### 📋 Bedienung + +```text +1 = LOCK +2 = UNLOCK und Editieren +22= UNLOCK und Ende +3 = .bashrc neu einlesen +0 = Ende +``` + +> ⚠️ Für das Sperren und Entsperren ist `sudo` erforderlich, da `chattr` Root-Rechte benötigt. + +--- + +## 🛠️ Voraussetzungen + +- Linux-System mit `bash` +- `chattr` (Teil von `e2fsprogs`, normalerweise vorinstalliert) +- Optional: `sshfs`, `nano`, `ls`, `rm`, `mv` + +--- + +## 🔐 Sicherheitshinweise + +- Ein mit `chattr +i` geschütztes File kann **nicht** verändert oder gelöscht werden – auch nicht versehentlich! +- Stellen Sie sicher, dass Sie das Skript `lock_unlock_bashrc.sh` behalten, um die `.bashrc` wieder entsperren zu können. + +--- + +## 📎 Lizenz + +Dieses Projekt steht unter keiner spezifischen Lizenz. Nutzung auf eigene Verantwortung. + +--- + +## 👤 Autor + +**Alf Oberkoetter** +[GitHub: trevor1969](https://github.com/trevor1969) \ No newline at end of file