怎樣設置Samba文件伺服器以使用Windows客戶端
出於這些理由,Samba在不同操作系統(除了Linux)共存的網路中首選的文件伺服器解決方案——最常見的結構是多個微軟Windows客戶端訪問安裝有Samba的Linux伺服器,該情形也是本文將要解決的問題。
請注意,另外一方面,如果我們的網路僅僅是由基於Unix的客戶端(如Linux,AIX,或者Solaris,等等)組成,我們可以考慮使用NFS(儘管在此種情況下Samba仍然是可選方案),它可以提供更快的速度。
在Debian和CentOS中安裝Samba
在我們開始安裝之前,我們可以使用操作系統中的包管理系統查詢Samba的信息:
在Debian上:
# aptitude show samba
在CentOS上:
# yum info samba
在下面的屏幕截圖中,我們可以看到『aptitude show samba』的輸出(『yum info samba』會產生類似的結果):
現在讓我們來安裝Samba吧(下面的截圖來自Debian 7[Wheezy]伺服器上的安裝):
在Debian上:
# aptitude install samba
在CentOS上:
# yum install samba
添加用戶到Samba
對於4.x之前的版本,需要建立一個本地Unix帳號以便將其添加到Samba:
# adduser <username>
接下來,我們需要添加用戶到Samba,使用帶有『-a』選項的smbpasswd命令來完成,該命令指出後面的用戶名將被添加到本地smbpasswd文件中。我們將被提示輸入密碼(該密碼無需和本地Unix帳號的密碼相同):
# smbpassword -a <username>
最後,我們將賦予用戶xmodulo到我們系統上某個目錄的訪問許可權,該目錄將被用於作為此用戶的Samba共享(如有需要,也可以共享給其它用戶)。要完成該工作,請使用文本編輯器(如Vim)打開/etc/samba/smb.conf文件,導航到文件末,然後創建一個帶有描述名稱的區塊(使用方括弧將其括起來),如[xmodulo]:
# SAMBA SHARE
[xmodulo]
path = /home/xmodulo
available = yes
valid users = xmodulo
read only = no
browseable = yes
public = yes
writeable = yes
我們現在必須重啟Samba—以防萬一—使用testparm命令來檢查smb.conf文件的語法錯誤:
# service samba restart
# testparm
如果有錯誤,在testparm結束後會報告。
在Windows 7計算機上將Samba共享映射為一個網路驅動器
在計算機上右擊,然後選擇「映射網路驅動器」:
輸入安裝了Samba的機器的IP地址,後跟共享名(就是smb.conf文件中方括弧括起來的那個名稱),然後確保選中了「使用不同的憑據連接」:
輸入先前用『smbpasswd -a』設置的用戶名和密碼:
進入計算機,然後檢查網路驅動器是否被正確添加:
作為測試,讓我們從Samba的手冊頁創建一個pdf文件,然後保存到/home/xmodulo目錄:
接下來,我們可以驗證該文件是否可以從Windows讀取:
然後檢查我們是否能夠用默認的pdf閱讀器打開它:
最後,讓我們看看我們是否能在Windows中剛剛映射的驅動器上保存文件。我們將打開change.log文件,該文件列出了Notepad++的功能:
然後試著將它作為普通文本文件(.txt擴展名)保存到Z:;然後讓我們看看該文件是否能在Linux中看到:
啟用磁碟配額
作為第一步,我們需要驗證當前內核是否已經編譯為支持配額:
# cat /boot/config-$(uname -r) | grep
每個文件系統最多有5種類型,能夠強制使用的配額限制:用戶軟限制,用戶硬限制,組軟限制,組硬限制,以及寬限期限。
我們現在將為/home文件系統啟用磁碟配額,在/etc/fstab文件對應的/home文件系統行現存的默認選項後添加usrquota和grpquto掛載選項,然後重新掛載文件系統以令修改生效:
接下來,我們需要在/home目錄創建兩個文件以用於作為用戶和組配額的資料庫文件:aquota.user和aquota.group。然後,我們將生成啟用配額後每個文件系統的當前磁碟使用表:
# quotacheck -cug /home
# quotacheck -avugm
儘管已經為/home文件系統啟用磁碟配額,我們還沒有給任何用戶或組設置許可權。檢查現有用戶/組的配額信息:
# quota -u <username>
# quota -g <groupname>
在這最後幾步中,使用quotatool命令來為每個用戶和/或組來分配磁碟配額(注意,該任務也可以使用edquota來完成,但是quotatool更為直接,更不易犯錯)。
要為用戶xmodulo設置軟限制為4MB,硬限制為5MB,xmodulo組為10MB/15MB:
# quotatool -u xmodulo -bq 4M -l '5 Mb' /home
# quotatool -g xmodulo -bq 10M -l '15 Mb' /home
我們可以在Windows 7中看到結果(4.00MB中有3.98MB空閑):
via: http://xmodulo.com/2014/08/samba-file-server-windows-clients.html
作者:Gabriel Cánepa 譯者:GOLinux 校對:Caroline
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive