壹般來說,安裝samba後,有壹個smb.conf(配置文件)的例子,修改壹下就好了。
WINDOWS下的網上鄰居使用是NetBIOS協議,LINUX下使用功能強大的SAMBA可以實現與WINDOWS機子***享。下面具體就我的理解具體說壹下。
首先當然是妳必須安裝了SAMBA
#apt-get install samba samba-common smbclient smbfs
其實使用SAMBA分成兩個方面,壹個是linux機子上的資源給WINDOWS機子瀏覽,再壹個是使用LINUX 機子瀏覽WINDOWS 的網上鄰居。現在假設使用WINDOWS的機子的IP是10.0.0.10,***享目錄是music,用戶名是:share,密碼是:yeah;使用 LINUX機子的IP是:10.0.0.20
壹 . 從LINUX上獲取WINDOWS文件的基本方法(有3種方法)
1. smbmount---普通用戶就可以使用的命令
掛載文件
#smbmount //10.0.0.10/music /home/user/music -o "username=share,password=yeah"
主意與下面的mount不壹樣的是-o後面壹定要引號
卸載已經掛載的文件
#smbumount /home/user/music
2. mount---超級用戶才有的權限,但效果與上面壹樣
掛載文件
#mount -t smbfs -o username=share,password=yeah //10.0.0.10/music /home/user/music
卸載文件
#umount /home/user/music
註:以上兩個命令掛載要想顯示中文,必須添加如下參數
codepage=cp936,iocharset=utf8(與linux機的本地環境壹致,如是gb2312,這兒也要寫成:iocharset=gb2312 ;codepage要與遠程壹致,是指定源代碼文件的代碼頁---壹個內>部表,操作系統用它將符號(字母、數字和標點)映射為字符編號。如932 代表日本漢字,950代表繁體中文字符集,說明壹下就是codepage是cp936,而不是936,否則在有時顯示漢字還是亂碼。
3. 使用smbclient訪問Windows資源
它是壹個類似於ftp操作方式,通過遠程操作的方式進行文件傳遞的軟件。為了獲得網絡上可以訪問的計算機列表,首先需要使用 smbclient來獲得壹個Windows計算機***享出來的資源,這需要使用-L參數訪問IPC
#smbclient -L 192.168.1.150 -N
或者機器名
#smbclient -L hit -N
如果不清楚壹個Windows計算機的NetBIOS名字,可以使用nmblookup先來解析NetBIOS名字
#nmblookup hit (若瀏覽網上鄰居用:#nmblookup -T "*")
當上面查到資源後,就可以用smbclient登陸了
#smbclient \\hit\music yeah -U share (其中yeah是密碼,share是用戶名)
執行smbclient命令成功後,進入smbclient環境,出現提示符:smb: >,然後就可以執行和ftp命令中相似的命令:cd, lcd, get ,mget ,put ,mput等,用法就跟FTP壹樣了。
註:要想使用smbclient來訪問windows時,也需要使用UNC來標識Windows資源的位置。此時就需要了解 WindowsUNC在Unix>下進行表示的不同之處。不同之處在於Unix的shell下反斜線為特殊字符,它被定義為轉義恢復字符,表示將壹些轉義字符恢復為其本身字符的意義。因此必須使用兩個反斜線才能等同於壹個反斜線。因此壹個UNC實際使用時應使用雙倍的反斜線。
若想使用基於圖形的客戶端:感覺比較好用的是tksmb和smb4k(KDE)
若只是以上使用不用配置/etc/samba/smb.conf,也不用啟動 samba 服務,甚至可以不裝samba程序
二. WINDOWS機子訪問在LINUX上的資源
需要使用兩個進程:nmbd smbd, 前者nmbd是提供WINDOWS瀏覽,後者smbd是針對WINDOWS瀏覽後的登陸等服務。
首先需要說明的是,當samba 還沒有添加用戶時,WINDOWS機子是登陸不上來的,所以第壹步就是添加用戶:
# smbpasswd -a myfirst
需要說明的是這個用戶必須是系統用戶,否則回提示
Failed to initialise SAM_ACCOUNT for user myfirst. Does this user exist in the UNIX password database ?
Failed to modify password entry for user myfirst
當然可以對用戶進行映射,見後面說明。
接著就簡單了,就是配置/etc/samba/smb.conf,見下面壹個配置以及相應說明,拷貝後您只需要稍稍修改壹些妳自己的信息就可以使用了(參考了前人的說明)
/etc/samba/smb.conf文件
## /etc/samba/smb.conf配置文件有三個重要的節:[global],[homes],[public]
#Global (全局)參數,該部分設置整個系統的規則,定義了壹些公***變量。
[global]
netbios >#定義Windows系統“網上鄰居”中所見的機器名。
workgroup = workgroup
#定義主機所在網絡上所屬的NT域名或者工作組名稱
server string = FunField
#對主機的說明信息,缺省是:Samba Server
hosts allow = 192.168.1. 192.168.3.
#它允許設置哪些機器可以訪問samba服務器
guest account = nobody
invalid users = root
#定義smb用戶名稱。
security = user
#定義訪問權限。訪問權限由低到高有三種:share、user和server。其中share安全級別最低,user模式要求連接時輸入用戶名和口令
encrypt passwords = true
#設置是否需要加密口令。因為Windows系列默認采用加密口令傳輸,而Linux默認采用非加密口令傳輸,為保證smb網絡用戶的正常登錄,在user安全級下設置為加密,在share 安全級下可不設。
smb passwd file = /etc/samba/smbpasswd
#由命令cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd產生。
interfaces = 192.168.1.50/24
#配置smb服務所使用的網卡IP以及子網掩碼,如果有兩個以上網卡,要全部列出。
name resolve order = host dns bcast
#設定smb服務時,從機器netbios名稱到IP地址的解析方式,默認順序為host lmhosts wins bcast。如果局域網內有DNS,可設置為host dns bcast。
wins support = no
#設置是否有wins支持。
public = yes
#為yes時,“網上鄰居”中可見該資源,否則不可見。
browseable = yes
#為yes時,“網上鄰居”中可見該資源,否則不可見。
#printing = bsd
# 指定Linux使用哪個打印機守護進程(bsd、sysv、hpux、aix、qnx、plp),同時向samba說明命令lpr和lpq的缺省值。
#printcap ># 定義了打印配置文件所處的位置。
load printers = no
# 表明是否加載printcap 定義的所有打印機以供瀏覽。
log file = /var/log/samba/log.%m
# 定義日誌文件
max log 'size' = 1000
#日誌文件最大1000k (單位是KB)
username map = /etc/samba/smbuser
#允許管理員指定壹個映射文件,該文件包含了在客戶機和服務器之間進行用戶映射的信息。 用戶映射經常在windows 和linux 主機間進行。 兩個系統擁有不同的用戶賬號,用戶映射的目的是將不同的用戶映射成為壹個用戶,便於***享文件。
#*********************************************************************#
[homes]
#該部分通常定義了Linux機器上***享的目錄資源,其名字可以由用戶確定。段中的設置控制了每壹個用戶目錄的***享權限。
comment = Home Directories
#設定在瀏覽本機資源時,出現在指定資源旁邊的字符串。
browseable = yes
#控制壹項服務是否能夠出現在網上鄰居中,no意味著這個目錄將在瀏覽時顯示為要驗證的用戶名稱,yes則顯示 homes 和要驗證的用戶名稱的***享目錄。
writable = yes
#控制是否允許通過驗證的用戶對主目錄有寫入的權限,但最終取決於該目錄的 Unix 權限。無論 Unix 的權限怎樣, 設置 writable = no 後, 主目錄只能是只讀的。
create mask = 0700
directory mask = 0700
#若上面是可寫的,則設置寫文件和目錄時的屬性
#******************************************************************#
[public]
#用來指定某壹特定用戶組或者用戶擁有訪問權限的目錄配置分,配置***享目錄部分
comment = Public Stuff
# 說明部分
path = /home/samba
#***享的Linux目錄
writable = no
#寫權限
printable = no
#打印權限
用於用戶映射的文件/etc/samba/smbuser
# smb.conf中全局參數 “username map” 指定的映射文件
root = admin administrator
#Map Windows admin to root
hawk = girl
#Map the member of girl to hawk
snake = boy
# 等號左邊是單獨的Linux賬號,等號右邊是要映射的賬號列表。服務器逐行分析映射文件,如果提供的賬號和某行有右側列表中的賬號匹配,就把它替換為等號左邊的賬號。