跳轉到內容

Samba/從 Shell 使用 Samba 配置工作組

來自華夏公益教科書,開放的書籍,開放的世界

配置 Samba

[編輯 | 編輯原始碼]

安裝 Samba 後,你需要配置它

Samba 的配置透過編輯 smb.conf 檔案進行,該檔案通常位於 /etc/samba/ 目錄下。 通常有一個 smb.conf.example 檔案,該檔案有很好的註釋,可以幫助你配置伺服器。 只需編輯它並儲存為 smb.conf 即可輕鬆啟動伺服器。

使用 Samba

[編輯 | 編輯原始碼]

要啟動 samba,請啟動其兩個守護程序,smbdnmbd

現在,你的電腦的共享目錄和檔案也應該可以在你的 Windows 網路(我的網路位置)上檢視。

要在 Linux 環境中檢視 Windows 共享,請執行 smbtree 命令。

提前決定你真正想要什麼

[編輯 | 編輯原始碼]

本主題分叉成兩個分支

- 伺服器(檔案、列印等)

- 域控制器

當然,這是一個過度簡化。 你可以將這些方法結合起來,但現在保持簡單,以避免不必要的麻煩。

伺服器

[編輯 | 編輯原始碼]

- 檔案伺服器由網路中由 smbd 守護程序控制的計算機共享組成 - 檔案、印表機、裝置、佇列等。

smbd 的作用是負責授予或拒絕對這些部分的受控訪問。

伺服器 KISS

[編輯 | 編輯原始碼]

配置和安裝 Samba 的方法有很多。 最好是保持簡單,關注你的需求。 對於匆忙的系統管理員,甚至窮人,我建議使用一些基本方法,將複雜性和安全調整推遲到以後的迭代。

簡而言之,它是一個用於集中任務的獨立伺服器:檔案和列印服務。

備份 smb.conf 中的原始檔案

# cd /etc/samba
# mv smb.conf smb.conf.orig
# touch smb.conf

並將這些行插入新的檔案中

[global]
workgroup = SAMBAGRP
netbios name = SAMBAKISS
security = SHARE
passdb backend = guest

[data]
comment = Public Data
path = /srv/myshares
read only = no

此方法只需要一個帳戶 - guest - 才能連線。 要新增 guest 帳戶,請按照指令碼操作

  1. 在 Unix 系統上建立 guest 帳戶
  2. 將 shell 更改為 false 來阻止本地訪問
  3. 從 guest 帳戶中刪除密碼

adduser 指令碼非常適合

# adduser --home /dev/null --shell /bin/false --no-create-home --uid 65533 --disabled-password guest
  1. 建立或對映 Samba 帳戶
# smbpasswd -a guest
New SMB password: (type ENTER)
Retype new SMB password: (type ENTER)
Added user guest.

域控制器

[編輯 | 編輯原始碼]

[TODO]

管理 Samba

[編輯 | 編輯原始碼]

基本檢查

[編輯 | 編輯原始碼]

在啟動之前,最好檢查主機上執行的 Samba 部分

$ ps ax ¦ grep .*mbd

通常有兩個程序,nmbdsmbd(smbd 例項的數量和守護程序的路徑可能有所不同)。 這表明 Samba 正在執行。

$ ps ax ¦ grep mbd
29402 ?        Ss     0:03 /usr/sbin/nmbd -D
29404 ?        Ss     0:00 /usr/sbin/smbd -D

另一種方法(更復雜)需要 root 許可權

$ sudo smbcontrol nmbd ping
PONG from pid 29402
$ sudo smbcontrol smbd ping
PONG from pid 29407  (number of smbd daemons may vary)

Samba 的主要部分是名為 smbdnmbd 的守護程序。

  • smbd:負責檔案、登入、共享等
  • nmbd:處理名稱

當使用 Samba 套件時,你是在向這些守護程序傳送請求,主要是向 smbd 傳送請求。

資料庫移動

[編輯 | 編輯原始碼]

Samba 使用檔案來儲存其控制。 主要關注兩種型別的檔案:平面檔案和微不足道的資料庫檔案。

必須建立和初始化使用者資料庫,並使用共享和系統引數準備主配置檔案。 在嘗試實現實際的生產站點之前,最好閱讀一下現有文件,識別並可能寫下說明。

通常,Samba 伺服器是基於即時啟動和遺忘哲學啟動的,後來(每年一次)不得不匆忙恢復同一伺服器,卻發現你記不起如何新增使用者、調整等。

需要記下的任務

[編輯 | 編輯原始碼]
  • 檢查 smb.conf

在配置或更改 smb.conf 後,建議在啟動之前測試修改。 你可以透過執行並閱讀可能的錯誤訊息或異常來做到這一點

 $mybox:~$ sudo testparm
  • 啟動/停止 Samba

實際上,根據你的發行版,你將執行一個之前準備好的批處理檔案來啟動 Samba,該檔案駐留在啟動指令碼集中。

基於 Debian 的發行版使用

$mybox:~$ sudo /etc/init.d/samba start      # starts samba
$mybox:~$ sudo /etc/init.d/samba stop       # stops samba
  • 一步重啟並檢查
# /etc/init.d/samba restart && ps ax | grep mbd
  • 新增/刪除使用者

[TODO]

Using smbpasswd to
- add user
- change password
  • 檢查日誌檔案

[TODO]

  • 備份 smb.conf 和 tdb 資料庫

[TODO]

華夏公益教科書