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


Antworten:


32

In PublicIhrem Basisverzeichnis ( /home/user) befindet sich ein Ordner, in dem Sie Dateien für andere Benutzer freigeben können. Wenn ein anderer Benutzer auf diesen PublicOrdner zugreifen möchte , sollte das Ausführungsbit für die Welt im Basisverzeichnis festgelegt werden.

Wenn Sie anderen nicht erlauben müssen, auf Ihren privaten Ordner zuzugreifen (andere Personen oder Benutzer wie www-databei einem Webserver), können Sie chmod o-rwx "$HOME""andere" verwenden (Lese- / Schreib- / Ausführungsrechte entfernen, chmod 750 "$HOME"da die Standardberechtigung 750 beträgt) ). Andernfalls sollten Sie auch die umaskEinstellung ä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 konfiguriert werden ~/.profile. Ich bevorzuge die gleiche Richtlinie für alle Benutzer, daher bearbeite ich die /etc/profileDatei und füge die Zeile an:

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 027in der Shell ausgeführt werden.

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 ~/PublicOrdner für alle freigeben möchten, führen Sie die folgenden Befehle aus:

  • chmod o+x ~- Erlaube jedem, in das Verzeichnis ( x) abzusteigen , bekomme aber keine Verzeichnisliste ( rsollte nicht hinzugefügt werden)
  • find ~/Public -type f -exec chmod o+r {} \; - Erlauben Sie jedem, die Dateien einzulesen ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - Erlauben Sie jedem, in Verzeichnisse zu gelangen und deren Inhalte aufzulisten

Wenn Sie GNU-Coreutils verwenden (z. B. unter Ubuntu, nicht nur auf einem eingebetteten System mit busybox), können die beiden vorherigen Befehle mithilfe von findund chmoddurch diesen einzigen Befehl ersetzt werden, der Ordner und Dateien rekursiv lesbar macht (und zusätzlich den Befehl execute (descend) hinzufügt. Bit für Verzeichnisse nur ):

chmod -R o+rX ~/Public


7

Nach 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.


12
Ich denke, dass das gleiche Verhalten in der Server Edition eine Sicherheitslücke darstellt
warvariuc

4
Das ist eine verrückte Erklärung. Abgesehen von Personenkonten gibt es technische Konten, mit denen Personen Anwendungen isolieren können. Darüber hinaus finden Sie zahlreiche Anweisungen zum Einrichten eines lokalen FTP-Servers, der im Wesentlichen das Konto auf dem Computer teilt.
Barafu Albino

4
Ich weiß, dass dies ein alter Thread ist, aber halte dies für eine dumme Entscheidung. Stellen Sie sich vor, einer der Benutzer führt eine App / ein Skript aus (kann unbeabsichtigt ausgeführt werden), die / das in der Lage ist, Dateien von jedem anderen Profil aus zu lesen und zu senden.
Mauron85


1

Ich denke, Lekensteyns Antwort 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.


0

Da Sie die Privatsphäre interessiert (nach den verwendeten Tags zu urteilen), ist es sehr wahrscheinlich, dass die Einstellungsberechtigungen nicht ausreichen (siehe die Antwort von ignis ). Die Antwort könnte in etwa so aussehen wie in einem verschlüsselten Home-Verzeichnis . Diese Lösung wurde speziell gegen den Angriff eines anderen Benutzers eines Computers entwickelt. Es ist natürlich nicht möglich, einen anderen Benutzer daran zu hindern, Ihre Dateien zu beschädigen (indem Sie einfach das ~/.PrivateVerzeichnis entfernen und so alle Ihre Dateien löschen), aber er kann das Verzeichnis nicht mounten und die Dateien ohne Ihr Kennwort anzeigen.

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

-1

Wenn Sie wirklich ein hohes Maß an Sicherheit benötigen: Bitte installieren Sie es neu und wählen Sie die Option zum Verschlüsseln der gesamten Festplatte. Dies erfordert eine Passphrase, um den Computer überhaupt zu starten. Darüber hinaus können Sie natürlich auch Ihren privaten Ordner noch einmal verschlüsseln, was zu Leistungseinbußen führen kann. bei normalem einsatz jedoch nicht auffällig.

Bitte beachten Sie, dass durch die Verschlüsselung Ihres privaten Ordners Anwendungen wie Dropbox deaktiviert werden. Dropbox ist kein sicherer Speicher, der die Privatsphäre respektiert, so dass dies ein banaler Punkt sein kann. Wenn Sie jedoch eine sichere und private Speicherung in der Cloud benötigen, würde ich MEGAsync persönlich empfehlen, da nur Sie die Schlüssel für den Zugriff auf die Daten haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.