使用者無法從 Windows 訪問他們的 samba 共享首頁
我安裝並配置了一個 Samba 4 作為 AD 並共享 Homes。我可以和我的使用者一起登錄 Samba 伺服器和 Windows 2008 伺服器。但是,在 Windows 上,當我在使用 user1 登錄時鍵入“\IPSambaServer\user1”時,訪問被拒絕,錯誤程式碼為:0x80070005。
當然,我不想在主目錄上使用 777 和。
Samba 伺服器上的 Linux 權限:
ls -dl /home/user1 drwx------. 6 user1 users 4096 Aug 26 14:04 /home/user1/
測試參數:
$$ global $$
工作組 = DOMAIN
ream = enterprise.com
伺服器字元串 = Samba 伺服器
伺服器角色 = 活動目錄域控制器
安全性 = AUTO
passdb 後端 = samba_dsdb
日誌文件 = /usr/local/samba/var/log.samba
最大日誌大小 = 50
dns 代理 =沒有
rpc_server:tcpip = 沒有
rpc_daemon:spoolssd = 嵌入式
rpc_server:spoolss = 嵌入式
rpc_server:winreg = 嵌入式
rpc_server:ntsvcs = 嵌入式
rpc_server:eventlog = 嵌入式
rpc_server:srvsvc = 嵌入式
rpc_server:svcctl = 嵌入式
rpc_server:default = 外部
idmap 配置 *:後端 = tdb
地圖存檔 = 否
map readonly = no
store dos attributes = Yes
vfs objects = dfs_samba4, acl_xattr
$$ homes $$
評論 = 主目錄
只讀 = 無
創建遮罩 = 0660
目錄遮罩 = 0771
我
user_xattr,acl
在 /etc/fstab 中添加奇怪的是管理員可以訪問(讀取和寫入)他的家以及每個使用者的家。但也許是因為我映射了 root = DOMAIN\administrator
為了測試,我創建了具有 777 權限的 dir /tmp/test 然後共享它。使用來自 Windows 的 user1,我在其中創建了一個目錄。然後
ls -l /tmp/test/
告訴我新目錄的所有者而不是 user1,是 3000040。我嘗試了另一個使用者,它是 3000043。在家庭共享的安全選項卡中,“Creator 和 Propri”具有讀/寫權限。如何授予對使用者家的訪問權限?
我找到了解決方案!
創建使用者後,我使用腳本將 uidNumber 添加到 Samba(使用 ldif 文件和命令 ldbmodify)。問題是 Samba 創建了自己的 uidNumber(在我的例子中是 user1 的“300040”),並在 Windows 機器上使用它來獲取訪問權限。
我發現獲得此號碼的唯一方法是使用
wbinfo -i user1
. 所以我在 uidNumber 中為每個使用者輸入了這個數字,它就可以工作了!