CentOS下Samba文件服務器的安裝與配置


http://blog.csdn.net/limingzhong198/article/details/22064801


前言:文件服務器提供的服務在大多數公司或企業都會被用到,因爲在任何的公司或企業都涉及不同職位獲取不同資源文件的情況,這就需要根據不同職位配置相關的不同權限,以保證相關資源文件的安全性和保密性。

一、Samba介紹:

        Server Message Block的縮寫是SMB,即服務器消息塊,SMB主要是作爲Microsoft的網絡通訊協議。Samba將SMB通信協議應用到了Linux系統上,使得Samba成爲一款能讓Linux系統應用Microsoft網絡通訊協議的軟件。Samba最大的功能可用於Linux與windows系統直接的文件共享和打印共享,Samba既可用於windows與Linux之間的文件共享,也可用於Linux與Linux之間的資源共享,由於NFS的出現,因而 Samba更多用在Linux與windows之間的數據共享上面。

  SMB是基於客戶機/服務器型的協議,故一臺Samba服務器既可當文件共享服務器,也可充Samba的客戶端。Samba在windows下使用的是NetBIOS協議,如果你要使用Linux下共享出來的文件,請確認你的windows系統下是否安裝了NetBIOS協議。

  組成Samba運行的有兩個服務,一個是SMB,另一個是NMB;SMB是Samba 的核心啓動服務,主要負責建立Samba服務器與Samba客戶機之間的對話,驗證用戶身份並提供對文件和打印系統的訪問,只有SMB服務啓動,才能實現文件的共享,監聽139 TCP端口;而NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啓動,就只能通過IP來訪問共享文件,監聽137和138 UDP端口。
        Samba服務器可實現如下功能:

         A、WINS和DNS服務;

         B、網絡瀏覽服務;

         C、Linux和Windows域之間的認證和授權;

         D、UNICODE字符集和域名映射;

         E、滿足CIFS協議的UNIX共享等。

二、環境準備:

         1、CentOS 6.3版本(32位),主機名:samba;

         2、IP地址:192.168.31.131;

         3、虛擬機:VMware Workstation 9.0.0 build-812388;

         4、samba軟件:samba-3.6.9-167.el6_5.i686;

         5、工作組:Lmzsamba。

三、安裝軟件:

         A、安裝前的準備工作:

                SELINUX=disabled

                關閉防火牆:service iptables stop

         B、執行如下命令安裝samba:

                [root@samba ~]# yum install samba samba-client samba-swat

         C、檢查samba是否安裝成功:               

                [root@samba ~]# rpm -qa | grep samba

                如果顯示有如下一些信息,則說明安裝沒有問題:

                samba-client-3.6.9-167.el6_5.i686

                samba-3.6.9-167.el6_5.i686

                samba-common-3.6.9-167.el6_5.i686

                samba-winbind-3.6.9-167.el6_5.i686

                samba-swat-3.6.9-167.el6_5.i686

                samba-winbind-clients-3.6.9-167.el6_5.i686

         D、啓動samba服務及狀態檢查:

                [root@samba ~]# /etc/init.d/smb start

                顯示結果:

                Starting SMB services:                                     [  OK  ]

                狀態檢查:

                [root@samba ~]# service smb status

                顯示結果:

                smbd (pid  2462) is running...

         E、設置開機自啓動,並查看是否設置成功:               

                [root@samba ~]# chkconfig --level 35 smb on

                檢查是否成功:

                [root@samba ~]# chkconfig --list | grep smb

                結果顯示如紅色部分(在3、5級別上自動運行samba服務),則表示設置成功:

                smb             0:off   1:off   2:off   3:on    4:off   5:on    6:off

四、服務配置:

         Samba服務配置主要是指/etc/samba/smb.conf文件的配置。一般情況下,公司或企業主要分三種情況,即:

        1、公共匿名類共享目錄的配置(即匿名賬戶訪問共同的目錄或者文件);

              A、配置文件:

                     [root@samba ~]# vi /etc/samba/smb.conf        

                     在文件中添加或者修改相關代碼:

                     workgroup = WORKGROUP                                                //定義工作組,也就是windows中的工作組概念

                     server string = Lmz Samba Server Version %v              //定義Samba服務器的簡要說明                     

                     netbios name = LmzSamba                                               //定義windows中顯示出來的計算機名稱

 

                     //定義Samba用戶的日誌文件,%m代表客戶端主機名

                     //Samba服務器會在指定的目錄中爲每個登陸主機建立不同的日誌文件

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

 

                     security = share                                                          //共享級別,用戶不需要賬號和密碼即可訪問

                    

                     [public]                                                                         //設置針對的是共享目錄個別的設置,只對當前的共享資源起作用

                                 comment = Public Stuff                                 //對共享目錄的說明文件,自己可以定義說明信息

                                 path = /share                                                   //用來指定共享的目錄,必選項

                                 public = yes                                                     //所有人可查看,等效於guest ok = yes                         

              B、建立共享目錄:

                     [root@samba ~]# cd ..

                     [root@samba /]# mkdir share

                     [root@samba /]# cd share

                     [root@samba share]# touch samba.txt

                     [root@samba share]# touch aa.txt                    

                     [root@samba share]# ls -ls

                     顯示結果:

                     total 0

                     0 -rw-r--r--. 1 root root 0 Mar 13 11:02 aa.txt

                     0 -rw-r--r--. 1 root root 0 Mar 13 11:02 samba.txt

                     爲/share目錄給匿名用戶授權爲nobody權限:

                     [root@samba /]# chown -R nobody:nobody share/

                     [root@samba /]# ll /share/

                     total 0

                     -rw-r--r--. 1 nobody nobody 0 Mar 13 11:02 aa.txt

                     -rw-r--r--. 1 nobody nobody 0 Mar 13 11:02 samba.txt

              C、重啓smb服務:

                     [root@samba /]# /etc/init.d/smb restart

                     Shutting down SMB services:                                [  OK  ]

                     Starting SMB services:                                            [  OK  ]

                     [root@samba /]# /etc/init.d/nmb restart

                     Shutting down NMB services:                                [FAILED]

                     Starting NMB services:                                            [  OK  ]

              D、測試smb.conf配置是否正確:                    

                     [root@samba /]# testparm

                     顯示結果:

                     Load smb config files from /etc/samba/smb.conf

                     rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

                     Processing section "[homes]"

                     Processing section "[printers]"

                     Processing section "[public]"

                     WARNING: The security=share option is deprecated

                     Loaded services file OK.

                     Server role: ROLE_STANDALONE

                     Press enter to see a dump of your service definitions

                     [global]

                                  netbios name = LMZSAMBA

                                  server string = Lmz Samba Server Version %v

                                  security = SHARE

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

                                  max log size = 50

                                  idmap config * : backend = tdb

                                  cups options = raw

                     [homes]

                                  comment = Home Directories

                                  read only = No

                                  browseable = No

                     [printers]

                                  comment = All Printers

                                  path = /var/spool/samba

                                  printable = Yes

                                  print ok = Yes

                                  browseable = No

                     [public]

                                  comment = Public Stuff

                                  path = /share

                                  guest ok = Yes

              E、訪問Samba服務器的共享文件:   

                     E1:CentOS系統下測試:                  

                     [root@samba /]# smbclient //127.0.0.1/public

                     顯示結果:

                     WARNING: The security=share option is deprecated

                     Enter root's password:

                     由於是匿名用戶,沒有設置密碼,所以在此直接回車即可:

                     Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-167.el6_5]

                     Server not using user level security and no password supplied.

                     smb: \>

                     在此輸入 ls 命令,回車得到如下信息:

                     smb: \> ls

                                       .                                   D        0  Thu Mar 13 11:02:47 2014

                                       ..                                 DR        0  Thu Mar 13 11:13:53 2014

                                       aa.txt                                       0  Thu Mar 13 11:02:47 2014

                                       samba.txt                                    0  Thu Mar 13 11:02:37 2014

                                                  35755 blocks of size 524288. 29202 blocks available

                     smb: \>

                     在此輸入 q 命令,退出訪問。

                     E2:window xp系統下測試,結果如圖:

                     

                     從圖中可以看出,公共目錄共享成功。

         2、按照權限對目錄進行分組(即除公共共享目錄外,各組訪問各組的文件或目錄,以技術部門TS爲例);

               A、添加TS部組和用戶,並賦給用戶密碼:  

                     [root@samba ~]# groupadd ts

                     [root@samba ~]# useradd -g ts zhangsan

                     [root@samba ~]# useradd -g ts lisi

                     設置lisi的密碼:

                     [root@samba ~]# passwd lisi

                     顯示結果:

                     Changing password for user lisi.

                     New password:

                     在此輸入密碼:123456,回車:

                     BAD PASSWORD: it is too short

                     BAD PASSWORD: is too simple

                     Retype new password:

                     再次輸入密碼:123456,回車:

                     passwd: all authentication tokens updated successfully.

                     設置zhangsan的密碼:

                     [root@samba ~]# passwd zhangsan

                     顯示結果:

                     Changing password for user zhangsan.

                     New password:

                     在此輸入密碼:123456,回車:

                     BAD PASSWORD: it is too short

                     BAD PASSWORD: is too simple

                     Retype new password:

                     再次輸入密碼:123456,回車:

                     passwd: all authentication tokens updated successfully.

               B、在根目錄下建立/ts 文件夾:  

                     [root@samba ~]# cd /

                     [root@samba /]# mkdir ts

                     [root@samba /]# cd ts

                     [root@samba ts]# touch ts.txt

                     [root@samba ts]# ls -ls

                     total 0

                     0 -rw-r--r-- 1 root root 0 Mar 13 18:17 ts.txt

               C、將建立的兩個帳戶(lisi、zhangsan)添加到samba的賬戶中:  

                     [root@samba ~]# smbpasswd -a zhangsan

                     New SMB password:

                     Retype new SMB password:

                     Added user zhangsan.

                     [root@samba ~]# smbpasswd -a lisi

                     New SMB password:

                     Retype new SMB password:

                     Added user lisi.

               D、修改主配置文件如下:  

                     [root@samba ~]# vi /etc/samba/smb.conf

                     修改security:

                     security = user                         //共享級別,用戶不需要賬號和密碼即可訪問

                     添加信息:

                     [ts]

                         comment = TS

                         path = /ts

                         valid users = @ts

               E、重新加載samba服務:

                     [root@samba ~]# service smb reload

                     顯示結果:

                     Reloading smb.conf file:                                   [  OK  ]

               F、在window xp下測試:

                     打開我的電腦,在地址欄中輸入\\192.168.31.131,彈出用戶登陸框,如圖所示: 

                      

                     在圖中輸入用戶名:lisi,密碼:123456,登陸成功後,可以看到相應的目錄,包括lisi自己的目錄、匿名公共目錄、lisi與zhangsan共享的非匿名目錄。如下圖所示:

                     

                     從圖中可以看到,達到我們相要的預期效果。

         3、共享目錄下的不同目錄進行分組。

               需求:1. 在系統分區時單獨分一個Company的區,在該區下有以下幾個文件夾:HR、 FM和Share。在Share下又有以下幾個文件夾:HR、FM和Tools。

                           2. 各部門對應的文件夾由各部門自己管理,Tools文件夾由管理員維護。

                           3. HR管理員賬號:hradmin;普通用戶賬號:hruser。FM管理員賬號:fmadmin;普通用戶賬號:fmuser。

               A、新建用戶,並設置SMB賬戶密碼:

                      添加用戶:

                      [root@samba ~]# useradd -s /sbin/nologin hradmin

                      [root@samba ~]# useradd -g hradmin -s /sbin/nologin hruser

                      [root@samba ~]# useradd -s /sbin/nologin fmadmin

                      [root@samba ~]# useradd -g hradmin -s /sbin/nologin fmuser

                      [root@samba ~]# useradd -s /sbin/nologin admin

                      設置密碼:

                      [root@samba ~]# smbpasswd -a hradmin

                      New SMB password:

                      Retype new SMB password:

                      Added user hradmin.

                      [root@samba ~]# smbpasswd -a hruser

                      New SMB password:

                      Retype new SMB password:

                      Added user hruser.

                      [root@samba ~]# smbpasswd -a fmadmin

                      New SMB password:

                      Retype new SMB password:

                      Added user fmadmin.

                      [root@samba ~]# smbpasswd -a fmuser

                      New SMB password:

                      Retype new SMB password:

                      Added user fmuser.

                      [root@samba ~]# smbpasswd -a admin

                      New SMB password:

                      Retype new SMB password:

                      Added user admin.

                      爲了方便記憶,在配置的時候,統一設置爲:123456。

               B、新建目錄:

                     [root@samba ~]# cd /

                     [root@samba /]# mkdir company

                     [root@samba /]# cd company

                     [root@samba company]# mkdir HR FM Share

                     [root@samba company]# cd Share

                     [root@samba Share]# mkdir HR FM Tools

               C、更改目錄屬性:

                     [root@samba company]# chown hradmin.hradmin HR

                     [root@samba company]# chown fmadmin.fmadmin FM

                     [root@samba company]# chown admin.admin Share

                     [root@samba company]# cd Share

                     [root@samba Share]# chown hradmin.hradmin HR

                     [root@samba Share]# chown fmadmin.fmadmin FM

                     [root@samba Share]# chown admin.admin Tools

                     [root@samba Share]# chmod 1775 HR FM

               D、修改主配置文件如下

                     security = user

                     passdb backend = tdbsam


                     [HR]

                          comment = This is a directory of HR.

                          path = /company/HR/

                          public = no

                          admin users = hradmin

                          valid users = @hradmin

                          writable = yes

                          create mask = 0750

                          directory mask = 0750

                     [FM]

                         comment = This is a directory of FM.

                         path = /company/FM/

                         public = no

                         admin users = fmadmin

                         valid users = @fmadmin

                         writable = yes

                         create mask = 0750

                         directory mask = 0750

                   [Share]

                         comment = This is a share directory.

                         path = /company/Share/

                         public = no

                         valid users = admin,@hradmin,@fmadmin

                         writable = yes

                         create mask = 0755

                         directory mask = 0755

               E、重新啓動samba服務:

                     [root@samba Share]# /etc/init.d/smb restart

                     Shutting down SMB services:                                [  OK  ]

                     Starting SMB services:                                            [  OK  ]

                     [root@samba Share]# /etc/init.d/nmb restart

                     Shutting down NMB services:                                [  OK  ]

                     Starting NMB services:                                            [  OK  ]

               F、在window xp系統下測試:

                     打開我的電腦,在地址欄中輸入\\192.168.31.131,彈出用戶登陸框,如圖所示:

                     

                     在圖中輸入用戶名:hradmin,密碼:123456,可以看到相應的共享目錄,如下圖所示:

                     

                     測試完畢。

         4、設置網絡映射驅動器,可以在計算中添加一個類似盤符文件夾,這樣就比較方便,如下圖所示:

                

         5、如果網絡斷不開,出現下面的情況,如下圖所示:

               

                可以採用如下圖的形式解決問題即可:

               

          配置完畢,歡迎拍磚!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章