Debian Samba Server 快速架設

臨時需要一個空間, 然後要能讓 Windows 存取來燒資料, 最簡單的就是架個 Samba Server, 透過網路芳鄰來存取.

順便紀錄 快速架設 Debian Samba Server 的過程.

Debian 架設 Samba 很簡單, 只要下述步驟即可:

安裝 samba server package

  • apt-get install samba smbfs

設定 /etc/smb.conf

  • vim /etc/smb.conf

主要設定下述幾個地方: 

  1. workgroup = Workgroup # 看 Windows workgroup 設什麼而定
  2. security = share # 大家都可以直接存取
  3. guest account = nobody # 來存取的人都用 nobody user 進來

設定要分享的目錄

再來於 smb.conf 最後加入要分享的目錄和權限(下述加在 smb.conf 結尾即可)

[share]
comment = Share Dir
path = /mnt/share
guest ok = yes
writable = no
share modes = yes

再來 /etc/init.d/samba reload 即可.(可用 testparm 確定設定是不是自己想的, 看有沒有設錯)

如果是其它 Debian 要掛載此 Samba Server, 如下步驟即可:

  1. apt-get install smbfs # 需要支援 smbfs
  2. 下述指令假設此台 IP 是 192.168.1.1, 且打算 mount 到 /mnt/tmp 上.
  3. mount -t smbfs -o password='' //192.168.1.1/share /mnt/tmp
  4. 這樣子就可以到 /mnt/tmp 看掛載結果囉.

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

Debian Samba Server 快速架設 有 25 則回應

  1. KitshiNg 說道:

    你好,又是我 -_-"

    如果我想建立一個方案是
    有一個資料夾叫 /home/folders ,它可以給所有人公開使用
    另有一個是 /var/www ,它只給可以給 kitshing 用戶身份使用

    [folders]
    comment = public folders
    browseable = yes
    writable = yes
    path = /home/folders/
    public = yes

    [html]
    comment = html folders
    path = /var/www/
    valid users = kitshing

    folders 是 沒問題的,可以正常用啊,
    但為什麼我在windows 用 kitshing 身份登入
    但我只能進入 html 資料夾,可開啓看入面的資料
    可是無法新增檔案/ 資料夾 🙁

  2. Tsung 說道:

    guest account = nobody
    看一下你那的目錄的的權限, 是否能讓 nobody 寫入 😛

  3. KitshiNg 說道:

    都不能給 nobody 寫入
    我想...我還是由samba 的基本功學清楚先吧
    遲一點有問題再請教@@
    但我想先問一個問題
    看過一此文章說用這個指令 # smbpasswd -a kitshing (便會新增 samba user account)
    但為什麼之後我發現沒有找到 /etc/samba/smbpasswd 這個檔案
    但為何又可以用到 kitshing 這個 samba account 登入呢 ?
    samba 用戶會記在哪裡@@?

  4. Tsung 說道:

    1. 不能讓 nobody 寫入, 你可以先試試 chmod 777 一下看看.
    2. 要用 smbpasswd 需要設定 "smb passwd file = 密碼放置的檔案", 看看你的 smb.conf 有沒有設定此參數.
    大概要如下設定:
    security = user
    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd

  5. KitshiNg 說道:

    只有這兩行
    security = user
    encrypt passwords = true
    另外我想問
    如果我沒有這個檔案 ( /etc/samba/smbpasswd )
    samba 的帳戶與密碼會記錄在哪個檔案中呢 ?

  6. Tsung 說道:

    Mmm... 應該說. 你要做的是在 smb.conf 裡面加入 smb passwd file = /etc/samba/smbpasswd 這行. 然後, 再做上述步驟即可. (預設會放那邊我不知道耶 XD)

  7. KitshiNg 說道:

    (未再測試^^"...正學習 Samba 的基本功)
    但有幾個問題..
    public = yes 與 browseable = yes 是否同一個意思呢 Question
    guest ok = yes 與 guest account = username 又有可分別 Question
    還有我看過一篇文章說 參數%S 的用意就是在替換掉目前 [ ] 裡面的內容
    例如 [homes] 裡的 valid users = %S ,
    是否要用參數 %S 是一定要跟 valid users 一起用才可以令 [ ] 裡面的內容改變嗎 ?

  8. Tsung 說道:

    1. public: 公開可以存取(不一定可以瀏覽檔案清單列表), browseable: 能否瀏覽檔案清單
    2. guest ok: 是否讓 guest 能連進來, guest account: guest 要用什麼身份進來
    3. 厄.... 總之就是想成登錄的名稱, 就是 %s 就是了 🙂

  9. KitshiNg 說道:

    有沒有設定 Delete 的權限的呢 ?

  10. Tsung 說道:

    writable = no 不讓他寫就是 Delete 權限關掉的意思了吧 🙂
    (如果可以寫, 把檔案清空也算 Delete 同類? :P)

  11. KitshiNg 說道:

    1. 可不可以 可寫而不可Delete 呢
    2. 想再了解一下,
    是否 public 可以 read 到資料 而不可 list ?
    是否 browseable 可以 read 和 list 呢 ?
    3. 終於找到相關文章了
    Reference: http://moto.debian.org.tw/viewtopic.php?p=21745#21745
    Samba 3.x 版的密碼檔已變更為
    /var/lib/samba/secrets.tdb
    /var/lib/samba/account_policy.tdb
    /var/lib/samba/passdb.tdb
    ( 基本概念也十分亂-_- ...請給我繼續打擾 (發問) )

  12. Tsung 說道:

    1. 不行.(他把檔案內容清空, 跟 delete 有什麼分別?)
    2. public => read data, browseable => list
    3. 嗯嗯~ 加油, 因為我很懶得管帳號, 現在做法都是網路芳鄰開全唯讀, 不管帳號 😛
    新版的轉變真多 🙂

  13. KitshiNg 說道:

    不好意思,試了 三天
    我重新做一次也不行
    可否做一個簡單的例子給我
    如果我有 userA, userB 這兩個 samba accounts
    有兩個目錄 folderA, folderB
    我想 folderA 可以給 userA 和 userB 有 rwx
    而我想 folderB 只可以給 userA 有 rwx ,而 userB 無權限 - - -
    要在 smb.conf ,如果設定 ??
    >__< ~

  14. Tsung 說道:

    如果我做的話, 我不會從 smb.conf 做, 我會直接 chmod 改目錄的權限 😛
    你既然讓 user login 了, 自然可以辨認他是誰, 就可以靠基本 unix 來管理囉 🙂

  15. KitshiNg 說道:

    基本 unix 來管理 ??
    你意思是大概用 chmod samba 的目錄來管理 ?
    例如改變 Group ,跟著把要用的使用者到這個 Groups ?

  16. KitshiNg 說道:

    samba server 成功設定了
    多謝你的指導..^_^

  17. KitshiNg 說道:

    現在到了
    vnc server 的設定...
    apt-get install vnc4server
    vncserver :1
    簡簡單單也行了,但有沒有方法可在 debian 登出的情況下,可以在windows 用 vnc viewer 連上 debian 呢 ?
    之前上網找教學,大多只教用 Red hat 做 VNC server,
    我又找不到 /etc/sysconfig/vncservers 這個檔在那裡。
    又一個令我多頭痛的事 ~_~"
    (這幾天,跟了Tsung 兄一樣開了一個 Blog @@...
    有篇文章大部份是轉載你的內容,希望不要介意..@@" )

  18. Tsung 說道:

    vnc server... 我倒是沒試過這個耶, 但是您的這做法, 要不要考慮用 Xming 看看?(或許 Xming 比較符合您的需求)
    http://freedesktop.org/wiki/Xming
    轉載我的文章~ 隨時歡迎轉載囉~ 🙂
    或許找個時間認識一下也是不錯 🙂

  19. KitshiNg 說道:

    Samba 測試過後
    有使用者說,他常常用 windows 登入 samba 後,
    不到 20 分鐘,他想再透過網路芳鄰找 Samba 時,又再一次叫他登入了
    他說記錄了密碼也是不行,常常叫他再登入一次
    但我沒有這個問題出現。
    為什麼有這問題出現呢 ?
    ( * 每個使用者都是在 Windows 用同一個 samba account 登入 Samba 的 )
    謝...

  20. Tsung 說道:

    這個問題我是沒遇過, 我自己是都用網路磁碟機的做法, 你在檔案總管可以去設定網路磁碟機, 設到 Z: 去.
    我覺得試試看這個好了?

  21. allen 說道:

    站長您好,小弟有些linux的問題想請教您
    方便留msn以利交流嗎??
    我的msn是acboyy@hotmail.com
    我叫allen
    希望有機會和你交流,謝謝。

  22. Tsung 說道:

    已將您加入 MSN 清單中囉. 🙂

  23. bypass 說道:

    debian lenny
    maybe
    mustbe root
    mount //host/share /mnt/here -o username=
    up code can work
    i don't know why ???

  24. Tsung 說道:

    您要不要試試我上面的方式? (mount -t samba ... 那行)

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料