歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux上Samba 常見問題解答

Linux上Samba 常見問題解答

日期:2017/2/27 9:28:42   编辑:更多Linux
  一. 由Linux向windows提供文件/目錄及打印機共享。  在Linux服務器上的Samba運行起來以後,Linux就相當於一台文件及打印服務器,向windows  和Linux  Samba客戶提供文件及打印服務。工作在共享模式或者用戶模式下的兩種方法較為常見(Secu  rity=share  or Security=user) ,其中有以下常見問題。 環境: Redhat Linux 6.x    1.共享模式時從Windows 98客戶端不能從網上鄰居中看到服務器,或者看到後不能點擊進入  共享資源  說密碼不對等等。  a. 沒有去掉行guest account = pcguest前面的注釋符號  b. 沒有創建guest帳號pcguest (#useradd pcguest即可)  c. windows 98默認發送加密的口令,而/etc/smb.conf中沒有enable Samba加密口令。  或者也可以編輯windows 98注冊表,讓它發送文本口令(不被建議的)    2. 在/etc/smb.conf中定義了完全可寫共享目錄,但實際操作時不能寫入。   a. 特別要注意的是:LINUX本身的文件及目錄權限永遠大於SAMBA定義的權限,要讓某共享  資源目錄  可以被寫,首先要保證在LINUX下面該目錄可以被相應的用戶可寫,這是前提。    3.在共享模式下如何對某共享目錄加用戶名及密碼保護?  a. 看下面的共享資源定義例子:  security = SHARE  username map = /etc/smbusers  log file = /var/log/samba/log.%m  max log size = 50  socket options = TCP_NODELAY  client code page = 936  os level = 40  local master = yes  preferred master = yes  domain master = yes  guest account = pcguest  encrypt passWords = yes  smb passwd file = /etc/smbpasswd  [sales]  comment = test folder  path = /sales/training  guest ok = no  writable = yes  valid users = @sales  write list = @sales  在上面的例子中,我們定義了security=share and samba encrypt password,共享目錄名sa  les  不是guest用戶可訪問的,需要屬於sales組裡的用戶可訪問同時也可寫,當然在Linux下面要  保證  /sales/training目錄可被組sales可寫,這樣以後  定義你的windows logon(不是NT域登錄)的用戶名為組sales裡的用戶名,然後在網上鄰居  中雙擊  sales時會提示你密碼,該密碼是你在Samba服務器上定義的samba加密的口令,在上面的例子  中  用戶名和密碼對存放在文件/etc/smbpasswd中,當然你事先要有系統用戶名在/etc/passwd中  。    4. windows用戶經常不能在網上鄰居中浏覽到Samba服務器的名字。  a. windows的網上鄰居服務是非常不可靠的服務,它所建立的浏覽列表不可靠,由眾多因素  引起。  b. 一種可靠的解決辦法是直接用‘查找’-‘計算機’-打入samba服務器的主機名進行查找  。  注意要確保你在windows啟動時沒有取消登錄。  c.你也可以在DOS窗口用net use 命令:如c:\ net use m: \\sambaservername\shareresou  rcename    5.服務器端的測試配置工具  a. 在配置完/etc/smb.conf後運行testparm檢測配置文件中是否有相應語法錯誤  b. 在Samba服務起來後,用smbstatus報告用戶使用和登錄情況。  c. 在更改過配置文件後,運行/etc/rc.d/init.d/smb restart重讀配置文件    二.在Linux客戶機上使用Linux Samba服務器    1. 在Linux客戶機上使用Smbclient  a. 列出計算機192.168.100.1上所有可用的共享資源:  smbclient -L 192.168.100.1  如果詢問口令,則直接回車。  也可用名字如:  smbclient -L sh3  若不知道sh3的IP地址,也可用  smbclient -L sh3 -I 192.168.100.1  b. 以某用戶身份連接到Samba服務器192.168.100.1上的共享資源sales  smbclient //192.168.100.1/sales -U jephe  提示口令後輸入口令,也可把口令打在命令行上用%號分隔  為: smbclient //192.168.100.1/sales -U jephe%password  提示符為smb:\,就象是FTP一樣  也可用名字如:  smbclient //sh3/sales -I 192.168.100.1 -U jephe    你也可以用'\'符號,你的SHELL可能會過濾到特殊符號\,則要這樣寫  #smbclient \\\\sh3\\sales     2. 通過IP地址查找netbios名字  a.在windows下用  c:\nBTstat -A 192.168.100.1  如果知道netbios名字,可用下面的命令得知提供某機器哪些服務  c:\nbtstat -a hydra    b.在Linux下用  #nmblookup -A 192.168.100.1  在一個網段內可用下面的命令檢測哪些主機在提供samba共享服務:  #nmblookup -d 2 '*' or #nmblookup -B 192.168.100.255 '*'  檢測其它網段內的某台機器是否提供samba服務  #nmblookup -A 192.168.15.48  但不能用 #nmblookup -B 192.168.15.255 '*',因為一般的路由器和Linux雙宿主機不轉發子  網直接廣播。    3. netbios over TCP/IP使用的協議及端口號    a. 共有三種netbios服務   netbios-ns 137/udp(大多數) and 137/tcp  netbios-dgm 138/udp(大多數) and 138/udp  netbios-ssn 139/tcp     b.windows機器上的PC應用程序通過不同機器間的netbios名字來彼此通訊。    c. 每次當windows機器啟動時,它向整個網段內發出137/udp廣播,一來登記向某  工作組內的主浏覽器登記netbios名字,二來確信整個子網內沒有與之相同的名字    d. 網上鄰居中所建立起來的浏覽列表僅僅是列表,看不到也沒有關系,同樣也可以通過  計算機查找,net use命令等來與別的計算機通訊,共享文件和打印機    e. 不在同一網段內的機器或者是撥號到LAN上的PPP服務器後不可能進行網上鄰居的浏覽。  這是因為子網內的廣播不被串行線路和路由器轉發。    f. 如何在撥號到LAN上的PPP服務器後使用LAN上的Samba服務器?   在windows目錄下編輯c:\windows\lmhosts  如: 192.168.11.3 sh3 #PRE #DOM:sales  執行nbtstat -R 去enable它,不需要重啟windows   你必須登錄windows,若是用戶模式的samba,你應該選擇windows NT登錄   其它設置跟LAN上的機器一樣   撥號建立連接後,在查找‘計算機’功能定位資源    現在你能使用遠端服務器上的目錄和打印機。    在不同網段內的機器也可參照此做法,也可用plug-gw代理tcp/139號端口訪問另一網段上的  samba  服務器。    4. 用Microsoft FTP 服務器的簡便方法。 ftp.microsoft.com    a. 加‘ftp'到lmhosts文件  198.105.232.1 ftp #PRE  運行nbtstat -R   b. net view \\ftp  c. net use g: \\ftp\data  d. dir g:     5. smbmount 的使用  a. #smbmount //192.168.100.1/pub /mnt/sh3 -U jephe%password    Jephe Wu




Copyright © Linux教程網 All Rights Reserved