Wenn Sie Probleme haben, Ihr ~Public-Verzeichnis in Ubuntu 22.04 freizugeben, hat Jack Wallen die Lösung für Sie.
Mit der Veröffentlichung von Ubuntu 22.04 wurden mehrere Änderungen unter der Haube vorgenommen, um diese neueste LTS-Version zu einer der besten in der Geschichte der von Canonical unterstützten Linux-Distribution zu machen. Aber es gibt eine Änderung, die für Aufsehen gesorgt hat. Dieses Problem sind die Standardberechtigungen der Home-Verzeichnisse des Benutzers.
Zuvor war die Berechtigung für das Home-Verzeichnis des Benutzers auf 755 festgelegt, wodurch andere Benutzer das Verzeichnis sowie die darin enthaltenen Dateien und Unterverzeichnisse anzeigen konnten. Um ein solches Sicherheitsproblem zu vermeiden, haben die Entwickler die Berechtigung für die Home-Verzeichnisse auf 750 gesetzt, was bedeutet, dass nur der Besitzer des Home-Verzeichnisses den Inhalt sehen kann.
Wenn Sie dazu neigen, Ihren ~/Public-Ordner freizugeben, verursacht dies ein großes Problem mit Samba, da der Eigentümer des Home-Verzeichnisses der einzige ist, der auf den Ordner zugreifen oder ihn durchsuchen kann, entweder lokal oder über Ihr LAN. Diese Änderung wurde aus reinen Sicherheitsgründen vorgenommen, und ich glaube, es war der richtige Weg, da es keinen Grund gibt, warum andere Benutzer den Inhalt des Home-Verzeichnisses anderer Benutzer sehen können sollten.
Bei Samba auch dann, wenn Sie public = yes
verwenden , kann nur der Eigentümer dieses Home-Verzeichnisses die Freigabe sehen. Das heißt, selbst wenn Sie anderen ausdrücklich erlauben, Dateien in diesem Ordner über das Fenster "Öffentliche Eigenschaften" von Nautilus zu erstellen und zu löschen (Abbildung A ), wird es nicht funktionieren.
Abbildung A
Wie geht's? Ich habe zwei mögliche Lösungen dafür. Lassen Sie uns einsteigen.
Was Sie brauchen
Die einzigen Dinge, die Sie mitmachen müssen, sind eine laufende Instanz von Ubuntu Linux 22.04 und ein Benutzer mit sudo-Berechtigungen. Wenn diese beiden Dinge bereit sind, lass uns unseren Samba einschalten.
Pflichtlektüre für Entwickler
Die einfachste, aber weniger sichere Lösung
Diese spezielle Lösung ist die einfachste Methode, um das Problem zu umgehen. Allerdings – und das ist ein großer Unterschied – umgehen Sie mit dieser Option die Sicherheit, die hinzugefügt wurde, indem Sie anderen das Recht entziehen, Ihr Home-Verzeichnis einzusehen.
Wenn Sie damit einverstanden sind, können Sie das Update umgehen, indem Sie die Berechtigung Ihres Home-Verzeichnisses mit dem Befehl:
wieder auf 755 ändern
chmod o+rx /home/USER
Wobei USER Ihr Benutzername ist.
Das allein sollte Ihr Problem lösen, aber es ist nicht gerade die sicherste Lösung.
Die weniger einfache, aber sicherere Lösung
Sollte dies nicht möglich sein, können Sie immer die Samba-Direktive force user verwenden, die den Gastbenutzer dazu zwingt, sich als Sie auszugeben. Dadurch bleibt die Sicherheitsmaßnahme erhalten, aber andere Benutzer können den Inhalt Ihres ~/Public-Verzeichnisses durchsuchen.
Um diese Methode zu verwenden, öffnen Sie die Samba-Konfigurationsdatei mit:
sudo nano /etc/samba/smb.conf
Am Ende dieser Datei sollten Sie den Eintrag für Ihre öffentliche Freigabe finden, der etwa so aussehen könnte:
[Public]
path = /home/jack/Public
public = yes
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Fügen Sie am Ende dieses Abschnitts die folgende Zeile hinzu:
force user = USER
Wobei USER Ihr Benutzername ist. Speichern und schließen Sie die Datei. Starten Sie Samba neu mit:
sudo systemctl restart smbd
An diesem Punkt kann jeder Benutzer auf Ihrem Linux-System den Inhalt der ~/Public-Freigabe anzeigen, indem er seine Anmeldeinformationen verwendet, wenn er sich mit Samba verbindet.
Die herausfordernde, aber sicherste Lösung
Die beste Option wäre, ein Verzeichnis außerhalb Ihres Hauses freizugeben, da dies das gesamte Berechtigungsproblem vermeidet. Erstellen wir ein neues Verzeichnis mit dem Befehl:
sudo mkdir /data
Ändern Sie die Berechtigung dieses Verzeichnisses mit:
sudo chmod -R ugo+rw /data
Lassen Sie uns nun die Freigabe erstellen. Öffnen Sie die Samba-Konfiguration mit:
sudo nano /etc/samba/smbd.conf
Fügen Sie am Ende dieser Datei Folgendes ein:
[data]
path = /data
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Speichern und schließen Sie die Datei. Starten Sie Samba neu mit:
sudo systemctl restart smbd
Jetzt sollten Sie die neue Datenfreigabe sehen, auf die jeder Benutzer mit einem Konto auf dem System zugreifen können sollte. Sie können auch public =yes hinzufügen, um anonymen Zugriff auf die Freigabe zu gewähren.
Und das ist alles, um Samba dabei zu helfen, die neuen Home-Verzeichnisberechtigungen in Ubuntu Linux 22.04 zu umgehen. Wenn Sie sich nicht sicher sind, welche Lösung Sie verwenden sollen, würde ich mich für die letzte Option entscheiden, da sie sicherer ist. In jedem Fall können Sie diesen Benutzern Zugriff auf den Inhalt Ihrer Samba-Freigaben gewähren, unabhängig davon, ob sie sich in Ihrem Home-Verzeichnis befinden oder nicht.