
Auf unserem Centos 7-Server habe ich create mask = 770
Folgendes hinzugefügt smb.conf
, um Berechtigungen für die Dateien zu erzwingen, die unsere Windows-Benutzer in einem Verzeichnis speichern. Anschließend habe ich in der Befehlszeile Folgendes eingegeben:
# systemctl restart smb.service
# systemctl restart nmb.service
...aber die Dateien wurden nicht mit den richtigen Berechtigungen gespeichert. Nach einem Neustart wurden sie korrekt gespeichert. Was ist also beim Neustart passiert, was ich (vielleicht) über die Befehlszeile hätte tun können?
Hier ist der Abschnitt der smb.conf:
[image-storage]
comment = archived image location
path = /our/samba/path/to/image_storage
valid users = @NameOfOurGroup
create mask = 770
browsable = yes
writable = yes
guest ok = no
force user = imagestore
Antwort1
Ein Neustart nur des Dienstes scheint eine Verbesserung gegenüber einem Neustart zu sein. Noch besser ist es, die Funktion „Configure Reload“ zu verwenden, die mit vielen Linux-Diensten, einschließlich Samba, geliefert wird. Auf diese Funktion wird häufig mit einem SIGHUP-Signal oder über ein Steuerprogramm zugegriffen.
Verwendensmbkontrolle(manpage), um die Konfiguration mit der kürzesten Ausfallzeit und den geringstmöglichen Auswirkungen auf Dienste, die Ihre Freigaben bereits verwenden, neu zu laden. Führen Sie also einfach Folgendes aus:
smbcontrol smbd reload-config
Antwort2
Der Name des Dienstes ist falsch. Versuchen Sie Folgendes:
# systemctl restart smb.service
# systemctl restart nmb.service
Antwort3
Samba erstellt für jeden verbundenen Benutzer einen untergeordneten Prozess. Laut Handbuch überwacht der übergeordnete Prozess die Konfigurationsdatei und lädt sie automatisch neu, wenn sie sich ändert. Ihre Änderungen werden also fast sofort umgesetzt, ohne dass Sie etwas tun müssen. Die Änderungen werden jedoch nicht an die aktuelle Gruppe untergeordneter Prozesse weitergegeben.
Jeder neue Benutzer, der Freigaben mountet, wird Ihre Änderungen sehen.
Wenn Sie sie sehen möchten
- Deaktivieren Sie alle Samba-Freigaben auf Ihrem Windows-Rechner. Ihr untergeordneter Prozess auf dem Samba-Server wird beendet, wenn Ihre letzte Freigabe deaktiviert wird. Beim Aktivieren eines Laufwerks wird ein neuer untergeordneter Prozess mit den neuen Einstellungen erstellt.
- Oder beenden Sie Ihren untergeordneten Samba-Prozess.
Antwort4
Diese Antwort war für mich mit Abstand die beste: Stellen Sie sicher, dass Sie den SMB-Dienst neu starten möchten, bevor Sie diese Antwort verwenden, da verbundene Benutzer dadurch gekickt werden. Verwenden Sie bessersmbcontrol smbd neu laden-configwenn Sie nur neue Freigaben neu laden oder die Konfiguration aktualisieren möchten. – PrestonDocks 8. Januar 2022 um 0:52