bash--> chmod aus aktuellem Anlass, Vokabel pa mit Zeitformen
This commit is contained in:
@@ -8,4 +8,82 @@ done
|
|||||||
|
|
||||||
## Löschen von Leerzeichen in Dateinamen und Ersetzen mit _
|
## 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
|
||||||
+1
-1
@@ -68,7 +68,7 @@ var/a, är, -, -it sein
|
|||||||
vet/a, -, visste, -at wissen
|
vet/a, -, visste, -at wissen
|
||||||
åk/a, -er, -te, -t fahren (passiv)
|
åk/a, -er, -te, -t fahren (passiv)
|
||||||
låsa schliessen
|
låsa schliessen
|
||||||
få bekommen
|
få bekommen (få/få/får/fick/fått)
|
||||||
vad Was
|
vad Was
|
||||||
hur Wie
|
hur Wie
|
||||||
var Wo
|
var Wo
|
||||||
|
|||||||
Reference in New Issue
Block a user