天天看點

30分鐘教你玩轉SAMBA

第一步:以最簡單的方式讓samba運作起來,并具有基本的安全功能.

步驟:

要關閉selinux,以避免幹擾.指令:setenforce 0

1.yum install samba

2.mkdir /share

3.useradd smbuser

4.smbpasswd -a smbuser

  定義密碼: smbuser

  确認密碼: smbuser

5.chown smbuser /share

6.vim /etc/samba

  把[global] 下

  "workgroup = "  後面改為" workgroup".

  "netbios name = myserver " 前面的分号" ;"去掉.

7.然後再配置檔案後添加以下内容:

[tools]

    comment = my tools

    path = /share

    browseable = yes

    guest ok = yes

    writable = yes

8.service smb start

  ok現在windows裡打開網路上的芳鄰(win7裡為網絡),找到名稱為"myserve"的主機.輕按兩下打開,以

smbuser使用者登入.可以看到"smbuser"的家目錄和一個"tools"的檔案夾.進入之後可以建立和下載下傳文

件.是不是很簡單.

第二步: 解析步驟

1. 隻要配置好yum源,神馬都是浮雲.

2. 建立共享目錄.

3. samba伺服器登入的使用者隻能是系統中已經存在的使用者,但密碼不是該使用者"登入系統"使用的密碼

.而是另外配置的samba服務密碼.因為samba傳輸時使用的是明文,是以使用系統登入密碼是非常危險

的.

4. smbpasswd 指令是用來管理samba使用者的.

   常用參數有:

    -a  添加使用者(必須是系統存在的)

    -u  删除已添加的使用者

    -d  将使用者臨時禁用

    -e  啟用被禁用的使用者

5. 讓smbuser使用者擁有對/share的讀寫權限.

6.7. 配置共享參數:

  [global]   全局配置段

   workgroup =  定義的是"工作組" 就是windows裡的"工作組"

   netbios name = 定義的是主機名 " ; "表示此選項是可以添加的選項 "#"表示就是注釋.

   writable = 定義是否可寫

   security =  安全級别定義 共有四個"1.share 可匿名登入 2.user 需要賬号密碼(預設級别) 3.domain/server    4.ads

  [homes]    定義使用者登入時是否可以通路自己的家目錄.

   commend    注釋資訊

   browseable =    定義如果通路者不是屬主的話,是否可以通路

  [printer]  可設定列印機共享.

  [tools]    自定義的共享檔案夾名

   path = 定義共享檔案夾的位置

   guest ok =  來賓賬号是否可以通路

  [注:grep -v "^[[:space:]]*#" smb.conf | grep -v "^$" | grep -v "^;"  -- 輕松檢視已啟

用選項.(*@ο@*) 哇~]

8 啟動服務

第三步: 安全擴充

一.write list:

在新添加的[tools]段下添加

"write list = " 通路清單

    後面可添加 使用者

  例:

   1.useradd   newuser

   2.setfacl -m  u:newuser:rwx /share   (以acl方式給newuser /share 目錄的讀寫權限)

   3.smbpasswd -a newuser

     密碼: newuser

   4.之後使用newuser登入.[注:此時使用windows登入的話将不用再彈出登入界面]

    使用smbclient 指令: (在另一個linux主機上)

     格式:

     smbclient -l host/ip  -u username(可登入的使用者,不填為匿名使用者)  檢視共享資源

     smbclient //host/share -u username                              通路共享資源

     smb>   put 上傳 get 下載下傳  help 檢視可使用的指令

   此時可以使用 newuser登入并具有讀寫權限

   5.添加如下内容:

   write list = smbuser

   6.serive smb reload

     此時 newuser 将不具有寫權限,雖然newuser對/share具有寫權限.

"write list = " 也可以定義組使用者

   例:

    1.groupadd smbgrp

    2.usermod -ag smbgrp smbuser

      usermod -ag smbgrp newuser

    3.該 write list = +smbgrp (給smbgrp組共享寫權限)

   現在smbuser,newuser都具有/share的寫權限.

二. hosts allow

  host allow = 127. 172.16. 192.168.1

  表示隻允許 127.0.0.0/8 網段的 和 172.16.0.0/16網段 和 192.168.1.0/24網段 的主機通路.

第四步:挂載共享目錄

 指令格式:

  mount -t cifs //host/共享目錄  /挂載目錄 -o username=可登入的使用者

 例:

  mount -t cifs //172.16.100.1/tools /mnt -o username=smbuser

  以smbuser使用者的身法将主機172.16.100.1 下的/tools 挂載到本機的/mnt目錄下

第五步:web管理軟體,使用901端口

 [注:samba-swat是一個非獨立守護程序,依賴于超級守護程序xinetd.配置檔案位于/etc/xinetd.d/

下.其他非獨立守護程序的配置檔案也位于該目錄下.]

  1.安裝

    yum install samba-swat

  2.編輯配置檔案

    vim /etc/xinetd.d/swat

顯示一下内容:

service swat

{

        port            = 901             //定義端口

        socket_type     = stream          //使用tcp的901端口

        wait            = no              //

        only_from       = 127.0.0.1       //swat的通路控制清單,此處表示僅允許本機問.

[注:    only_from       = 172.16.0.0/16   //定義一個網段可以通路,隻能使用短掩碼格式.]

        user            = root            //登入使用者(系統中使用者)

        server          = /usr/sbin/swat  //

        log_on_failure  += userid         //

        disable         = yes             //是否不啟用,預設不啟用."no"表示啟用

}

之後再浏覽器中輸入: (本機ip:901)例: 127.0.0.1:901  , 即可通路web管理界面.

繼續閱讀