歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Linux系統下Samba Server的配置文件解析

閱讀提示:在Linux下可以通過Samba客戶端訪問局域網內的Windows主機,也可以通過Samba服務器給Windows主機提供文件、打印機等服務。

Samba 使用/etc/samba/smb.conf 作為他的的主配置文件,直接修改並不直接生效,直到你在使用了#service sma restart 命令重啟Samba服務之後才會生效。

    Samba 使用/etc/samba/smb.conf 作為他的的主配置文件,直接修改並不直接生效,直到你在使用了

    #service sma restart

    命令重啟Samba服務之後才會生效。下面是smb.conf 文件的幾個有用參數:

    workgroup = WORKGROUP-NAME ##############設置加入工作組名稱

    server string = BRIEF COMMENT ABOUT SERVER ##############此選項是可選的,主要作用是Samba服務Windows系統注釋。

    Host allow = 192.168.1. 192.168.2. 127. ##############此項對安全性非常重要。它嚴格限制了可訪問Samba 的范圍。默認是允許所有IP訪問……

    Printcap name = /etc/printcap ############設置打印機配置文件路徑

    Load printers = yes #########是否將打印機共享

    Printing = cups #################打印機的類型。若用的打印機的是linux標准類型的則不要更改

    Guest account = pcguest ##################如果想讓用戶`pcguest`以匿名用戶身份登陸……;就去掉前面的注釋。並確保在/etc/passwd中有此用戶。這裡的pcguest可以根據需要改成用戶自己設置的本地用戶。

    Loginfile = /var/log/samba/%m.log ####################log會在此目錄中為每個登陸用戶(Samba用戶)建立不同的日志文件。

    Passwd Server = ##################密碼驗證服務器。當用戶從Windows通過Samba使用linux時。全自動傳送登陸windows時的用戶名與密碼給Samba.然後Samba向windows server驗證這兩項信息是否正確。若不正確,則會出現對話框要用戶重新輸入用戶名與密碼。而這個密碼服務器可以是NT SERVER(通常是主域控制器)或是另一個Samba Server. 因此若Security = share,則要刪除關於密碼服務器的那一行。

    Password Level -= 8 ##########################密碼級別設置

    Encrypt password = yes ##############用戶密碼要加密。由於現在98/NT 皆用加密的密碼。因此要有這一項,當然也可以要求使用不加密的密碼。

    Smb Passwd file = /etc/samba/smbpasswd ############將密碼驗證服務器,設置為Samba server時,需要用此行來指定要驗證的密碼文件,這最重要的是密碼文件設置的路徑。

    Uin passwd sync = yes

    Passwd program = /usr/bin/passwd %u ##############接下來的兩行設置用來容許WIN密碼改變後可更新linux系統的密碼,確定`encrypt passwords`和`smb passwd file `項被啟用。

    Pam password change = yes ##############當用戶要求更改密碼時,使用PAM.不用本地口令程序/user/bin/passwd

    Username map = /etc/samba/smbusers ##############在此文件中設置對應的用戶名稱,例如:root=administrator admin 等,如果每個windows用戶在samba服務器中都有賬號,則可以不設置,

    Include = /etc/samba/smb.conf %m ##############此行允許用戶自定義每台計算機的基本配置文件,%M代表NETBIOS正在連接的計算機的稱。

    Obey pam restrictions = yew ##############當用戶認證時,服從PAM的管理限制。

    Socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 ##############設置服務器和客戶之間會話的Socket選項,此項設置將優化傳輸速度。

    Interfaces = 192.168.12.2/24 192.168.13.2/24 ##############如果用多網絡界面須在此列出。

    Remote browse sync = 192.168.3.25 192.168.2.255 ##############本行和下一行是遠程浏覽設置

    Remote announce = 192.168.1.255 192.168.2.44

    # Browser Control Options 浏覽控制選項

    local master = no

    oslevel = 33

    domain master = yes

    preferred master = yes

    domain logons = yes

    logon script = %M.bat ##############本行和下一行設置登陸腳本

    logon script = %U.bat

    wins support = yes ##############wins server支持

    wins server = w.x.y.z ##############wins 客戶端設置

    wins proxy = yes ##############wins proxy 設置

    dns proxy = no ##############dns proxy設置,默認是不為客戶端做DNS查詢的

    [homes] ##############用戶訪問自己目錄的設置

    browseable = no ##############用戶私人目錄,不需要給別人浏覽

    writeable = yes ##############用戶寫入自己目錄的權限

    [netlogon]

    guest ok = yes

    share modes = no

    [profiles] ##############默認profiles設置

    [printer] ##############打印機設置

    path = /var/spool/samba ##############打印機池(spool)用戶須自創建目錄

    browseable = no ##############此行存放打印機的臨時文件

    set public = yes to allow user `guest prinr ##############如果設置,則允許guest用戶使用打印機

    printable = yes ##############用戶是否可以打印

    [temp]

    read only = no ##############是否只讀或可寫入

    public = yes ##############是否共享

    配置share級別的服務器

    workgroup = linux

    hosts allow = 192.168.1. ##############如不想限制可注釋掉

    printcap = /etc/printcap

    load printers = yes

    printers = lprng

    guest account = abc ##############這需要指定一個用戶帳號abc是samba中已存在的一個用戶帳號

    logfiles = /var/log/samba/%m.log

    maxlog size = 50

    security = share

    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF =8192

    ##注:其它可能以按smb.conf默認設置

    ##重啟服務

    測試samba命令testparm

    ======================================================================

    配置USER 級別的服務器

    在share級的基礎配置上修改:

    security = user

    添加:

    guest account = zjz

    encrypt passwords = yes

    smb passwd file = /etc/samba/smbpasswd ##############當配置文件/etc/smb.conf進行user級的設置後需要設置samba密碼文件。建立smbpasswd帳號和口令。使其與/etc/passwd的帳號和口令相同
方法如下:

    1:建立本地帳號,生成口令文件夾/etc/passwd,把/etc/passwd裡的用戶都加到/etc/samba/smppassword文件中

    注意:該過程是先在本地建立帳號和密碼,然後再把口令文件傳給/etc/samba/smbpasswd,順序不能相反。因本地帳號的口令和samba服務器中的帳號的口令是不相同的。

    #adduser zjz

    #passwd zjz

    #cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    這裡的`/etc/samba/smbpasswd和smbpassspwd和smbpasswd file = /etc/samba/smbpasswd`r 路徑要相同。

    2:利用smbpasswd命令來為剛才建立的帳號設立samba server 口令。

    注意:使用smbpasswd 命令修改用戶口令時。被修改的samba帳號的本地系統用戶帳號須已經存在。

    #smbpasswd zjz

    重啟samba服務。USER級服務器配置完畢。

    注意:如果不能實現WIN計算機和Samba資源互訪。可以在各自的主機中添加對方的主機名和IP地址,然後再測試:方法如下:

    在linux系統/etc/hosts中添加:win-IP Win hostname (192.168.0.11 mywinpc)

    在windows系統c:\windows\hosts中添加:win-IP Win—hostname

    配置Server級服務器

    server級的安全性比USER級更高。在suer級配置的基礎上修改:

    security = server

    添加:

    password server = libtserver ##############密碼服務器,這裡是用win2k主域控制器libserver“來做密碼服務器。當然也可以用另一個samba server來做密碼服務器。

    注釋掉smbpasswd file = /etc/samba/smbpasswd

    設置完後,用testparm和smbclient命令進行調試。這樣當一台win NT/98計算機登陸libserver域服務器時,同時也登陸了Samba Server 上。不過這時的用戶帳號和密碼在libserver和Samba server 上應該是相同的。如果是已經加入的libserver主域控制器的計算機就可以輸入用戶帳號和密碼來打開Samba Server 的共享文件。其它計算機雖然也和samba server 在同一個網段上,但如果不用libtserver和samba server 共有的用戶帳戶和密碼登陸。就不能訪問samba.

Copyright © Linux教程網 All Rights Reserved