1. 程式人生 > >ubuntu 14.04 samba 伺服器&&ubuntu 12.04 samba 伺服器設定

ubuntu 14.04 samba 伺服器&&ubuntu 12.04 samba 伺服器設定

安裝 SAMBA 元件

sudo apt-get install samba smbfs smbclient

ubuntu 14.04 使用以下方式安裝:

1 2 3 4 5 6 7 若之前有安裝過相關軟體包,先解除安裝之: sudo apt-get autoremove samba samba-common sudo apt-get autoremove system-config-samba 按如下方式安裝軟體包 sudo apt-get install samba samba-common sudo apt-get install system-config-samba cifs-utils

配置相關引數

sudo gedit /etc/samba/smb.conf

檔案中相關屬性如下

1.全域性設定部分

security = user
    這行設定了samba的安全等級,Samba一共可以設定四個安全登記,由底到高分別為:
    share        這個選項表示任何人都可以不需要輸入密碼登入。 
    user          這個是Samba的預設級別,要求每個使用者必須輸入密碼才能登入。
    server      user級別的密碼都是儲存在本機上,而server級別的密碼和使用者名稱都儲存在另一臺主機上。
    domain    這個級別要求網路裡必須有一臺Windows的域控制器,驗證工作由域控制器來完成。
    需要注意,只要輸入使用者名稱和密碼的級別,其使用者名稱一定首先也是Linux系統內的使用者

workgroup = MSHOME
    這部分是Windows主機的工作組明,Windows主機必須在同一個工作組中
server string = %h server(Samba,Ubuntu)
    這個選項是顯示在Windows上的資訊,可以自定義,其中%h為Samba配置檔案中的變數,代表了主機名,即使用hostname命令得到的主機名

map to guest = bad user

    當 security = user 時,這個選項必須註釋掉,如:# map to guest = bad user

2.共享設定部分

新增一個共享資料夾設定如下
[share]

    共享檔名,不需要與實際檔名一致
comment = my share directory

    對這個共享分支的描述
path = /share

    系統的共享目錄,必須為絕對路徑
public = yes

    是否允許所有人都能夠看到此目錄,no為看不到
writable = yes

    是否允許使用者在此目錄下可寫,no為不可些,如果可寫,還需要目錄具有寫許可權
read only = yes

    設定使用者是否只讀
vaild users = username

    設定只有 username 使用者有效

SAMBA 使用者管理

在需要密碼登入時有效,在設定使用者密碼時,此使用者必須是LINUX系統的使用者,如下面的指令 user 必須先是系統的使用者

sudo smbpasswd -a user

接下來根據提示輸入兩次密碼即可

smbpasswd 指令相關引數如下:

-a    新新增一個Samba使用者。
-d    禁用一個Samba使用者。
-e    使禁用的Samba使用者解禁。

啟動 SAMBA 服務

複製程式碼
# 停止 SAMBA 服務
sudo /etc/init.d/smbd stop
# 啟動 SAMBA 服務
sudo /etc/init.d/smbd start
# 重新啟動
sudo /etc/init.d/smbd restart
複製程式碼


在 WINDOWS 下訪問共享目錄

# 在資源管理器,或瀏覽器中直接輸入即可, “192.168.1.10” 為伺服器 IP
\\192.168.1.10


注意:有時會出現無法訪問的情況:

 無法訪問。您可能沒有許可權使用網路資源,請與這臺伺服器的管理員聯絡以查明您是否有訪問許可權。
指定的網路名不再可用

通過 Samba的log, /var/log/samba/log.{計算機名} - 計算機名是你的windows主機名稱
可以看到,訪問出錯時會產生大量的 err log

  1.  [2016/09/22 23:26:18.333436,  0] ../source3/lib/util.c:809(smb_panic_s3)
      64   smb_panic(): action returned status 0
      65 [2016/09/22 23:26:18.333568,  0] ../source3/lib/dumpcore.c:318(dump_core)
      66   dumping core in /var/log/samba/cores/smbd
      67 Please install an MTA on this system if you want to use sendmail!
      68 [2016/09/22 23:26:21.085401,  0] ../source3/lib/popt_common.c:                  68(popt_s3_talloc_log_fn)
      69   talloc: access after free error - first free may be at ../source3/smbd/       open.c:3715
      70 [2016/09/22 23:26:21.085457,  0] ../source3/lib/popt_common.c:                  68(popt_s3_talloc_log_fn)
      71   Bad talloc magic value - access after free
      72 [2016/09/22 23:26:21.085474,  0] ../source3/lib/util.c:789(smb_panic_s3)
      73   PANIC (pid 2450): Bad talloc magic value - access after free
原因是talloc的版本不匹配導致的!安裝 libtalloc解決,apt-get install libtalloc2

ubuntu 12.04 安裝samba

sudo su 進入root使用者:
第一步:安裝samba伺服器

Samba服務在Ubuntu12.04版本中中預設安裝,對於其他沒有預設安裝的版本來說,可以通過一

下命令來安裝所需要的軟體:

         1:sudo apt-get install samba

         2:   sudo apt-get install smbfs

第二步:配置samba伺服器

 (1)建立共享目錄:

        mkdir /home/share

 (2)更改目錄許可權:

         chmod 777 /home/share

 (3)  配置Samba服務

儲存現有的配置檔案

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
       /etc/samba/smb.conf是Samba伺服器的配置檔案,我們設定共享目錄均是在這個檔案中進

行配置。

   在Windows系統中不用輸入密碼訪問Linux共享目錄:在Linux共享一個目錄,將建立好的目錄

的設定資訊寫入/etc/smb.conf檔案即可。

      修改samba配置檔案smb.conf:

     // #security=user 修改為:security=share

      在檔案最後新增如下:

      [share]
      comment=share
      path=/home/share
      public=yes
      writeable=yes
      browseable = yes

      儲存退出。

  (4) 建立samba帳戶

   sudo touch /etc/samba/smbpasswd
  sudo smbpasswd -a sam(此處的使用者必須是你已經在本機建立的使用者,否則無效)

然後會要求你輸入samba帳戶的密碼

 [如果沒有第四步,當你登入時會提示 session setup failed: NT_STATUS_LOGON_FAILURE]


      (5)重啟Samba伺服器:/etc/init.d/smbd restart

        在windows命令列中輸入\\192.168.1.141(虛擬機器ip)