1. 程式人生 > >ubuntu 建立samba伺服器

ubuntu 建立samba伺服器

一、安裝Ubuntu samba伺服器

$ sudo apt-get install samba

$ sudo apt-get install smbclient # Linux客戶端測試用

二、建立samba配置檔案

  1. 備份原配置檔案

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

  1. 建立共享目錄

$ sudo mkdir -p /home/share

一般來說,該目錄的許可權為755,將其改為777之後,Owner之外的其他使用者才有許可權寫入。

$ sudo chmod 777 /home/share

  1. 修改配置檔案

$ sudo vim /etc/samba/smb.conf

在smb.conf最後新增:

[share]

    path = /home/share

    browseable = yes

    writable = yes

    comment = smb share test

另外,總結一下常見的samba配置及說明:

[share] # 該共享的共享名

    comment = smb share test # 該共享的備註

    path = /home/share # 共享路徑

    allow hosts = host(subnet) # 設定該Samba伺服器允許的工作組或者域

    deny hosts = host(subnet) # 設定該Samba伺服器拒絕的工作組或者域

    available = yes|no # 設定該共享目錄是否可用

    browseable = yes|no # 設定該共享目錄是否可顯示

    writable = yes|no # 指定了這個目錄預設是否可寫,也可以用readonly = no來設定可寫

    public = yes|no # 指明該共享資源是否能給遊客帳號訪問,guest ok = yes其實和public = yes是一樣的

    user = user, @group # user設定所有可能使用該共享資源的使用者,也可以用@group代表group這個組的所有成員,不同的專案之間用空格或者逗號隔開

    valid users = user, @group # 指定能夠使用該共享資源的使用者和組

    invalid users = user, @group # 指定不能夠使用該共享資源的使用者和組

    read list = user, @group # 指定只能讀取該共享資源的使用者和組

    write list = user, @group # 指定能讀取和寫該共享資源的使用者和組

    admin list = user, @group # 指定能管理該共享資源(包括讀寫和許可權賦予等)的使用者和組

    hide dot files = yes|no # 指明是否像UNIX那樣隱藏以“.”號開頭的檔案

    create mode = 0755 # 指明新建立的檔案的屬性,一般是0755

    directory mode = 0755 # 指明新建立的目錄的屬性,一般是0755

    sync always = yes|no # 指明對該共享資源進行寫操作後是否進行同步操作

    short preserve case = yes|no # 指明是否區分檔名大小寫

    preserve case = yes|no # 指明是否保持大小寫

    case sensitive = yes|no # 指明是否對大小寫敏感,一般選no,不然可能引起錯誤

    mangle case = yes|no # 指明混合大小寫

    default case = upper|lower # 指明預設的檔名是全部大寫還是小寫

    force user = testuser # 強制把建立檔案的屬主是誰。如果我有一個目錄,讓guest可以寫,那麼guest就可以刪除,如果我用force user= testuser強制建立檔案的屬主是testuser,同時限制create mask = 0755,這樣guest就不能刪除了

    wide links = yes|no # 指明是否允許共享外符號連線,比如共享資源裡面有個連線指向非共享資源裡面的檔案或者目錄,如果設定wide links = no將使該連線不可用

    max connections = 100 # 設定最大同時連線數

    delete readonly = yes|no # 指明能否刪除共享資源裡面已經被定義為只讀的檔案

三、建立samba使用者

注意,建立samba使用者之前,必須先確保有一個同名的Linux使用者,否則samba使用者會建立失敗。

$ sudo smbpasswd -a smbuser

四、重啟samba服務

$ sudo service smbd restart

五. 客戶端訪問測試

  1. Linux客戶端訪問測試

$ smbclient -L //localhost/share

  1. Windows客戶端訪問測試

可以訪問如下地址:

\IP或者主機名\share

如果public = no,此時需要輸入samba使用者密碼;如果public = yes,則作為nobody使用者直接訪問。

另外,在Windows客戶端使用net use * /del /y這條命令可以清理訪問快取。