From 9094f2c50e8bf5086cf9ec85f3f98e4b73dd2377 Mon Sep 17 00:00:00 2001 From: Riwoldt Date: Fri, 8 May 2026 12:17:20 +0200 Subject: [PATCH] bash--> chmod aus aktuellem Anlass, Vokabel pa mit Zeitformen --- Bash.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++- Vokabeln.txt | 2 +- 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/Bash.md b/Bash.md index 59e0155..36573c4 100644 --- a/Bash.md +++ b/Bash.md @@ -8,4 +8,82 @@ done ## Löschen von Leerzeichen in Dateinamen und Ersetzen mit _ -`for f in *\ *; do mv ”$f” ”${f// /_}”; done` \ No newline at end of file +`for f in *\ *; do mv ”$f” ”${f// /_}”; done` + +## chmod + chmod ugo user/group/other + chmod g+ws --> die Gruppe bekommt Schreibrechte und das setgid wird gesetzt + Numerisch 2755 = rwxr-Sr-x + +chmod g+s → setgid + execute (s) +chmod g+S → nur setgid, ohne execute (S) +Das heisst kleines s wenn auch x gesetzt ist, groß s ohne execute (cper chmod kann man nur ein kleines s setzen) + + +Beispiel: + +Ohne setgid: + +/projekt +├── alice erstellt datei1 → Gruppe: alice +└── bob erstellt datei2 → Gruppe: bob + +Mit setgid: + +/projekt +├── alice erstellt datei1 → Gruppe: projektteam +└── bob erstellt datei2 → Gruppe: projektteam + +Das verhindert dauerndes: + +chgrp projektteam datei + + +Wann nutzt man das setgid konkret? + +Sehr sinnvoll für: + +gemeinsame Entwickler-Verzeichnisse +Team-Ordner auf Servern +Webserver-Verzeichnisse +geteilte Upload-/Projektbereiche + +Es gibt drei spezielle Bits: + +u+s → setuid (User-ID) +g+s → setgid (Group-ID) +o+t → sticky bit + +Beispiele: + +chmod u+s datei # setuid +chmod g+s datei # setgid +chmod +t verzeichnis # sticky bit + +In ls -l erscheinen sie an unterschiedlichen Stellen: + +-rwsr-sr-t + ^ ^ ^ + | | └─ sticky bit (others) + | └──── setgid (group) + └─────── setuid (user) + +Also: +setgid heißt wörtlich "set group ID", daher gibt es kein u+g-Äquivalent oder so – es ist fest an die Gruppenrechte gekoppelt. + +Die Logik ist: + +setuid → Prozess übernimmt Besitzer-ID +setgid → Prozess übernimmt Gruppen-ID +sticky → Sonderregel für Verzeichnisse (z. B. /tmp) + +a+x oder ugo+x Eine Datei für alle Nutzer ausführbar machen. +u+r Der Eigentümer darf (zusätzlich zu vorhandenen Rechten) lesen. +a+w oder ugo+w Alle dürfen zusätzlich zu vorhandenen Rechten schreiben. +g-w Der Gruppe werden die Schreibrechte entzogen. +o=r Andere Benutzer dürfen nur lesen, nicht schreiben oder ausführen. +g=rw Die Gruppe darf nur lesen und schreiben, ein eventuell vorhandenes Ausführungsrecht wird entfernt. +u+s Setzt das SetUID-Bit + + +## Nächstes Thema - Platzhalter \ No newline at end of file diff --git a/Vokabeln.txt b/Vokabeln.txt index 8b12677..cd15632 100644 --- a/Vokabeln.txt +++ b/Vokabeln.txt @@ -68,7 +68,7 @@ var/a, är, -, -it sein vet/a, -, visste, -at wissen åk/a, -er, -te, -t fahren (passiv) låsa schliessen -få bekommen +få bekommen (få/få/får/fick/fått) vad Was hur Wie var Wo