100 lines
2.8 KiB
Markdown
100 lines
2.8 KiB
Markdown
# 🛡️ 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) |