Network-Attached-Storage

FreeNAS 不允許任何主機,即使指定它們

  • April 22, 2011

我剛剛安裝了一個帶有兩個 1TB 驅動器鏡像的新 FreeNAS .7.2 盒子。配置看起來很可靠,我什至可以瀏覽我從網路上的任何電腦創建的 SMB 共享。但是,當我嘗試添加文件夾或刪除要上傳的文件時,我會收到一條消息,指出我沒有適當的權限。

我不想對使用者進行身份驗證,我希望它是開放的。我在 SMB 服務的配置中設置了匿名身份驗證,並且主機允許和主機拒絕欄位為空白。我什至將嘗試從該欄位上傳的電腦的 IP 地址添加到該HOSTS ALLOWED欄位中,但仍然出現權限錯誤(我什至確認了更改)。 我已將其更改為本地使用者身份驗證並希望使用全域使用者。

有什麼我想念的嗎?我可以正常瀏覽共享,但無法上傳或創建文件夾。

大編輯:

我不確定我是否應該為此發布新文章,但這裡有:

我決定放棄匿名訪問。我嘗試的一切和你們建議的一切都沒有奏效。我也不喜歡手動編輯,smb.conf因為如果我這樣做了,然後在 webgui 中更改權限或使用者,它會重置我所有手動更改的設置。

我進去並將身份驗證設置為本地使用者,並為所有連接的客戶端創建了一個使用者。我將它們放在wheel對掛載點具有完全讀取、寫入和執行權限的組中(參見螢幕截圖http://imgur.com/m4N5b)。這適用於安裝中的現有共享。我可以查看、添加文件夾、添加文件等到所有現有共享。現在,如果我添加一個新共享,我可以瀏覽它,但我不能添加文件或文件夾。共享完全相同,並且應該具有相同的權限。這對我來說沒有意義。這是配置,[Backup]共享有效,我可以閱讀、編輯、執行。[Storage]我只能閱讀的分享。

[global]
#max protocol = smb2
encrypt passwords = yes
netbios name = freenas
workgroup = WORKGROUP
server string = FreeNAS Server
security = user
dns proxy = no
# Settings to enhance performance:
use sendfile = yes
strict locking = no
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
deadtime = 15
getwd cache = yes
socket options = TCP_NODELAY SO_SNDBUF=64240 SO_RCVBUF=64240 
# End of performance section
unix charset = UTF-8
store dos attributes = yes
local master = yes
time server = yes
guest account = ftp
display charset = LOCALE
max log size = 10
syslog only = yes
syslog = 1
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log level = 1
dos charset = CP437
smb passwd file = /var/etc/private/smbpasswd
private dir = /var/etc/private
passdb backend = tdbsam

[Backups]
comment = Any Backup Files
path = /mnt/mnt1/Backup/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = no
inherit permissions = yes

[Storage]
comment = Storage for Files
path = /mnt/mnt1/Storage/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = no
inherit permissions = yes

如果我創建任何新共享,那麼我只有讀取權限。就像我說的那樣,這對我來說沒有意義。任何關於這個主題的光都將不勝感激。

順便感謝您的所有幫助。很抱歉在這個問題上換檔這麼快。

當 Windows 電腦連接到 Windows 伺服器時,它首先嘗試使用空密碼首先登錄的使用者名。如果伺服器後端無法辨識使用者名,它將回退並為您提供匿名訪問。

例如。如果 bob 嘗試連接到網路共享,則 windows 將首先嘗試使用使用者名 bob 連接,然後再提供登錄框

FreeNAS 雖然基於 SAMBA,但它的行為有點不同。如果使用者不為系統所知,則預設行為是拒絕訪問。

所以需要做的是模仿這種行為,並且任何使用未知使用者名的連接嘗試都會獲得匿名訪問。

因此,您需要修改 SAMBA 配置以將未知使用者 (bob) 映射到 nobody 帳戶,然後創建一個名為“nobody”且沒有密碼的帳戶

這樣,當 bob 嘗試連接伺服器時,伺服器無法辨識使用者名 bob,因此它回退到匿名

要將未知使用者映射到訪客帳戶,請將此配置添加到全域變數

[global]
   #...
   guest account = nobody
   map to guest = bad user

然後創建一個沒有密碼的名為“nobody”的使用者,您應該能夠匿名訪問共享。

編輯

也改變

[global] 
  security = user

並通過從 Shell 執行此命令(通過 ssh 或 telnet 或其他方式)使 nobody 使用者

User$ smbpasswd -an nobody

引用自:https://serverfault.com/questions/260653