Wir haben RH-basierte Linux-Images. auf die ich ein "spezielles Archiv" "anwenden" muss, um sie auf die neueste Entwicklungsversion unseres Produkts zu aktualisieren.
Die Person, die das Archiv erstellt hat, hat festgestellt, dass in unserem Basis-Image einige Berechtigungen falsch sind. Also wurde uns gesagt, wir sollen rennen
sudo chgrp -R nobody /whatever
Wir haben das gemacht; und später, wenn unsere Anwendung ausgeführt wird, traten dunkle Probleme auf.
Was ich später auf: der Aufruf an chgrp wird klar die setuid Bit Informationen über unsere Programme in / was auch immer.
Und das eigentliche Problem ist: Einige unserer Binärdateien müssen dieses Setuid-Bit gesetzt haben, um richtig zu funktionieren.
Lange Rede, kurzer Sinn: Gibt es eine Möglichkeit, diesen "chgrp" -Befehl auszuführen, ohne meine Setuid-Bits zu töten?
Ich habe gerade Folgendes auf meinem lokalen Ubuntu ausgeführt: was zum gleichen Ergebnis führt:
mkdir sticky
cd sticky/
touch blub
chmod 4755 blub
ls -al blub
-> zeigt mir den Dateinamen mit rotem Hintergrund -> also, yep, setuid
chgrp -R myuser .
ls -al blub
-> zeigt mir den Dateinamen ohne roten Hintergrund -> setuid ist weg
setuid
Bit, nicht das sticky
Bit. (2) Löschen Sie das setuid
Bit nicht, wenn Sie ein Sicherheitsproblem haben chgrp
oder dies chown
wäre.
4XXX
Bit heißt setuid bit (s
) und ist nicht klebrig. Sticky ist dast
bisschen und sein Zweck ist ein wenig anders: en.wikipedia.org/wiki/Sticky_bit