萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux系統下Samba Server的配置文件解析

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

class="21010"> ; 閱讀提示:在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:windowshosts中添加: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 © 萬盛學電腦網 all rights reserved