1. 程式人生 > >Linux下Samba伺服器搭建

Linux下Samba伺服器搭建

linux檔案共享之samba伺服器 ——ubuntu

宗旨:技術的學習是有限的,分享的精神是無限的。

關閉LINUX防火牆命令: #ufwdisable 然後就在windows下ping一下linux的IP,如果能ping通,就可以繼續下面的內容,如果ping不通就再找找原因

 注:ubuntu 12.04已經安裝了最新版本的samba伺服器,無需安裝。如果使用12.04以前的版本,最好是按下邊的方法升級一下samba,12.04版本無需下列操作


Samba 是一款功能強大的共享工具,可以實現與windows的共享,就是我們經常在windows計算機之間使用的網路上的芳鄰功能,可以共享檔案和印表機等。今天要介紹的是在ubuntu 12.04 中安裝和設定,當然也可以在以前的版本上使用。

1 安裝Samba檔案

  我們需要做的第一件事是安裝Samba,你可以在Ubuntu軟體中心搜尋軟體,然後安裝。如果你想通過終端安裝,可複製這個命令:

  sudo apt-get install samba samba-common

2 為配置工具安裝一些依賴包(不要忘記安裝python-glade2)

  sudo apt-get install python-glade2

3 安裝 Samba伺服器配置工具 :

  安裝 samba 系統配置圖形介面工具

  sudo apt-get install system-config-samba

4 新增一個 Linux/Unix user:


      假定使用者名稱為pirat9,也可以用一個已存在的使用者名稱,若使用已存在的使用者名稱,則直接跳到第6步,在設定訪問許可權時,選擇已存在的使用者。

  adduser pirat9

5 為使用者 pirat9設定密碼:

  passwd pirat9

6 現在開啟 samba配置工具。


samba configuration tool

7 新增共享資料夾並設定許可權訪問。


  share

  設定許可權訪問  

8 連線到共享前,你必須建立samba使用者:

  sudo smbpasswd -a pirat9

  New SMB password

  retype New SMB Password
      設定完成後重啟一下虛擬機器

9

WINDOWS下訪問:
      開啟一個視窗,輸入伺服器地址:\\192.168.146.128
     會彈出輸入使用者名稱和密碼的視窗,輸入使用者名稱和密碼即可。

Samba伺服器——redhat

1.檢測安裝Samba服務

  (1).檢查Samba服務包是否已安裝:

  rpm -qa | grep Samba

  (2).如未安裝,則插入第一張安裝盤,執行:

  mount /mnt/cdrom
  cd/cdrom/Redhat/RPMS
  
  (3).進入目錄後安裝Samba檔案:

  注意:運Samba至少需要三個檔案,分別為:
  Samba-common-2.2.7a-7.9.0.i386.rpm    //伺服器和客戶端均需要的檔案
  Samba-2.2.7a-7.9.0.i386.rpm                  //伺服器端檔案
  Samba-client-2.27a-7.9.0.i386.rpm          //客戶端檔案
  安裝上述3個檔案.
  rpm-ivh Samba-common-2.2.7a-7.9.0.i386.rpm     //另外兩個省略不寫

  (4).安裝完成後彈出光碟機:

  cd;eject

2.設定密碼檔案.

  (1).此設定的作用是將Linux中的系統使用者(/etc/passwd)匯入到Samba密碼檔案中

  (/etc/Samba/smbpasswd)
  cat/etc/passwd | mksmbpasswd.sh > /etc/Samba/smbpasswd

  (2).接下來給smbpasswd等檔案及資料夾設定訪問許可權.

  chown root.root /etc/Samba/smbpasswd
  chmod600 /etc/Samba/smbpasswd
  chmod600 /etc/Samba
  檢視一下:
  ll-d Samba

  (3).如果您想手動新增一個使用者,則首先要保證Linux中該使用者存在,步驟:

  useradd liu
  passwdliu
  smbpasswd-a liu    //此步為新增Samba使用者

3. 配置/etc/Samba/smb.conf檔案  
  雖然檔案內容眾多,但需要改動的不多,一般為按需所配:

  (1).修改[global](全域性配置引數)

  workgroup = workgroup    //工作組名稱
  serverstring = Samba server %v at %h     //設定伺服器名稱.%v為版本號,%h為執行
  smb服務的主機名
  hostallow = 192.168.80. 192.168.70.    //允許訪問伺服器的主機
  clientcode page = 939   //支援簡體中文共享名
  上述四條為比較重要的.其他配置大家可按需按情況修改.
  
  (2).建立共享資料夾.

  由於使用者使用許可權有多種(讀,寫,執行),而又訪問者又有多種(使用者,組),所以建立共享資源的訪問方式有多種,下面暫舉幾例:

  例一: 建立資源,使登陸到該伺服器的使用者均有權使用該空間(包括讀,寫)

  <1>.編輯smb.conf檔案

  vi smb.conf
  [resource]
  
  comment= local resource
  path= /var/Samba/resource
  readonly = no
  public= yes                      //允許guest使用者訪問
  
  <2>.建立共享資料夾

  mkdir -p /var/Samba/resource

  <3>. 由於任何人都能使用,所以得給該資料夾設定訪問許可權.

  chmod 707 /var/Samba/resource
  
  <4>.如果想在該資料夾中放置預共享檔案,而又不想花

  時間從別的資料夾中cp過來,此時可以使用指標.
  比如想共享/usr/share/doc中的檔案,則可以:
  ln-s /usr/share/doc /var/Samba/resource/doc
  進入/var/Samba/resourcels一下,是不是出現指標檔案了!

  例二: 建立一資源,只能讓使用者liu全權訪問.

  <1>. 編輯smb.conf檔案
  vismb.conf
  [liu]
  comment= liu
  path= /var/Samba/liu
  vaildusers = smz           //只允許liu訪問
  public= no
  writable= yes

  <2>. 建立共享資料夾

  mkdir -p /var/Samba/liu

  <3>. 由於只能讓liu使用,所以得給該資料夾設定訪問許可權.

  chown liu.liu /var/Samba/liu
  chmod700 /var/Samba/liu
  此時該資料夾屬於liu使用者,並且只能由liu使用者訪問.

  例三: 建立一資源,只能讓root,zhang和wang訪問.

  <1>. 編輯smb.conf檔案

  vi smb.conf
  [zhangwang]
  comment= zhang wang
  path= /var/Samba/liu
  vaildusers = zhang wang
  public= no
  writable= yes
  creatmask = 0707

  <2>. 建立共享資料夾

  mkdir -p /var/Samba/zhangwang

  <3>. 給該資料夾設定訪問許可權.

  chmod 707 /var/Samba/zhangwang
  此時該資料夾只能root,zhang,wang訪問了.

  例四: 建立一資源,讓指定的組group2中的使用者訪問.

  <1>. 編輯smb.conf檔案

  vi smb.conf
  [group]
  comment= group2
  path= /var/Samba/group2
  public= yes
  writable= yes
  writelist = @group2         //設定讀寫訪問使用者列表
  
  <2>.建立共享資料夾
  
  mkdir-p /var/Samba/group2

  <3>. 給該資料夾設定訪問許可權.

  chown group2.group2 /var/Samba/group2
  chmod770 /var/Samba/group2
  此時該資料夾只能由group2中的使用者訪問了.

  (3). 以上為建立共享資料夾,下面為建立共享印表機.

  <1>. 配置印表機的方面有很多,比如使用redhat-config-printer命令即可調出配置選單.

  <2>. 當然smb.conf中也要設定啊:

  [global]
  printcapname = /etc/printcap     //配置檔案路徑
  [printers]
  writable= no
  guestok = yes                    //guest可用
  browseable= no                   //不可瀏覽
  ptrintable= yes
  path= /var/spool/Samba          //佇列位置
  printeradmin = root             //印表機管理員
  其他配置不變或按情配置
  接下來再新增print驅動設定:
  [print$]
  comment= printer drivers
  path= /etc/Samba/drivers
  browseable= yes
  guestok = no
  readonly = yes
  
  writelist = root
  接著建立drivers資料夾:mkdir-p /etc/Samba/drivers
  最後給使用者準備印表機驅動,並啟動列印共享:
  cupsaddsmb-a -U root       //-a為共享所有印表機-U為以root身份執行
  cupsaddsmb命令

4. 測試並啟動Samba伺服器.

  testparm   //測試
  servicesmb start
  pstree| grep mbd   //檢視是否啟動

5. 訪問Samba

  (1). 從Windows端訪問.

  使用"網路鄰居"訪問即可.

  (2). 訪問時可以使用IP地址,也可以使用主機名訪問.

  vi /etc/Samba/lmhosts
  192.168.80.35      smz_f91           //建立主機名與IP的對映
  訪問時,使用smbclient命令,使用方法如下:
  smbclient-L IP/主機名[-U 使用者名稱]              //瀏覽Linux/Windows資源列表
  smbclient-L 192.168.80.35                                //瀏覽Linux
  smbclient-L 192.168.80.45 -U administrator      //瀏覽Windows
  smbclient//IP/共享資料夾名-U 系統使用者名稱        //詳細檢視某一共享資源的內容
  smbclient//192.168.80.45/123 -U root/administrator     //以root或administrator身份
  登陸45主機訪問共享資料夾123
  至此,Samba伺服器的簡單建立到此結束。