Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> .Linux Samba Server的配置文件解析

.Linux Samba Server的配置文件解析

日期:2017/2/7 9:19:51      編輯:Linux教程
電腦店訊 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.  【相關文章】 修改配置文件   [root@linux-zlg home]# cd /etc/samba [root@linux-zlg samba]# vi smb.conf ^^^^^^^^^^^^^^^^^^^^^^內容如下^^^^^^^^^^^^^^^^^^^^^^ [global]    workgroup = MYGROUP      建議設置為同windows一樣的工作組名如workgroup    server string = Samba Server    網上鄰居訪問時備注注信息中可以看到   ;   hosts allow = 192.168.1. 192.168.2. 127.     允許訪問的網絡或主機地址    printcap name = /etc/printcap    load printers = yes                 自動加載打印機列表    printing = cups                    打印系統名稱 ;  guest account = pcguest 如不設,則默認匿名帳號為nobody    log file = /var/log/samba/%m.log    max log size = 0                0為不限制,如指定,則單位為KB。     security = user     安全級別:share/user/server/domain後兩種需指定驗證的服務器 #  password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]  # or to auto-locate the domain controller/s #   password server = * ;   password server = <NT-Server-Name>           安全級別的後兩種需要的驗證服務器      encrypt passwords = yes    smb passwd file = /etc/samba/smbpasswd      pam password change = yes   # Unix users can map to different SMB User names ;  username map = /etc/samba/smbusers     Windows和Linux之間的用戶映射文件 ;   include = /etc/samba/smb.conf.%m      socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 定義網絡socket 方面的一些參數,能實現更好的文件傳輸效率。   ; interfaces = 192.168.12.2/24 192.168.13.2/24   指定samba使用的網絡接口,多個網絡接口可用 ;   local master = no  是否允許nmbd守護進程成為局域網中的主浏覽器 #================= Share Definitions ================ [homes]    comment = Home Directories    browseable = no    writable = yes    valid users = %S  表與共享名同名的用戶。如多個用戶則空格分開,組群名前加@    create mode = 0664   設置新文件權限    directory mode = 0775 設置新目錄權限    [printers]      打印共享定義    comment = All Printers    path = /var/spool/samba    browseable = no # Set public = yes to allow user 'guest account' to print    guest ok = no    writable = no    printable = yes [sharedoc]      comment = share test    path = /home/sharedoc ;   valid users = mary fred    public = no    writable = yes ;   printable = no ;   create mask = 0765   [pub]      comment = public folder    path = /home/pub    public = yes    writable = yes ;   printable = no ;   create mask = 0765 ^^^^^^^^^^^^^^^^^^^^^內容完畢^^^^^^^^^^^^^^^^^^^^^^^^^^ [root@linux-zlg samba]# service smb restart [root@linux-zlg samba]# service smb reload    修改了smb.conf後,可用此命令重新載入配置文件   [root@linux-zlg root]# smbclient -L localhost    查看本機的共享 added interface ip=192.168.80.10 bcast=192.168.80.255 nmask=255.255.255.0 added interface ip=192.168.0.10 bcast=192.168.0.255 nmask=255.255.255.0 Password:     直接回車 Anonymous login successful Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.2.7a] …… ========================================================== 建立samba用戶   當安全級別為用戶模式時,需要創建samba用戶。   1、如需要把user1加入到samba用戶中,可用以下命令: [root@linux-zlg root]# smbadduser user1:user1     後面的user1為在windows中進行訪問時輸入的用戶名,不一定在windows系統中存在。但在linux中的user1用戶必須已存在。 ERROR: user1 is already in /etc/samba/smbpasswd SKIPPING... [root@linux-zlg root]# smbpasswd user1           修改samba用戶的口令    2、也可使用mksmbpasswd.sh腳本文件一次性把linux系統用戶全部加入到samba用戶中:  [root@linux-zlg root]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd   其它   [root@linux-zlg root]# chkconfig --level 35 smb on   設置開機自動啟動服務 [root@linux-zlg root]# smbstatus 查看當前訪問狀態 [root@linux-zlg root]# testparm                    檢查smb.conf中的語法有無錯誤 Load smb config files from /etc/samba/smb.conf [root@linux-zlg root]# testparm /etc/samba/smb.conf lgxh 192.168.80.1  查看允許客戶端訪問的資源   [共享名]   comment = 任意字符串 說明:comment是對該共享的描述,可以是任意字符串。   path = 共享目錄路徑 說明:path用來指定共享目錄的路徑。可以用%u、%m這樣的宏來代替路徑裡的unix用戶和客戶機的Netbios名,用宏表示主要用於[homes]共享域。例如:如果我們不打算用home段做為客戶的共享,而是在/home/share/下為每個Linux用戶以他的用戶名建個目錄,作為他的共享目錄,這樣path就可以寫成:path = /home/share/%u; 。用戶在連接到這共享時具體的路徑會被他的用戶名代替,要注意這個用戶名路徑一定要存在,否則,客戶機在訪問時會找不到網絡路徑。同樣,如果我們不是以用戶來劃分目錄,而是以客戶機來劃分目錄,為網絡上每台可以訪問samba的機器都各自建個以它的netbios名的路徑,作為不同機器的共享資源,就可以這樣寫:path = /home/share/%m 。   browseable = yes/no 說明:browseable用來指定該共享是否可以浏覽。   writable = yes/no 說明:writable用來指定該共享路徑是否可寫。   available = yes/no 說明:available用來指定該共享資源是否可用。   admin users = 該共享的管理者 說明:admin users用來指定該共享的管理員(對該共享具有完全控制權限)。在samba 3.0中,如果用戶驗證方式設置成“security=share”時,此項無效。 例如:admin users =bobyuan,jane(多個用戶中間用逗號隔開)。   valid users = 允許訪問該共享的用戶 說明:valid users用來指定允許訪問該共享資源的用戶。 例如:valid users = bobyuan,@bob,@tech(多個用戶或者組中間用逗號隔開,如果要加入一個組就用“@+組名”表示。)   invalid users = 禁止訪問該共享的用戶 說明:invalid users用來指定不允許訪問該共享資源的用戶。 例如:invalid users = root,@bob(多個用戶或者組中間用逗號隔開。)   write list = 允許寫入該共享的用戶 說明:write list用來指定可以在該共享下寫入文件的用戶。 例如:write list = bobyuan,@bob   public = yes/no 說明:public用來指定該共享是否允許guest賬戶訪問。   guest ok = yes/no 說明:意義同“public”。 
Copyright © Windows教程網 All Rights Reserved