CT-101 Samba: dark2devil-Korrektur, ACL-Abgleich und AGENTS.md-Grundwissen
- dark2devil (UID 1002) aus der gesamten deklarierten State entfernt: derselbe Benutzer wie debugofen (Betreiberklärung 2026-10-28); GNAI-019 Entscheidung 11 revidiert, gn-media-Mitgliedschaft nur ghost - Share-ACLs im Inventar an die live smb.conf angeglichen (GNAI-018 R4): admin users auf elf Shares ergänzt, write list Dokumente/Extern ergänzt, Serien2 ohne force user/group; Template [printers] um browseable=no ergänzt - passdb-Asserts und Audit-Loops auf die drei deklarierten Medien-User umgestellt; Platzhalterzahl 11; provision-Script-Hash aktualisiert - AGENTS.md (Repo-Root) um Grundwissen für Agenten ergänzt: ghost-agent-Convention, Account-Landscape/Inventory-Pfade, Operator-Run-Steps, LXC-Konventionen, Repo-Konventionen Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -10,8 +10,9 @@
|
||||
|
||||
CT 101 (`10.0.0.9`) ist der Samba-Dateiserver des Proxmox-Kontexts und trägt
|
||||
den Medienspeicher (Filme, Serien, Anime, Musik, Software, Downloads) auf
|
||||
mehreren Platten (`/media/daten1`, `/media/daten2`, `/media/daten3`,
|
||||
`/media/datenhdd2`, `/media/datenhdd3`). Bislang ist die LXC nicht im
|
||||
mehreren Platten (Mounts `/media/daten1`, `/media/daten2`,
|
||||
`/media/daten3`, `/media/datenhdd1`, `/media/datenhdd2/extern`,
|
||||
`/media/datenhdd3`; erfasst am 27.10.2026). Bislang ist die LXC nicht im
|
||||
Infrastructure-Repository verwaltet; am 19.10.2026 wurde beschlossen, sie
|
||||
aufzunehmen (Betreiberentscheidung).
|
||||
|
||||
@@ -26,9 +27,10 @@ offenen Punkte fest. Bestehende Shares bleiben unberührt.
|
||||
| Container-ID | CT 101 |
|
||||
| IPv4 | 10.0.0.9 |
|
||||
| Samba-Rolle | standalone server, Workgroup `Ghost.net` (aus `smb.conf`) |
|
||||
| SMB-Benutzer | `ghost`, `daidalaw`, `debugofen` |
|
||||
| SMB-Benutzer | `ghost`, `daidalaw`, `debugofen` (die passdb enthält zusätzlich den Alt-Eintrag `dark2devil`, UID 1002 — dieselbe Person wie `debugofen`, nicht deklariert; siehe Abschnitt 6.8 (e) und GNAI-019 Entscheidung 11) |
|
||||
| Betriebssystem | Debian 13 (trixie) seit In-Place-Upgrade durch den Betreiber am 21.10.2026 (manuell; nicht via `scripts/upgrade-ct101-to-debian13.sh`) |
|
||||
| Hostname | nicht erfasst — `preflight.yml` meldet ihn vor der Adoption (Inventory-Platzhalter `samba_expected_hostname`) |
|
||||
| Hostname | `Samba` (großgeschrieben; FQDN `Samba.fritz.box`), erfasst am 27.10.2026; Inventory-Platzhalter `samba_expected_hostname` |
|
||||
| Ressourcen-Profil | 1 CPU (cpuset), 2048 MiB RAM, 2048 MiB Swap, 4 GiB Rootfs (lxcfs-/cgroup-Werte im Gast, 27.10.2026) |
|
||||
|
||||
## 3. Bestand: Shares (aus `smb.conf`, Stand 19.10.2026)
|
||||
|
||||
@@ -37,7 +39,7 @@ offenen Punkte fest. Bestehende Shares bleiben unberührt.
|
||||
| `[homes]` | Home-Verzeichnisse | read-only, `valid users = %S` | Debian-Standard |
|
||||
| `[printers]` | `/var/tmp` | printable, read-only | **Abschnitt doppelt vorhanden** (siehe Abschnitt 6) |
|
||||
| `[print$]` | `/var/lib/samba/printers` | read-only | Druckertreiber |
|
||||
| `[Dokumente]` | `/media/daten1/Dokumente` | RO, nur `ghost` | — |
|
||||
| `[Dokumente]` | `/media/daten1/Dokumente` | RO, nur `ghost`, write `ghost` | — |
|
||||
| `[Filme]` | `/media/daten1/Filme` | RO, `ghost`/`daidalaw`/`debugofen`, write `ghost` | — |
|
||||
| `[Filme2]` | `/media/datenhdd3/Filme` | wie `[Filme]` | — |
|
||||
| `[Serien]` | `/media/daten2/Serien` | RO, alle drei, write `ghost` | `force user/group = root` |
|
||||
@@ -85,9 +87,12 @@ PVE-Skripte `scripts/upgrade-ct101-to-debian13.sh` (Adoption) und
|
||||
|
||||
- Gruppe `gn-media` mit **GID 970** auf CT-101 anlegen (identisch zu
|
||||
`ghostnet-ki`).
|
||||
- Benutzer `ghost` in `gn-media` aufnehmen: Schreib-/Löschrecht auf den
|
||||
Pipeline-Verzeichnissen, damit die Abholung per `mv` aus `[Encode]`
|
||||
funktioniert. `daidalaw`/`debugofen` optional für reinen Lesezugriff.
|
||||
- Benutzer `ghost` in `gn-media` aufnehmen (GNAI-018 R3):
|
||||
Schreib-/Löschrecht auf den Pipeline-Verzeichnissen, damit die Abholung per
|
||||
`mv` aus `[Encode]` und der `.dlc`-Drop in `[Encode-In]` funktionieren.
|
||||
`daidalaw`/`debugofen` benötigen keine Mitgliedschaft — reiner Lesezugriff
|
||||
genügt. **Korrektur 28.10.2026:** Die zunächst geplante Aufnahme von
|
||||
`dark2devil` entfällt (GNAI-019 Entscheidung 11 revidiert).
|
||||
- Die Platte `datenhdd3` erscheint im Monitoring über den NFS-Mount auf
|
||||
`ghostnet-ki` (Disk-Metrik des NFS-Exports, GNMON-001).
|
||||
|
||||
@@ -147,9 +152,12 @@ GNENC-002 Abschnitt 4): `input/`, `jd/`, `queue/`, `work/`, `output/`,
|
||||
`proxmox/lxc/ct-101-samba/` ist gebaut (Design in
|
||||
[GNAI-019](GNAI-019-DEC_Ansible-Migration.md), Requirements in
|
||||
[GNAI-018](GNAI-018-REQ_Encoding-Pipeline-Integration.md)) und lokal
|
||||
verifiziert (Syntax-Checks, Check-Mode-Smoke). **Ausstehend:** Adoption des
|
||||
produktiven LXC gemäß Runbook in `ansible/README.md` (Dist-Upgrade auf
|
||||
Debian 13, elf Inventory-Platzhalter, Schlüssel, Convergence, Verifikation).
|
||||
verifiziert (Syntax-Checks, Check-Mode-Smoke). **In Arbeit (Stand
|
||||
27.10.2026):** Adoption gemäß Runbook in `ansible/README.md` — Schlüssel
|
||||
installiert, SSH-Zugang für `ghost-agent` (UID 1004) und `ghost` (UID 1000)
|
||||
hergestellt; die elf Inventory-Platzhalter wurden am 27.10.2026 aus
|
||||
preflight/live gefüllt (alle drei Inventare byte-identisch); ausstehend:
|
||||
audit, bootstrap, Konvergenz, Verifikation.
|
||||
2. **`[printers]` doppelt** in der `smb.conf` — erledigt: Das Duplikat (inkl.
|
||||
Kommentarblöcke) ist im templated `smb.conf` bereinigt; `testparm` ist als
|
||||
`validate:`-Gate im Rollen-Flow verankert (GNAI-019 Entscheidung 7).
|
||||
@@ -158,7 +166,7 @@ GNENC-002 Abschnitt 4): `input/`, `jd/`, `queue/`, `work/`, `output/`,
|
||||
GNAI-019 Entscheidung 7).
|
||||
4. **Backup** — entschieden: `backup.yml` (one-shot) sichert `/etc/samba` und
|
||||
`/var/lib/samba` nach `/var/backups/ghostnet/samba/` vor der ersten
|
||||
Convergence; alle fünf Medien-Mounts tragen `backup=no`; das Upgrade-Skript
|
||||
Convergence; alle sechs Medien-Mounts tragen `backup=no`; das Upgrade-Skript
|
||||
fährt vor dem Dist-Upgrade einen `vzdump --mode stop` (GNAI-019 Entscheidung
|
||||
6). **Offen:** hostunabhängiger Restore-Test (GNAI-000 Abschnitt 4 Punkt 4).
|
||||
5. **System-Baseline** — erfasst: OS-Version (Debian 13 nach Upgrade, GNAI-019
|
||||
@@ -184,3 +192,62 @@ GNENC-002 Abschnitt 4): `input/`, `jd/`, `queue/`, `work/`, `output/`,
|
||||
den Verlust verhindert. Bei der kommenden Ansible-Adoption wird die
|
||||
`smb.conf` planmäßig durch das Template ersetzt (zusätzlich
|
||||
`[Encode]`/`[Encode-In]`, `[printers]` bereinigt).
|
||||
8. **Adoption (27.10.2026): Befunde und Korrekturen vor der Konvergenz** —
|
||||
erledigt: (a) Hostname erfasst: `Samba` (großgeschrieben, FQDN
|
||||
`Samba.fritz.box`); die Defaults in `samba_lxc_baseline` und
|
||||
`provision-ct101-samba.sh` standen fälschlich auf klein `samba` und wurden
|
||||
korrigiert (Rolle-Identity-Assert, Fresh-State-Rebuild). (b)
|
||||
`sys-kernel-config.mount` war auf CT 101 `failed` (configfs ist in
|
||||
unprivileged LXC nicht verfügbar); CT 100/102/103 maskieren die Unit seit
|
||||
ihrer Erstellung. Die Maske ist jetzt in `samba_lxc_baseline` und
|
||||
`provision-ct101-samba.sh` deklariert und wurde auf CT 101 manuell gesetzt
|
||||
(`preflight.yml` verlangt „no failed units"). (c) Das manuelle
|
||||
Dist-Upgrade vom 21.10. hatte den leeren `lxc.seccomp.profile:` nicht
|
||||
gesetzt (Seccomp-Filter aktiv, `Seccomp: 2`); am 27.10.2026 nachgetragen
|
||||
und per CT-Neustart wirksam (GNAI-019 Entscheidung 2). (d) Das Konto
|
||||
`ghost` hatte das Home-Feld `/home/ghost/` (Trailing Slash) und die Shell
|
||||
`/bin/false`; vor der Baseline auf `/home/ghost` und `/bin/bash`
|
||||
normalisiert (27.10.2026). (e) Konto `dark2devil` (UID 1002, Lars Peuser,
|
||||
Home `/home/dark2devil`, seit 11.03.2024) — **Korrektur 28.10.2026:** Der
|
||||
Betreiber klärte, dass `dark2devil` und `debugofen` (UID 1003) dieselbe
|
||||
Person sind und `debugofen` der valide Account ist; `dark2devil` ist ein
|
||||
Alt-Account. Die am 27.10.2026 beschlossene Gleichstellung mit `ghost`
|
||||
(GNAI-019 Entscheidung 11) wurde zurückgenommen: `dark2devil` ist nicht in
|
||||
`samba_media_users` deklariert, nicht Mitglied von `gn-media` und in keiner
|
||||
Share-ACL eingetragen (die live `smb.conf` nennt ihn nirgends). Konto und
|
||||
passdb-Eintrag bleiben auf der Adoption unangetastet (keine produktive
|
||||
Account-Löschung ohne ausdrückliche Betreiberentscheidung); optionaler
|
||||
Cleanup, Betreiberentscheidung: `smbpasswd -x dark2devil` auf CT 101.
|
||||
(f) Der private
|
||||
`ghost`-SSH-Key erhielt am 27.10.2026 eine Passphrase (GNAI-011 Abschnitt
|
||||
3.3); Entsperrung über den lokalen ssh-agent. (g) Mount-Topologie und
|
||||
Ressourcen-Profil erfasst (27.10.2026, nach dem Reboot): Sechs Medien-Mounts
|
||||
sind produktiv eingehängt — `/media/daten1`, `/media/daten2`,
|
||||
`/media/daten3` (btrfs), `/media/datenhdd1` (ext4, leer, Verzeichnis auf der
|
||||
Host-Root-Platte), `/media/datenhdd2/extern` (btrfs; die Extern-Platte ist
|
||||
am Unterverzeichnis eingehängt, nicht an `/media/datenhdd2` selbst) und
|
||||
`/media/datenhdd3` (btrfs). Die geplante Mount-Liste wich davon ab (fünf
|
||||
Einträge mit `/media/datenhdd2`) und wurde korrigiert: Inventory
|
||||
`samba_media_mount_points`, `samba_media`-Defaults,
|
||||
`provision-ct101-samba.sh` (mp0–mp5) und `upgrade-ct101-to-debian13.sh`
|
||||
(GNAI-019 entsprechend). Profil des produktiven CT: 1 CPU, 2048 MiB RAM,
|
||||
2048 MiB Swap, 4 GiB Rootfs — die Defaults in `provision-ct101-samba.sh`
|
||||
wurden darauf korrigiert (zuvor 2 Cores / 32 GiB / 1024 MiB Swap).
|
||||
`/media/datenhdd3/Encoding` existiert produktiv noch nicht; die Konvergenz
|
||||
legt es als `root:gn-media 2775` an (GNAI-019 Entscheidung 2). (h) Die
|
||||
Gruppe `gn-media` existiert produktiv noch nicht (GID 970 frei; `ghost`
|
||||
nicht Mitglied) — `samba_media` legt sie bei der Konvergenz an und nimmt
|
||||
`ghost` auf; `preflight.yml` toleriert das Fehlen (Report statt Abbruch).
|
||||
(i) **Share-ACLs gegen live abgeglichen (28.10.2026):** Das Inventory
|
||||
deklarierte die `admin users`-Zeilen der live `smb.conf` nicht (betroffen:
|
||||
Dokumente, Filme, Filme2, Serien2, Animation, Anime, Extern, Musik,
|
||||
Audiobooks, Software, Downloads), das `write list` von `[Dokumente]` und
|
||||
`[Extern]` fehlte, und `[Serien2]` trug ein `force user/group = root`, das
|
||||
live nicht existiert. Nach GNAI-018 R4 (funktionsgleicher Erhalt) deklariert
|
||||
das Inventory die ACLs nun exakt wie die live `smb.conf` (Erfassung
|
||||
28.10.2026); die Konvergenz ändert damit keine produktiven Share-Rechte
|
||||
außer der planmäßigen Ergänzung von `[Encode]`/`[Encode-In]`. Die
|
||||
Normalisierung `public = yes` → `guest ok = no` auf den Medien-Shares ist
|
||||
funktionsneutral (mit `valid users` ist Gastzugriff ohnehin verweigert).
|
||||
Ebenfalls angeglichen: `[printers]` trägt im Template nun `browseable = no`
|
||||
wie live (Sichtbarkeit im anonymen Listing).
|
||||
|
||||
@@ -20,9 +20,10 @@ und GNAI-018 R1. Es ist das Referenzdokument für das ausführende Projekt
|
||||
## 2. Ausgangslage und Randbedingungen
|
||||
|
||||
- Produktiver, unprivileged LXC (Proxmox VE), Debian 12 (bookworm), manuell
|
||||
verwaltet; Samba-Dateiserver mit 14 Shares auf fünf Host-Mounts
|
||||
(`/media/daten1`, `/media/daten2`, `/media/daten3`, `/media/datenhdd2`,
|
||||
`/media/datenhdd3`).
|
||||
verwaltet; Samba-Dateiserver mit 12 produktiven Shares auf sechs
|
||||
Host-Mounts (`/media/daten1`, `/media/daten2`, `/media/daten3`,
|
||||
`/media/datenhdd1`, `/media/datenhdd2/extern`, `/media/datenhdd3`) plus zwei
|
||||
geplanten Pipeline-Shares (`[Encode]`, `[Encode-In]`).
|
||||
- Produktiver Samba-State: `smb.conf` plus `/var/lib/samba` inkl.
|
||||
`private/passdb.tdb`; SMB-Benutzer `ghost`, `daidalaw`, `debugofen` mit
|
||||
produktiven Passwörtern.
|
||||
@@ -47,7 +48,7 @@ ist als Jinja2-Template im Repository gepflegt (Entscheidung 8).
|
||||
|
||||
**Begründung:**
|
||||
|
||||
- Der produktive Bestand umfasst gewachsene POSIX-Rechte auf fünf Host-Mounts
|
||||
- Der produktive Bestand umfasst gewachsene POSIX-Rechte auf sechs Host-Mounts
|
||||
und einen Samba-State (tdb/passdb). Ein Container-Wechsel würde die
|
||||
Datei- und ID-Mapping-Semantik verändern, ohne einen Sicherheitsgewinn zu
|
||||
bringen: Der LXC bleibt unprivileged, und Samba ist der Dienst, der die
|
||||
@@ -145,6 +146,9 @@ Reboot: `ghostnet-samba-nfs.service` statt `nfs-kernel-server`).
|
||||
`/usr/sbin/nologin` und ohne Home-Anlage).
|
||||
- Mitgliedschaft in `gn-media`: nur `ghost` (GNAI-018 R3). `daidalaw` und
|
||||
`debugofen` benötigen keine Mitgliedschaft — reiner Lesezugriff genügt.
|
||||
**Update 28.10.2026:** Die Gleichstellung von `dark2devil` wurde
|
||||
zurückgenommen (Entscheidung 11 revidiert) — `dark2devil` und `debugofen`
|
||||
sind dieselbe Person; nur `ghost` ist Mitglied von `gn-media`.
|
||||
|
||||
**Begründung:** Die UID-Stabilität ist Voraussetzung der Pipeline
|
||||
(AUTH_SYS-Credentials, `mv`-Abholung aus `[Encode]`, `.dlc`-Drop in
|
||||
@@ -183,7 +187,7 @@ Ziel generiert bzw. operator-seitig gesetzt).
|
||||
assertet das Vorhandensein dieses pre-migration Backups
|
||||
(`samba_verify_require_premigration_backup: true`; Fresh-State-Rebuild:
|
||||
`-e samba_verify_require_premigration_backup=false`).
|
||||
- **Medien-Mounts:** Alle fünf Mounts tragen `backup=no` — `vzdump` archiviert
|
||||
- **Medien-Mounts:** Alle sechs Mounts tragen `backup=no` — `vzdump` archiviert
|
||||
die Medienbibliothek nicht.
|
||||
- **Upgrade:** `scripts/upgrade-ct101-to-debian13.sh` fährt vor dem
|
||||
Dist-Upgrade einen `vzdump --mode stop --storage local --compress zstd` als
|
||||
@@ -236,7 +240,7 @@ genau so wieder auf. Der dokumentierte Ablauf (Runbook in
|
||||
`ansible/README.md`):
|
||||
|
||||
1. `scripts/provision-ct101-samba.sh` auf dem Proxmox-Host: frischer CT 101 aus
|
||||
einer Debian-13-Vorlage mit dem aufgezeichneten Profil, fünf Medien-Mounts
|
||||
einer Debian-13-Vorlage mit dem aufgezeichneten Profil, sechs Medien-Mounts
|
||||
(`backup=no`), leerer Seccomp-Eintrag, Baseline-Hook mit den
|
||||
aufgezeichneten Konto-UIDs.
|
||||
2. Operator auf der PVE-Konsole: `passwd ghost`, öffentliche Schlüssel aus
|
||||
@@ -245,8 +249,8 @@ genau so wieder auf. Der dokumentierte Ablauf (Runbook in
|
||||
3. Erster `site.yml`-Lauf mit `-e samba_smb_preserve_passdb=false`
|
||||
(`samba_media` legt fehlende Konten mit den aufgezeichneten UIDs an,
|
||||
`samba_smb` installiert Samba und die templated `smb.conf`).
|
||||
4. Operator: `smbpasswd -a` für `ghost`, `daidalaw`, `debugofen` (Secrets nie
|
||||
im Repo).
|
||||
4. Operator: `smbpasswd -a` für `ghost`, `daidalaw` und
|
||||
`debugofen` (Secrets nie im Repo).
|
||||
5. Zweiter `site.yml`-Lauf mit Default: volle passdb-Guardrails, erwartet
|
||||
`changed=0` (Idempotenz).
|
||||
6. `verify-production.yml` mit
|
||||
@@ -268,15 +272,35 @@ Debian 13); frische Paketbasis für die Migration; die Baseline-Rolle erwartet
|
||||
Debian 13.
|
||||
|
||||
**Ablauf (Skript):** Guards (CT läuft, unprivileged, Gast Debian 12, Dienste
|
||||
aktiv, IPv4, uid_map, `backup=no` auf allen fünf Mounts) → `vzdump --mode stop`
|
||||
aktiv, IPv4, uid_map, `backup=no` auf allen sechs Mounts) → `vzdump --mode stop`
|
||||
→ laufender Zustand gesichert (leerer Seccomp-Eintrag) → In-Guest-Upgrade
|
||||
(`bookworm` → `trixie` in deb822- und One-Line-Quellen, `dist-upgrade` mit
|
||||
`--force-confold` — hält die produktive `smb.conf`, `autoremove`,
|
||||
wtmpdb-Cleanup analog Baseline) → Reboot → Post-Verify (Debian 13, Dienste,
|
||||
keine failed units, Listener 22/139/445, anonyme `smbclient -L`-Abfrage,
|
||||
uid_map intakt, Seccomp deaktiviert, fünf Mounts eingehängt).
|
||||
uid_map intakt, Seccomp deaktiviert, sechs Mounts eingehängt).
|
||||
|
||||
## 13. Verworfene Alternativen
|
||||
## 13. Entscheidung 11: `dark2devil` — Alt-Account, keine Gleichstellung (revidiert 28.10.2026)
|
||||
|
||||
**Entscheidung (revidiert):** Die am 27.10.2026 beschlossene Gleichstellung
|
||||
von `dark2devil` mit `ghost` wird zurückgenommen. Der Betreiber klärte am
|
||||
28.10.2026, dass `dark2devil` (UID 1002) und `debugofen` (UID 1003) dieselbe
|
||||
Person sind (Lars Peuser) und `debugofen` der valide Account ist;
|
||||
`dark2devil` ist ein Alt-Account ohne produktive Share-Berechtigung (die live
|
||||
`smb.conf` nennt ihn nirgends). Konkret: `dark2devil` ist nicht in
|
||||
`samba_media_users` deklariert, nicht Mitglied von `gn-media` und in keiner
|
||||
Share-ACL eingetragen; die passdb-Asserts verlangen nur `ghost`, `daidalaw`
|
||||
und `debugofen`. Konto und passdb-Eintrag bleiben auf der Adoption
|
||||
unangetastet (keine produktive Account-Löschung ohne ausdrückliche
|
||||
Betreiberentscheidung). Optionaler Cleanup (Betreiberentscheidung, nicht Teil
|
||||
der Migration): `smbpasswd -x dark2devil` auf CT 101.
|
||||
|
||||
**Begründung:** Die Gleichstellung beruhte auf der Annahme, `dark2devil` sei
|
||||
ein aktiver privater Benutzer. Nach der Betreiberklärung ist die Person über
|
||||
den validen Account `debugofen` angebunden; eine zweite Identität für
|
||||
dieselbe Person auf Medien-/SMB-Ebene ist nicht erforderlich.
|
||||
|
||||
## 14. Verworfene Alternativen
|
||||
|
||||
| Alternative | Grund der Ablehnung |
|
||||
| --- | --- |
|
||||
@@ -287,7 +311,7 @@ uid_map intakt, Seccomp deaktiviert, fünf Mounts eingehängt).
|
||||
| SMB auch aus dem Admin-VPN (`10.8.0.0/24`) öffnen | Medien-Clients leben im LAN; Erweiterung ist ausdrückliche Betreiberentscheidung (GNAI-018 R7) |
|
||||
| Medien-Mounts mit `backup=yes` | `vzdump` würde die Medienbibliothek archivieren (Ressourcen, Datenschutz); `backup=no` plus gezieltes State-Backup (Entscheidung 6) |
|
||||
|
||||
## 14. Auswirkungen auf GNAI-017 und GNAI-018
|
||||
## 15. Auswirkungen auf GNAI-017 und GNAI-018
|
||||
|
||||
- **GNAI-017 Abschnitt 4.1** (`nfs-kernel-server`, `/etc/exports`) ist durch
|
||||
Entscheidung 2 und 3 überholt und wird entsprechend aktualisiert.
|
||||
@@ -304,16 +328,36 @@ uid_map intakt, Seccomp deaktiviert, fünf Mounts eingehängt).
|
||||
(Entscheidung 5), Backup-Ziel `/var/backups/ghostnet/samba/` plus vzdump im
|
||||
Upgrade-Skript (Entscheidung 6), `usershare allow guests` beibehalten
|
||||
(Entscheidung 7), System-Baseline via preflight-Platzhalter (Entscheidung 9).
|
||||
- **GNAI-017 Abschnitt 1/2** (Mount-Topologie): korrigiert auf die sechs
|
||||
produktiv eingehängten Mounts (inkl. `/media/datenhdd1` und
|
||||
`/media/datenhdd2/extern`); `provision-ct101-samba.sh` attachiert `mp0`–`mp5`
|
||||
mit dem aufgezeichneten Profil (1 CPU, 2048 MiB RAM, 2048 MiB Swap, 4 GiB
|
||||
Rootfs).
|
||||
- **Korrektur 28.10.2026 (GNAI-018 R4):** GNAI-017 Abschnitt 2
|
||||
(SMB-Benutzer-Tabelle) und Abschnitt 4.2 (`gn-media`-Mitgliedschaft) werden
|
||||
korrigiert — `dark2devil` ist nicht deklariert (Entscheidung 11
|
||||
revidiert). Das Inventory deklariert die Share-ACLs exakt wie die live
|
||||
`smb.conf` (inkl. `admin users` auf elf Shares, `write list` auf
|
||||
`[Dokumente]`/`[Extern]`; `[Serien2]` ohne `force user/group`), damit die
|
||||
Konvergenz keine produktiven Share-Rechte ändert.
|
||||
|
||||
## 15. Offene Punkte
|
||||
## 16. Offene Punkte
|
||||
|
||||
1. Adoption des produktiven CT 101 gemäß Runbook in
|
||||
`proxmox/lxc/ct-101-samba/ansible/README.md` (erfordert Betreiber-Autorisierung).
|
||||
2. Elf Inventory-Platzhalter mit den Ist-Werten füllen (`preflight.yml` /
|
||||
`audit-production.yml` liefern sie).
|
||||
`audit-production.yml` liefern sie) — **erledigt 27.10.2026**: preflight und
|
||||
Live-Abfragen lieferten die Werte; alle drei Inventare sind byte-identisch
|
||||
gefüllt (Hostname `Samba`, 1 vCPU, 2048 MiB RAM, Rootfs-Mindestwerte
|
||||
4 GB/1 GB, Medien-UIDs 1000/1001/1003 — der Alt-Account `dark2devil`,
|
||||
UID 1002, ist nicht deklariert, siehe Entscheidung 11 —, admin 1000,
|
||||
agent 1004, deploy 1005).
|
||||
3. Drei Ed25519-Schlüsselpaare generieren (Operator); nur die öffentlichen
|
||||
Schlüssel liegen im Repo unter `ansible/files/ssh/`.
|
||||
4. Dist-Upgrade auf Debian 13 ausführen (`scripts/upgrade-ct101-to-debian13.sh`).
|
||||
Schlüssel liegen im Repo unter `ansible/files/ssh/` — **erledigt**: agent und
|
||||
deploy ohne Passphrase, ghost mit Passphrase (GNAI-011 Abschnitt 3.3).
|
||||
4. Dist-Upgrade auf Debian 13 ausführen (`scripts/upgrade-ct101-to-debian13.sh`) —
|
||||
**erledigt 21.10.2026**, manuell durch den Betreiber (GNAI-017 Abschnitt 6
|
||||
Punkt 7).
|
||||
5. Reboot-Test nach der Convergence (GNAI-016 Abschnitt 7, LXC-boot_id-Caveat).
|
||||
6. Hostunabhängiger Backup-/Restore-Test (GNAI-000 Abschnitt 4 Punkt 4).
|
||||
7. Kapazitäts-Monitoring der daten-Platten auf CT 101 (GNAI-017 Abschnitt 6
|
||||
|
||||
Reference in New Issue
Block a user