bash--> chmod aus aktuellem Anlass, Vokabel pa mit Zeitformen

This commit is contained in:
Riwoldt
2026-05-08 12:17:20 +02:00
parent a2eaf5252a
commit 9094f2c50e
2 changed files with 80 additions and 2 deletions
+79 -1
View File
@@ -8,4 +8,82 @@ done
## Löschen von Leerzeichen in Dateinamen und Ersetzen mit _
`for f in *\ *; do mv ”$f” ”${f// /_}”; done`
`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