用上samba以後,在Windows和Linux的局域網內可以共享文件了,Linux就像一台網絡PC或者Windows PC ,就像LAN內別的Windows計算機一樣。另外,從Linux機器上也可以存取Windows的硬盤了。直接mount Windows的目錄,就像用你自己的文件一樣了。設置也非常容易,當然對於新手來說可能復雜一點。
下面,我們一步一步地來設置Samba服務器。
一般說來,每一個Linux發行版本都包含Samba,但是如果你的版本還是1.x.x的話,你要先刪除,然後從Samba的老家http://de.samba.org下載一個新的2.0.x的版本。如果你已經安裝了2.0版本的話,就可以跳到開始設置那裡去了。
一 安裝:
把下載好的文件解壓到/tmp目錄:
>> tar zxvf samba-xxxxxx.tgz -C /tmp
然後運行/tmp/samba-xxx/src目錄下的設置腳本:
>> cd /tmp/samba-xxxxx/src/
如果你用的內核版本高於2.1.70,使用:
>> ./configure --enable-smbmount
其他情況下,使用:
>> ./configure
在這個腳本定制好系統後,可以開始編譯samba了:
>> make
這段時間要根據你機器來決定,如果工作正常的話,你可以把Samba拷貝到/usr/local/目錄下。只有系統管理員(root)對於/usr/local目錄有寫權限。
可以用:
>> su
命令,並輸入root口令。然後拷貝Samba:
>> cp -a /tmp/samba-xxxx /usr/local
改變目錄到這個目錄,開始安裝Samba :
>> cd /usr/local/samba-xxxx/source
>> make install
建立目錄/usr/local/samba,在那裡放置二進制文件,配置文件以及日志文件。
二 好了,現在安裝好Samba了,我們開始設置。
在目錄/usr/local/samba/lib/內建立設置文件smb.conf:
>> touch /usr/local/samba/lib/smb.conf
為便於測試,我們建立一個最小配置的文件:
[global]
workgroup = workgroup
[all]
path = /
read only = yes
;
;Semicolon starts a comment
;End
'workgroup=' 後面的名字必須和Windows網絡屬性裡工作組的名字一樣。
編輯好配置文件後,啟動Samba:
>> /usr/local/samba/bin/nmbd -D
>> /usr/local/samba/bin/smbd -D
在Windows機器上登錄。注意:必須使用Linux存在的用戶名。雙擊網絡圖標後,可以看到Linux機器。打開這個機器,要求輸入口令,在這裡輸入你在Linux機器上的口令。
實際的配置文件允許你存取Linux上的所有文件。下面,我們改變配置文件。下面的配置應該可以在大多數系統上工作:我們沒有注釋所有的設置,你如果想知道得更多的話,可以閱讀http://de.samba.org上的手冊。
[global]
workgroup = workgroup
guest account = nobody
keep alive = 30
os level = 2
security = user
printing = bsd
printcap name = /etc/printcap
load printers = yes
;如果需要Samba作為一台wins服務器的話,把“wins support”改為“yes”
wins support = no
;需要Samba 使用現有的wins服務器的話,去掉下行的注釋,並改變
;IP地址為你的wins服務器地址。
;wins server = 192.168.1.1
[local]
path = /usr/local
read only = yes
;現在可以在Windows下找到/usr/local下的任何程序了
[homes]
comment = HomeDirectory
browseable = no
read only = no
create mode = 0750
;以下的共享讓用戶存取服務器的CD驅動器
[cdrom]
comment = Linux CD-ROM
;輸入你的 CD-Rom 驅動器的路徑/cdrom或/mnt/cdrom
path = /cdrom
read only = yes
locking = no
[printers]
comment = All Printers
browseable = no
printable = yes
public = no
read only = yes
create mode = 0700
directory = /tmp
;這下,打印機也可以在Windows下使用了。
現在停止nmbd以及smbd守護程序,來激活新的配置。首先尋找PID號碼:
>>ps x
輸出:
[...]
7199 ? S 0:00 /usr/local/samba/bin/nmbd -D
7201 ? S 0:00 /usr/local/samba/bin/smbd -D
[...]
殺掉這兩個進程:
>> kill 進程號
進程號就是你在上面看到的第一列的號碼,談後重新啟動:
>> /usr/local/samba/bin/nmbd -D
>> /usr/local/samba/bin/smbd -D
在Windows網絡窗口裡搜索Linux PC ,它應該就在那裡了,如果沒有的話,看一下日志文件:
/usr/local/samba/var/log.smb和/usr/local/samba/var/log.nmb。