配置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