配置samba服務
Windows
主機彼此間能夠利用網上鄰居達到資源共享的目的,
Unix
系統之間也能經過
NFS
(
Network File System
,網絡文件系統)實現目錄共享,而
Unix
和
Windows
之間因爲採用了徹底不一樣的文件結構,沒法直接實現資源共享,本文就爲你們介紹一種利用
Samba
服務器來實現
Unix
與
Windows
間資源共享的辦法。
一
.SMB
協議和
samba
簡介
1.SMB
協議
:Server Message Block,
服務信息塊協議,是一個高層協議,它提供了在網絡上的不一樣計算機之間共享文件和打印機的手段,
SMB
使用
NetBIOS API
實現面向鏈接的協議,該協議爲
Windows
客戶程序和服務提供了一個經過虛電路按照請求
-
響應方式進行通訊的機制,其工做原理就是讓
NetBIOS
與
SMB
協議運行在
TCP/IP
上,而且使
NetBIOS
的名字解釋器讓
Linux
機器能夠在
Windows
的網上鄰居中被看到,
1992
年
SMB
成爲
Open Group
的國際標準,即
X/Open pc
機網絡互連協議
SMB
NetBIOS
工做在
OSI
的網絡層和傳輸層,而
SMB
工做在
OSI
的會話層、表示層和應用層
2.samba
簡介:是
linux
上支持
SMB
協議的一組軟件包
在缺省狀況下,
Windows
工做站上的
Microsoft Client
使用服務消息塊協議
samba
於
1991
年由奧大利亞
Andrew Tridgell
研發,
samba
的核心是兩守護進程
:
smbd
處理到來的
SMB
數據包
nmbd
使其它主機能瀏覽
Linux
服務器
smbd
是
samba
的核心。它負責創建對話進程、驗證用戶身份、提供對文件系統和打印機的訪問機制。
nmbd
實現了
「network brower」
的功能。它的做用是對外發布
samba
服務器能夠提供的服務。
3.samba
軟件的功能
共享
Linux
的文件系統
共享安裝在
samba
服務器上的打印機
支持
Windows
客戶使用網上鄰居瀏覽網絡
使用
windows
客系統共享的文件和打印機
支持
windows
域控制器和
windows
成員服務器使用
samba
資源的用戶進行認證
支持
WINS
名字服務器解析及瀏覽
支持
SSL
安全套接層協議
4.samba
的應用環境
二
.
安裝和啓動
samba
#service smb restart
三
.smb.conf
的配置
[global]#global
節
netbios name=rhl9
設置主機的
netbios
名,即在
2000
網絡鄰居中看得見的機器名
workgroup=WORKGROUP
主機的在的工做組名
server string=linux server
主機名的字符串提示
security=user|share|Server|Domain
使用用戶級的安全;其中還有共享級
share
;
Server
和
user
安全級別相似,但用戶名和密碼是遞交到另一個服務器去驗證;
Domain
這個安全級別要求網絡上存在一臺
Windows
的主域控制器
,samba
把用戶名和密碼遞交給它去驗證
[test]test
節
comment=Home Directory
註解參數,在
browse list
中標示該條目的字符串
.
path=/test
共享目錄的路徑
guest ok=yes
容許全部用戶均可以
guest
賬戶訪問共享
[printers]
browseable=no
指定共享的路徑是否可瀏覽
public=yes
指定是否可容許
guest
賬號訪問
printable=yes
指定是否可打印
例
1.
設置
linux
共享文件夾,如上
使用
2000
下的共享文件夾能夠進行如下操做:
#smbclient –L //192.168.1.47
此命令爲查看
bjxh01
下的共享狀況,注意在系統要求輸入
password
時,直接回車便可進入
2000
,此時屏幕上列出
2000
下的共享。
#smbclient //192.168.1.47/aa -U username(
是
Windows
系統的用戶名
)
用於在
linux
中訪問
Windows2000
中的共享目錄
,
屏幕上出現
MS-DOS
的提示符:
\
時說明用戶進入了
aa
目錄。此時能夠在提示符後輸入
「
?
」
查找你可以使用的命令。
在
2000
下,使用
samba
的共享目錄
/test
,能夠進行如下操做
:
查找計算機
rhl9
,當
rhl9
目標出現時,雙擊圖標
test
,即進入共享文件夾
test
#smbmount //192.168.1.57/test test1
此命令可把
192.168.1.57
下的
test
掛到本機的
test
上,同上在系統要求輸入
password
時,直接回車,接着依次輸入
#cd /pub/pub
、
#ls
,屏幕即列
samba
的
test
目錄下的文件了
.
!
執行本地命令
ls:
顯示文件列表
get
下載單個文件
put
上傳單個文件
mget
批量下載文件
mput
批量上傳文件
mkdir
創建目錄
rmdir
刪除目錄
rm
刪除文件
例
2.
當設置了
user
的安全等級後,將由本地系統對訪問
Samba
共享資源的用戶進行認證
.
認證須要一個
Samba
口令文件
,
該文件由
smb passwd file
參數指定,默認爲
/etc/samba/smbpasswd.
初始狀況下此文件並不存在,兩種方法創建
成批添加
samba
賬戶
#cat /etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd
#vi /etc/samba/smbpasswd
#chown root.root /etc/samba/smbpasswd
#chmod 500 /etc/samba
#chmod 600 /etc/samba/smbpasswd
#ll -d /etc/samba
#smbpasswd user1
本地系統用戶賬號必須事先已存在
添加單個的
samba
賬戶
smbpasswd -a user1
#smbadduser user1:user1
已存在用戶的用戶名和密碼
例
3.
使用符號連接組織本地共享資源
#vi /etc/samba/smb.conf
[test]
comment=local resource
path=/test
public=yes
writeable=yes
#ln -s /usr/share/doc doc
例
4.
爲全部用戶配置只讀共享和讀寫共享
#vi /etc/samba/smb.conf
[test]
comment=local resource
path=/test
read only=no|yes
指定共享的路徑是否爲只讀
public=yes
指定是否能夠容許
guest
賬戶訪問,等價於
guest ok=yes
例
4.
爲指定用戶和組配置
samba
共享
#useradd fred
#passwd fred
#smbpasswd -a fred
#mkdir -p /var/samba/fred
#chown fred.fred /var/samba/fred
[test]
comment=local resource
path=/test
valid users=fred ben
public=no
writeable=yes
#useradd tom #passwd tom #useradd ben #passwd ben #smbpasswd -a tom #smbpasswd -a ben #mkdir /var/samba/tomben #chmod 707 /var/samba/tomben #vi /etc/samba/smb.conf
[test]
comment=tom&ben's Service
path=/var/samba/tomben
valid users=tom ben,@g1
public=no
writeable=yes
create mask=0707
設置對新建立的文件的正確權限。
create mask
定義新建立的文件將容許哪些權限,使用二進制
\"and\"
操做將提供的八進制數與所需的權限結合起來。將致使不在掩碼中的任何許可權都重新文件的權限中刪除。
例默認建立文件的權限是
744and0707=704
//write list=@g1