
在我們的 Centos 7 伺服器上,我新增了create mask = 770
mysmb.conf
以便對我們的 Windows 使用者儲存在目錄中的檔案強制授予權限。然後,我從命令列輸入以下內容:
# systemctl restart smb.service
# systemctl restart nmb.service
...但是檔案沒有以正確的權限保存。重新啟動後它們已正確保存。那麼(也許)我可以透過命令列重新啟動時發生了什麼?
這是 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
答案1
僅重新啟動服務似乎是對重新啟動的改進。更好的是利用許多 Linux 服務(包括 Samba)附帶的配置重新載入。通常使用 SIGHUP 訊號或透過控製程式來存取此功能。
使用SMB控制(手冊頁)以最短的停機時間和對已經使用您的共享的服務的影響最小的方式重新載入配置。所以,只需運行這個:
smbcontrol smbd reload-config
答案2
您的服務名稱有誤。嘗試:
# systemctl restart smb.service
# systemctl restart nmb.service
答案3
Samba 為每個連接的使用者建立一個子進程。根據手冊,父進程監視設定檔並在發生變更時自動重新載入它。因此,您的變更幾乎會立即生效,而無需您執行任何操作,但是變更不會傳播到當前的子進程。
任何安裝共享的新用戶都會看到您的變更。
如果你想見他們
- 從 Windows 機器上卸載所有 samba 共用。當您的最後一個共用被卸載時,您在 samba 伺服器上的子進程將會終止。安裝磁碟機會使用新設定建立新的子進程
- 或終止您的 samba 子進程。
答案4
這個答案對我來說是迄今為止最好的答案: 在使用此答案之前,請確保您要重新啟動 smb 服務,它會踢出已連線的使用者。更好用smbcontrol smbd 重新載入配置如果您只想重新載入新共用或更新配置。 – 普雷斯頓碼頭 2022 年 1 月 8 日 0:52