Files
2026-05-17 19:22:52 +02:00

2.3 KiB
Raw Permalink Blame History

Hilfreiche Bash-Schnipsel

Dateien mit anderer Endung versehen

do
 mv ”$datei” ”{$datei%.tif}.pdf” 
done

Löschen von Leerzeichen in Dateinamen und Ersetzen mit _

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

Netzwerk

Abfrage der offenen Ports

ss -lant

Nächstes Thema - Platzhalter