在網絡中經常會存在著很多運行著不同類型的操作系統的機器,如何使這些機器能夠有效的進行正常工作並實現相互的資源共享就是一個很重要的問題了。
1987年SMB協議由微軟公司和Intel公司共同開發出來,其意義為Server Message Block(服務器消息塊),是定義在兩台機器之間實現文件和接口共享的協議。SMB以請求/應答的方式來工作,也就是由客戶機首先發送申請,由SMB服務器負責解釋並進行響應的工作方式。目前在linux和windows之間實現資源共享主要是通過SMB的相應軟件——Samba(linux端)。
1. Samba的安全機制
Samba服務器提供三種安全機制:共享級安全、用戶級安全和服務器級安全,采用什麼級別的安全機制由smb.conf文件中的security項來控制。
其共享級安全的安全級別是最低的,用戶級安全要求申請連接SMB服務器的用戶提供有效的用戶名和用戶口令才能提供服務。而服務器級安全則是將所有的用戶驗證全都集中到一個指定的SMB服務器之上來進行,而且這台服務器可以運行任何一種能進行用戶驗證的操作系統(即不一定是linux)。
2. samba的配置文件
Samba只有一個配置文件——smb.conf,該文件缺省位於/usr/local/samba/lib目錄中,文件的格式類似於windows下的win.ini文件,也是分為若干節,每一節最開始有一個用方括號括起來的名稱。它的每一節定義了一種服務,下面對幾個重要的節進行討論。
1.[global]
這一節配置服務器的全局參數。常用的一些項如下:
workgroup=
這一項用來設置Windows工作組的名稱或NT的域名;
server string=Samba Server
這一項一般是固定的;
load printers = yes
這一項表示服務器將自動加載打印機列表;
printcap name = /etc/printcap
這一項告訴服務器定義的打印機在什麼位置;
guest account=pcuser
這一項為來賓帳號定義了用戶名;
securoty=user
這一項指定安全級別為用戶級;
wins support=no
這一項表示不支持wins服務;
name resolve order=host dns bcast
這一項定義了名字解析的服務方案優先次序;
preserver case = no
這一項表示不區分字母的大小寫。
2.[printers]
這一節的作用是定義可以使用的共享打印機,如果設置了這一節,用戶就可以使用在/etc/printercap文件中定義的所有打印機。常見的一些項如下:
comment = all printers
這一項表示所有共享打印機都能使用;
path = /tmp
這一項表示必須創建/tmp目錄;
printable = yes
這一項決定了Samba用戶可以使用的打印資源;
public = no
這一項決定了來賓用戶不能使用打印機;
writable = no
這一項說明了資源不可寫;
browseable = no
這一項決定了在網絡浏覽時不顯示打印機資