README.md hinzugefügt
README hinzugefügt
This commit is contained in:
100
README.md
Normal file
100
README.md
Normal file
@ -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 <Datei1> [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)
|
||||||
Reference in New Issue
Block a user