Ich habe missbraucht sudo
.
Ich habe ein temporäres Verzeichnis mit sehr kurzer Lebensdauer erstellt, das ich für ein paar Stunden mit einigen Benutzern teilen wollte ... und dieses Verzeichnis habe ich benannt /some/path/tmp
Leider habe ich sudo chown 777 -R /tmp
statt gestartet sudo chown 777 -R tmp
, so dass meine /tmp
Datei jetzt komplett öffentlich ist.
Ich benutze das Common /tmp
ziemlich oft (jeden Tag, fast jede Stunde) persönlich für Short Life-Dateien, Skripte, viele Skripte.
Ist es ein Sicherheitsbedenken, dass es nun vollständig öffentlich ist? Sollte ich es wieder in sicherere Einstellungen ändern oder die üblichen Standardeinstellungen für eine Debian- oder Ubuntu-Distribution verwenden - (ich weiß nicht, welche)? Wofür sind die richtigen Berechtigungen /tmp
?
quelle
chown
oderchmod
?chmod
. chown (wie ch - own) handelt vom Besitz von Dateien, die dem Benutzer gehören. Bei chmod (wie ch-modifify) geht es eher darum, wer eine Datei ausführen, in sie schreiben oder den Inhalt lesen kann.chown 777
, um dem Benutzer mit der ID 777 das Eigentumsrecht für eine Datei zuzuweisen. Alle Antworten, einschließlich der akzeptierten, funktionieren jedochchmod
. Da alle von ihnen die Berechtigung für alle Benutzer (Eigentümer, Gruppe, andere) auf den gleichen Wert setzen, sind die meisten Auswirkungen des Dateieigentums irrelevant. Der richtige Befehl zum Korrigieren des Ergebnissessudo chown 777 -R /tmp
sollte jedoch lautensudo chown root -R /tmp
.Antworten:
Die normalen Einstellungen für
/tmp
sind 1777, wasls
wie folgt aussiehtdrwxrwxrwt
. Das heißt: weit offen, mit der Ausnahme, dass nur der Eigentümer einer Datei sie entfernen kann (dast
bedeutet dieses zusätzliche Bit für ein Verzeichnis).Das Problem bei einem
/tmp
mit Modus 777 ist, dass ein anderer Benutzer eine von Ihnen erstellte Datei entfernen und den Inhalt seiner Wahl ersetzen kann.Wenn
/tmp
es sich um ein tmpfs-Dateisystem handelt, wird durch einen Neustart alles wiederhergestellt. Andernfalls führen Sie auschmod 1777 /tmp
.Außerdem müssen viele Dateien
/tmp
privat sein. Mindestens ein Verzeichnis muss jedoch unbedingt für die ganze Welt lesbar sein:/tmp/.X11-unix
und möglicherweise auch einige andere ähnliche Verzeichnisse (/tmp/.XIM-unix
usw.). Der folgende Befehl sollte vor allem Abhilfe schaffen:Dh alle Dateien und Verzeichnisse privat machen (alle Berechtigungen für Gruppen und andere entfernen), aber die X11-Sockets für alle zugänglich machen. Die Zugriffssteuerung für diese Sockets wird vom Server und nicht von den Dateiberechtigungen erzwungen. Möglicherweise müssen andere Steckdosen öffentlich verfügbar sein. Suchen Sie
find /tmp -type s -user 0
unter "root" nach Sockets, die Sie möglicherweise benötigen, um den Zugriff auf die Welt zu ermöglichen. Es kann auch Sockets geben, die anderen Systembenutzern gehören (z. B. um mit einem Systembus zu kommunizieren). erkunden Sie mitfind /tmp -type s ! -user $UID
(wo$UID
ist Ihre Benutzer-ID).quelle
go-rwx
: keine Berechtigungen für Gruppen und andere. Dies setzt die Berechtigungen aufrwx------
(mit Ausnahme der Dateien, die erstellt wurden, da siechmod
möglicherweise weniger Berechtigungen haben, zrw-------
. B. ). Mit anderen Worten, auf die Dateien kann nur der Eigentümer zugreifen./tmp/.[!.]*
soll Punktedateien enthalten, die üblicherweise in vorhanden sind/tmp
./tmp
und/var/tmp
sollte Lese-, Schreib- und Ausführungsrechte für alle haben; Normalerweise würden Sie jedoch auch das Sticky-Bit (o+t
) hinzufügen , um zu verhindern, dass Benutzer Dateien / Verzeichnisse entfernen, die anderen Benutzern gehören. Sollte alsochmod a=rwx,o+t /tmp
funktionieren.Was das rekursive Ändern von Berechtigungen betrifft ... Solange der Eigentümer / die Gruppe so bleibt wie die Dateien und Verzeichnisse, sollte es kein so großes Problem sein. Sie können jedoch möglicherweise die Berechtigung für alles unter
/tmp
(nicht / tmp selbst) ändern , um die Privatsphäre der Benutzer zu gewährleisten, indem Sie dierx
Rechte anderer und möglicherweise der Gruppe entfernen .Suchen ist eine gute Möglichkeit, dies zu tun. Tun Sie als root Folgendes:
quelle
/tmp/.X11-unix/*
Lesbarkeit der Welt verbessern, da Sie sonst keine X-Anwendungen mehr starten können.chmod a=rwX,o+t /tmp -R
sollte diefind
Magie tun .Von einer CentOS 5.9-Maschine.
quelle