debian配置samba
讀音['sæmb?]
Samba協議基礎
在Windows NT服務器系統中,實現不同計算機之間共享打印機和文在NetBIOS出現之后,Microsoft就使用NetBIOS實現了一個網絡文件/打印服務系統,這個系統基于NetBIOS設定了一套文件共享協議,Microsoft稱之為SMB(Server Message Block)協議。這個協議被Microsoft用于他們Lan Manager件。
Samba是用來實現SMB的一種軟件,它的工作原理是,讓NETBIOS(Windows95網絡鄰居的通訊協議)和SMB(Server Message Block)這兩個協議運行于TCP/IP通信協議之上,并且使用Windows的NETBEUI協議讓Unix計算機可以在網絡鄰居上被Windows計算機看到。
它的功能有:
共享Linux磁盤給Windowns
共享Windowns磁盤給Linux機器
共享Linux打印機給Windowns
共享Windowns打印機給Linux機器。
Samba的核心是兩個守護進程smbd和nmbd程序,在服務器啟動到停止期間持續運行。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd兩個守護進程說明輸出什么以便共享,共享輸出給誰及如何進行輸出。smbd進程的作用是處理到來的SMB軟件包,為使用該軟件包的資源與Linux進行協商,nmbd進程使其它主機(或工作站)能瀏覽Linux服務器。
Samba的主配置文件位置在/etc/samba目錄中,文件名為smb.conf。
首先是安裝samba:
apt-get install samba
跟著修改配置文件:
vim /etc/samba/smb.conf
[可選]加入如下配置
#display charset = UTF-8
#unix charset = UTF-8
#dos charset = cp936
useradd
smbpasswd -a meaglith
/etc/init.d/samba restart
檢查當前配置
#testparm
附.設置目錄共享及權限
[share]
comment = a comment #目錄的注解說明
path = /data/temp #要共享目錄的絕對位置
browseable = no #目錄是否可見,預設為可見
writable = yes #目錄是否為可寫
read only = no #目錄是否為只讀
guest ok = yes #來賓是否可以訪問,與"public = yes" 作用相同
write list =user,@group #可寫用戶列表,@后表示某個群組
valid users = validusername #允許訪問的使用者清單
read list = readusename #只可讀的使用者清單
invalid users = invalidusername #禁止訪問的使用者清單
admin users = adminuser #有管理權限使用者清單
create mask = 0755 #使用者建立檔案的權限,預設為0744
printable = no
[global] #全局配置
workgroup = LinuxSir #定義該Samba服務器所在的工作組或者域(如果下面的security=domain的話)
netbios name = LinuxSir05 #在Windows中顯示出來的計算機名
server string = Linux Samba Server TestServer #設定機器的描述,當我們通過網絡鄰居訪問的時候可以在備注里面看見這個內容。
security = security_level #定義Samba的安全級別
說明:
定義Samba的安全級別,按從低到高分為四級:share,user,server,domain。它們對應的驗證方式如下:
share:沒有安全性的級別,任何用戶都可以不要用戶名和口令訪問服務器上的資源。
User:samba的默認配置,要求用戶在訪問共享資源之前資源必須先提供用戶名和密碼進行驗證。
Server:和user安全級別類似,但用戶名和密碼是遞交到另外一個服務器去驗證,比如遞交給一臺NT服務器。如果遞交失敗,就退到user安全級。
Domain:這個安全級別要求網絡上存在一臺Windows的主域控制器,samba把用戶名和密碼遞交給它去驗證。
后面三種安全級都要求用戶在本Linux機器上也要系統帳戶。否則是不能訪問的。
hosts allow = 網絡或者主機
說明:
這里可以設置允許訪問的網絡和主機IP.
比如允許整個192.168.1.0這個網段(192.168.1.0/24)和192.168.2.1這臺主機(192.168.2.1/32)訪問,就用host allow = 192.168.1. 192.168.2.1 127.0.0.1(網絡注意后面加”.”號,各個項目間用空格隔開,記得把本機也加進去)
samba命令使用:
假定:
windows下IP為192.168.0.7
debian下的IP 為:192.168.0.8
debian~#smbclient -L 192.168.0.7 -U sunday
在windows下輸入:\\192.168.0.8 訪問debian
最簡samba配置
一、通過用戶訪問
1.apt-get install samba
2.修改/etc/samba/smb.conf文件
security = user #設置安全級別為user
3.添加用戶并設置samba訪問密碼
smbpasswd -a username
二、不需要用戶都可以直接訪問
1.修改/etc/samba/smb.conf文件
設置security = share
4.重啟一下samba服務:
/etc/init.d/smb restart
/etc/init.d/samba restart
注:suse 下重啟samba
rcsmb restart