歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux系統下Samba Server的配置文件解析

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

日期:2017/3/2 16:49:38   编辑:Linux服務器

閱讀提示:在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