it-swarm.com.de

Warum können andere Benutzer die Dateien in meinem privaten Ordner sehen?

Ich habe gerade einen neuen, unterprivilegierten "Desktop-Benutzer" hinzugefügt und war überrascht, dass er die Dateien in meinem Home-Ordner sehen kann.

Was ist der Grund für das Einrichten solcher laxen Berechtigungen?

36
ændrük

In Ihrem Basisverzeichnis (/home/user) ist ein Ordner Public vorhanden, in dem Sie Dateien für andere Benutzer freigeben können. Wenn ein anderer Benutzer Zugriff auf diesen Ordner Public erhalten möchte, sollte das Ausführungsbit für die Welt im Basisverzeichnis festgelegt werden.

Wenn Sie nicht zulassen müssen, dass andere Benutzer auf Ihren privaten Ordner zugreifen (andere Benutzer oder Benutzer wie www-data für einen Webserver), ist chmod o-rwx "$HOME" in Ordnung (entfernen Sie "Lesen/Schreiben/Ausführen" von "Andere") ", entspricht chmod 750 "$HOME", da die Standardberechtigung 750 ist). Andernfalls sollten Sie die Einstellung umask ebenfalls ändern, um zu verhindern, dass neu erstellte Dateien standardmäßig Leseberechtigungen für die Welt erhalten.

Bearbeiten Sie für eine systemweite Konfiguration /etc/profile; Benutzereinstellungen können in ~/.profile konfiguriert werden. Ich bevorzuge die gleiche Richtlinie für alle Benutzer, daher bearbeite ich die Datei /etc/profile und füge die folgende Zeile hinzu:

umask 027

Sie müssen sich erneut anmelden, um diese Änderungen zu übernehmen, es sei denn, Sie befinden sich in einer Shell. In diesem Fall können Sie umask 027 in der Shell ausführen.

Um die vorhandenen Berechtigungen zu korrigieren, müssen Sie die Lese-/Schreib-/Ausführungsberechtigungen von anderen entfernen:

chmod -R o-rwx ~

Wenn Sie nun den Ordner ~/Public für alle freigeben möchten, führen Sie die folgenden Befehle aus:

  • chmod o+x ~ - Erlaube jedem, in das Verzeichnis (x) abzusteigen, erhalte aber keine Verzeichnisliste (r sollte nicht hinzugefügt werden)
  • find ~/Public -type f -exec chmod o+r {} \; - Erlaubt jedem, die Dateien in ~/Public zu lesen.
  • find ~/Public -type d -exec chmod o+rx {} \; - Ermöglicht jedem, in Verzeichnisse zu gelangen und deren Inhalt aufzulisten

Wenn Sie GNU coreutils verwenden (z. B. unter Ubuntu, nicht auf einem eingebetteten System mit nur busybox), können die beiden vorherigen Befehle mit find und chmod durch diesen einzigen Befehl ersetzt werden, der Ordner und Dateien rekursiv lesbar macht (und fügt zusätzlich das Ausführungsbit (absteigend) für Verzeichnisse hinzu nur ):

chmod -R o+rX ~/Public
31
Lekensteyn

Laut einem buntuforms.org-Mitarbeiter soll es einfacher sein, Dateien für neue Benutzer freizugeben.

Sie können die Berechtigung auf 700 oder 750 ändern, wenn Sie nicht möchten, dass die Dateien von anderen gelesen und ausgeführt werden können.

Befehl ist:

chmod 750 $HOME

Hinweis: Ubuntu Standard ist 755

12
Jason Iverson

Laut Mark Shuttleworth ,

"Die Mehrheit der Benutzer von Ubuntu-Systemen hat entweder die ausschließliche Verwendung der Maschine (persönlicher Laptop) oder teilt sie mit Freunden und Verwandten. Wir gehen davon aus, dass die Personen, die die Maschine teilen, entweder vertrauenswürdig sind oder in der Lage sind, die Maschine zu hacken (booten) von USB!) trivial. Als Ergebnis gibt es wenig bis gar keinen Nutzen "

... diese Berechtigungen zu entfernen.

6
ignis

Sie können den Abschnitt User Management im Ubuntu Server Guide lesen. -) die die notwendigen Details abdeckt. Der Absatz User Profile Security wird Ihre Fragen wahrscheinlich offiziell beantworten.

5
Pavlos G.

Ich denke, die Antwort von Lekensteyn kann verbessert werden, indem die letzten beiden Suchbefehle mit der Option -X durch chmod ersetzt werden (beachten Sie das große X). Die beiden Suchbefehle können durch ersetzt werden

chmod -R o+rX ~/Public

Dies unterscheidet in geeigneter Weise zwischen Dateien und Verzeichnissen, hat jedoch den zusätzlichen Effekt, dass andere ausführbare Dateien ausführen können.

1
spinup

Da Sie die Privatsphäre interessiert (nach den verwendeten Tags zu urteilen), ist es sehr wahrscheinlich, dass die Einstellungsberechtigungen nicht ausreichen (siehe ignis's answer ). Die Antwort könnte etwa so aussehen wie ein verschlüsseltes Home-Verzeichnis . Diese Lösung wurde speziell gegen den Angriff eines anderen Benutzers eines Computers entwickelt. Es wird natürlich nicht möglich sein, einen anderen Benutzer daran zu hindern, Ihre Dateien zu beschädigen (indem Sie einfach das Verzeichnis ~/.Private entfernen und somit alle Ihre Dateien löschen), aber er wird nicht in der Lage sein, das Verzeichnis einzuhängen und die Dateien ohne Ihr zu sehen Passwort.

Der einfachste Weg, dies zu erreichen, ist während des Installationsprozesses, es gibt ein Kontrollkästchen mit der Aufschrift "Verschlüsseln Sie Ihr Home-Verzeichnis" und Sie müssen dies auswählen.

Da es unwahrscheinlich ist, dass Sie nur aus diesem Grund eine Neuinstallation durchführen möchten (und da dies immer noch alle Risiken birgt, die mit einer Neuinstallation verbunden sind), können Sie Folgendes tun:

Sudo apt-get install encryptfs-utils
encryptfs-migrate-home
0
v010dya