歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> samba服務詳解

samba服務詳解

日期:2017/2/27 9:40:24   编辑:更多Linux

  工作原因偶配置sambs 服務器的時候比較多,所以寫下來和大家共同探討一下.本文是針對red hat Linux 9 samba server的配置.希望能對像我    一樣的小菜有點幫助.本文沒有什麼技術含量.本人涉及linux的造詣不深,還請各位指教.  samba server的配置文件在/etc/samba/下的smb.conf打開一個終端中輸入: gedit /etc/samba/smb.conf 也可以用vi編輯.由於文件太長,我把    個人認為沒有用的東東刪除了,主要是一些注釋.下面偶解釋一下主要字段的意思.由於我的這個文件配置過了,可能你的機器和我的不一樣.  ======================= Global Settings =====================================  [global] //設置samba服務整體環境  workgroup = hackase //設置工作組名  server string = angel server //服務器的名說明    ; hosts allow = 192.168.1. 192.168.2. 127. //限制可訪問此服務的IP范圍,默認是全部  允許的,要是想設設置去掉前面的";"  printcap name = /etc/printcap //打印機配置文件  load printers = yes //是否共享打印機    # bsd, sysv, plp, lprng, aix, hpux, qnx, cups  printing = cups //打印機的類型.標准打印機類型包括以上幾種.    ; guest account = pcguest //pcguest為用戶名.可改去掉前邊的";"讓用戶以  pcguest身份匿名登錄,但保證/etc/passwd中有此人.    log file = /var/log/samba/%m.log //為登錄服務器的用戶建立不同的日志文件.    max log size = 0 //日志文件的大小,"0"代表無限制    //以下是smb.conf文件對服務器安全級別的設置    security = SHARE //安全性的級別共四種.share、user、server、domain    ; passWord server = 密碼驗證服務器.    ; password level = 8 //密碼級別  ; username level = 8    encrypt passwords = yes //用戶密碼加密,當然也可以不加密    smb passwd file = /etc/samba/smbpasswd //將密碼服務器設置為samba server.需  要這個東東來指定驗證文件.這個是文件  的路徑,如果samba server是指定的win  server這個不須要    ; ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt    unix password sync = Yes  passwd program = /usr/bin/passwd %u  passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*sUCcessfully*    pam password change = yes    ; username map = /etc/samba/smbusers //如果每個windows用戶在samba服務器中有帳戶這  個可以不設  ; include = /etc/samba/smb.conf.%m    obey pam restrictions = yes    ; interfaces = 192.168.12.2/24 192.168.13.2/24 如果多網段要在這裡列出    ; remote announce = 192.168.1.255 192.168.2.44    ; local master = no    ; os level = 33    ; domain master = yes    ; preferred master = yes    ; domain logons = yes    ; logon script = %m.bat    ; logon script = %U.bat    ; logon path = \\%L\Profiles\%U    ; wins support = yes //wins server支持    ; wins server = w.x.y.z    ; wins proxy = yes //wins 代理設置    dns proxy = no //dns代理設置    ; preserve case = no  ; short preserve case = no    ; default case = lower    ; case sensitive = no    #============================ Share Definitions ==============================  [homes] //用戶訪問自已目錄的設置  comment = Home Directories //說明(以下同理)  browseable = no//設定目錄可不可以別人浏覽  writeable = yes//用戶寫入自己的權限  valid users = %S  create mode = 0664  directory mode = 0775      ; [netlogon] //此段域用戶登錄目錄設置  ; comment = Network Logon Service  ; path = /usr/local/samba/lib/netlogon  ; guest ok = yes  ; writable = no  ; share modes = no    ;[Profiles]  ; path = /usr/local/samba/profiles  ; browseable = no  ; guest ok = yes    [printers] //打印機設置  comment = All Printers  path = /var/spool/samba  browseable = no    printable = yes    ;[tmp] //用戶共享資源設置  ; comment = Temporary file space  ; path = /tmp //可以自定義目錄,去掉前邊的";"就OK了  ; read only = no //是否只讀或可寫  ; public = yes    ;[public] //用戶共享資源設置  ; comment = Public Stuff  ; path = /home/samba  ; public = yes  ; writable = yes  ; printable = no  ; write list = @staff      ;[fredsprn]  ; comment = Fred's Printer  ; valid users = fred  ; path = /home/fred  ; printer = freds_printer  ; public = no  ; writable = no  ; printable = yes    ;[fredsdir]  ; comment = Fred's Service  ; path = /usr/somewhere/private  ; valid users = fred  ; public = no  ; writable = yes  ; printable = no    ;[pchome]  ; comment = PC Directories  ; path = /usr/local/pc/%m  ; public = no  ; writable = yes    ;[public]  ; path = /usr/somewhere/else/public  ; public = yes  ; only guest = yes  ; writable = yes  ; printable = no    ;[myshare]  ; comment = Mary's and Fred's stuff  ; path = /usr/somewhere/shared  ; valid users = mary fred  ; public = no  ; writable = yes  ; printable = no  ; create mask = 0765    [my work] //偶的東東  comment = is me work  path = /root/my work  valid users angel  public = yes  writeable = yes    _content>好了,了解smb.conf的文件就好辦了.我們開始對samba server的四個安全級別分別講解.    1、share級配置    這個在四個等級中是最低的,方法也是最簡單.我們只要對smb.conf文件修改一下就可以了.    workgroup = hackase    server string = angel server    hosts allow = 192.168.1. //限制192.168.1的IP網段可以防問      printcap name = /etc/printcap    load printers = yes //共享打印機    printing = cups //打印機用linux標准的    guest account = angel    log file = /var/log/samba/%m.log    max log size = 20    security = share  ===================================================================  其他的設置默認就可以了,也可以像我把所有的注釋刪除.[tmp]這個字段的";"去掉.路徑可以更改. 重啟一下服務 /etc/samba/smb restart //    service smb restart 也可    用testparm測試我們配置的文件是否正確:  ===================================================================  [root@localhost root]# testparm //測試時[printers]注釋掉了所以這裡沒有.  Load smb config files from /etc/samba/smb.conf  Processing section "[homes]"  Processing section "[tmp]"  Processing section "[my]"  Loaded services file OK. //如有錯誤,會在這列出錯誤的地方.  Press enter to see a dump of your service definitions  ==================================================================  用smbclient命令查看網絡共享情況  ===================================================================  [root@localhost etc]# smbclient -L localhost //本機名為localhost  Password:  Domain=[HACKBASE] OS=[Unix] Server=[Samba 2.2.7a]    Sharename Type Comment  --------- ---- -------  tmp Disk Temporary file space  my Disk is me  IPC$ IPC IPC Service (angel server)  ADMIN$ Disk IPC Service (angel server)  root Printer Home Directories    Server Comment  --------- -------    Workgroup Master  --------- -------  =======================================================================  2、user級配置    user比share級安全級別高一點點,很簡單的,可以在share基礎上改一下就可以了.    改一下security = share字段為:security = user.在加上如下字段:    guest account = angel //機器上有這個用戶名,如果你沒有那就建一個吧!    encrypt passwords=yes    smb passwd file=/etc/samba/smbpasswd    (1)生成口令文件.    #cat/etc/passwd mksmbpasswd.sh>/etc/samba/smbpasswd    本命令將生成口令文件"/etc/samba/smbpasswd" 這個就是我們剛加上的"smb passwd file=/etc/samba/smbpasswd"  (2)我們知道建賬戶是建在etc/passwd文件裡,我們須要用smbpasswd命令為剛才建立的賬名設置samba server口令. 格式為:smbpasswd angel    (3)重啟samba server服務    user級的也OK了,你可以用testparm and smbclient命測試.windows用戶想訪問就要輸入angel and passwd.這個就不是誰都可以訪問你的共享    資源了.    3、server 級配置  server級比user級也高那麼一點,只需要user級配置上修改一下就OK了.    (1)security = user字段為:security = server    (2)加上password server = ****** //密碼服務器,這個可以是你的windows主域控制器,也  可以是別一個samba server服務器(名子無意思)    (3)注釋smb passwd file=/etc/samba/smbpasswd    (4)重啟samba server服務,你可以用testparm and smbclient命測試.    好了,又完事一個現在如果一台windows機器登錄******(password server = ******設置的)域服務器的時候,也就同登錄上了samba server,如    果你以是*****主控域的計算機,那你就可以輸入你自己的賬號密碼打開samba server的文件了,但是你要保證*****和sambs server的賬號和密    碼相同.    4、domain級的配置  domain級的配置是samba server中級別最高的他主要就是把samba加入到域中去,用域服務器作samba server的密碼服務器.    其實domain級的配置也很簡單,只需要在user級的基礎上修改:    (1)加入字段:NETBLOS = main //起一個NETBLOS名,放在smb.conf文件的最上邊  password server = ** //用主域控制器**來做密碼服務器  (2)security = user字段為:security = domain  workgroup = ***** //*****是主域控制器的域名  (3)注釋smb passwd file=/etc/samba/smbpasswd  (4)重啟samba server服務,你可以用testparm and smbclient命測試.  終於完事了,好在我的"彈指神功"技術純熟.這個時候我們就可以和windows系統通信了,我也要去呼呼了,等等~~~那網絡可以共享了,那麼我們本    機的linux系統和本機的windows系統怎麼通信啊!呵呵.當然有辦法,到現在大俠們可以起來活動活動了,幫我看看我寫的有什麼錯誤.好了,打開    終端輸入:[root@localhost root]# fdisk -l //查一下windows系統所在的分區.    Disk /dev/hdb: 61.4 GB, 61492838400 bytes  255 heads, 63 sectors/track, 7476 cylinders  Units = cylinders of 16065 * 512 = 8225280 bytes    Device Boot Start End Blocks Id System  /dev/hdb1 * 1 738 5927953+ 7 HPFS/NTFS  /dev/hdb2 739 7476 54122985 f Win95 Ext'd (LBA)  /dev/hdb5 739 1480 5960083+ 7 HPFS/NTFS  /dev/hdb6 1481 2383 7253316 b Win95 FAT32  /dev/hdb7 3651 6200 20482843+ b Win95 FAT32  /dev/hdb8 6201 7476 10249438+ b Win95 FAT32  /dev/hdb9 2384 2396 104391 83 Linux  /dev/hdb10 2397 3585 9550611 83 Linux  /dev/hdb11 3586 3650 522081 82 Linux swap    [root@localhost root]# mkdir /mnt/my //在mnt下建一個叫my的目錄(定義到那自己決定)    [root@localhost root]# mount -t auto /dev/hdb7 /mnt/my //不用說了吧!    這樣就可以防問windows的分區了,但是系統分區不可以是ntfs格式的.    windows系統訪問linux系統要用到工具,"eXPlore2fs"可以到    _blank>http://download.enet.com.cn/Html/030282000080601.html下載    在工作中,大多用第二種方法.好了,我終於可以去呼呼了.感謝您看完!!






Copyright © Linux教程網 All Rights Reserved