Wie kann ich einen Ordner freigeben, wenn Home verschlüsselt ist und 700 hat?

Wie kann ich einen Ordner freigeben, wenn Home verschlüsselt ist und 700 hat?

Hinweis: Ich verwende Ubuntu 12. Ich bin kein kompletter Neuling (ich kann einen gehärteten Webserver einrichten und solche Sachen), aber jetzt, wo ich versuche, es als Desktop zu verwenden, habe ich das Gefühl, als hätte ich die Grundlagen nie gelernt.

Gibt es in Linux einen Standardordner zum Teilen von Inhalten zwischen lokalen Benutzern? Ich dachte, /usr/share wäre dafür gedacht, aber das geht nicht, es sei denn, ich verwende sudo.

Mir ist aufgefallen, dass es ein Element „Freigabeoptionen“ gibt, wenn ich mit der rechten Maustaste auf einen Ordner klicke, aber ich habe Angst, dass es hinter den Kulissen etwas tun könnte, was mir nicht gefällt. Wie funktioniert es also? Wäre es kompliziert, dasselbe über die Befehlszeile zu tun?

Antwort1

Die einzigen vorgefertigten Ordner, die dafür verwendet werden könnten, sind /tmp und /var/tmp. /tmp kann bei jedem Neustart gelöscht werden, und /var/tmp kann nach einer gewissen Zeit, z. B. einer Woche, entfernt werden. In jedem Fall sind sie fürvorübergehendDateien. Auch wenn Ubuntu 12.04 /var/tmp nicht berührt, wissen Sie nie, was die nächste Version tun wird. Sie sollten also immer davon ausgehen, dass der Inhalt dieser Verzeichnisse ohne Warnung entfernt werden kann.

Wenn die Tatsache, dass diese temporär sind, ein Problem darstellt, benötigen Sie eine andere Lösung. Wenn ich möchte, dass andere lokale Benutzer Lesezugriff auf meine Dateien haben, setze ich den Modus meines Home-Verzeichnisses auf 755 (das ist, was ich normalerweise mache); in diesem Fall achte ich jedoch darauf, dass alle geheimen Dateien oder Verzeichnisse in meinem Home-Verzeichnis auf 600 bzw. 700 gesetzt sind.

Die Kombination aus temporären Dateien + Home-Verzeichnis, das für alle lesbar ist, reicht normalerweise aus. Wenn Sie wirklich einen freigegebenen Ordner möchten, müssen Sie beispielsweise /home/shared erstellen und auf 777 oder 1777 setzen (1777 bedeutet wie 777 für alle beschreibbar, aber nur der Eigentümer einer Datei kann die Datei entfernen). Fortgeschrittenere Setups umfassen das Setzen des Verzeichnis-Setgid-Bits und das Spielen mit Benutzergruppen, aber darauf gehe ich nicht näher ein.

Ich mag den 711-Modus für Verzeichnisse grundsätzlich nicht; ich finde ihn verwirrend und es ist nicht klar, wie sicher er ist (ich gehe gerne davon aus, dass lesbar auch lesbar bedeutet, selbst wenn man den Namen erraten muss, um darauf zuzugreifen).

Zusammenfassend lässt sich sagen, dass die Lösung davon abhängt, was Sie versuchen zu tun.

Antwort2

Wenn Sie Ausführungsberechtigungen, aber keine Leseberechtigungen für ein Verzeichnis erteilen, kann ein Prozess das Verzeichnis zwar durchlaufen, aber seinen Inhalt nicht lesen. Dies ermöglicht den Zugriff auf Unterverzeichnisse darin. Also, kurz gesagt: 0711.

Antwort3

Wenn Sie anderen keinen Zugriff auf Ihr Home-Verzeichnis gewähren möchten, können Sie eine Bind-Mount-Funktion verwenden. D. h. Sie machen ein Verzeichnis über einen anderen Pfad zugänglich. Dies ähnelt einem Link im Dateisystem, erfordert jedoch nicht, dass ein Benutzer Zugriff auf alle Verzeichnisse im Pfad erhält.

Beispielsweise erstellen Sie ein Verzeichnis mit dem Namen /shares (oder was auch immer Sie möchten) und verknüpfen alle Verzeichnisse, in denen freigegeben werden soll (/shares/user muss vorher erstellt werden):

mount --bind /home/user/private/stuff/share /shares/user

Daher sollte nur die Freigabe selbst für andere zugänglich sein, /home/user kann 0700 sein (sowie private usw.). Um dies dauerhaft zu machen, müssen Sie einen Eintrag zu /etc/fstab hinzufügen:

/home/user/private/stuff/share /shares/user none bind 0 0

Für den Mount-Befehl oder das Bearbeiten von /etc/fstab sind Root-Rechte erforderlich. Stellen Sie den Befehlen daher bei Verwendung eines nicht privilegierten Kontos das Präfix „sudo“ voran.

verwandte Informationen