Linux‎ > ‎

Samba

Samba常用指令

 /usr/sbin/{smbd,nmbd}:伺服器功能,就是最重要的權限管理 (smbd) 以及 NetBIOS name 查詢 (nmbd) 兩個重要的服務程式;

/usr/bin/{tdbdump,tdbtool}:伺服器功能,在 Samba 3.0 以後的版本中,使用者的帳號與密碼參數已經轉為使用資料庫了!Samba 使用的資料庫名稱為 TDB (Trivial DataBase)。 tdbdump 可以察看資料庫的內容,tdbtool 則可以進入資料庫操作介面直接手動修改帳密參數。不過,你得要安裝 tdb-tools 這個軟體才行;

/usr/bin/smbstatus:伺服器功能,可以列出目前 Samba 的連線狀況, 包括每一條 Samba 連線的 PID, 分享的資源,使用的用戶來源等等;

/usr/bin/{smbpasswd,pdbedit}:伺服器功能,在管理 Samba 的使用者帳號密碼時, 早期是使用 smbpasswd 這個指令,不過因為後來使用 TDB 資料庫了,因此建議使用新的 pdbedit 指令來管理用戶資料;

/usr/bin/testparm:伺服器功能,這個指令主要在檢驗設定檔 smb.conf 的語法正確與否;

/usr/bin/smbclient:用戶端功能,當你的 Linux 主機想要藉由『網路上的芳鄰』的功能來查看別台電腦所分享出來的目錄與裝置時,就可以使用 smbclient 來查看啦!這個指令也可以使用在自己的 SAMBA 主機上面,用來查看是否設定成功哩!

/usr/bin/nmblookup:用戶端功能,有點類似 nslookup !重點在查出 NetBIOS name 。

/usr/bin/smbtree:用戶端功能, 能夠查到工作群組與電腦名稱的樹狀目錄分佈圖!

Samba參考設定檔(/etc/samba/smb.conf)

workgroup = JGroup   //工作群組的名稱
server string = JStore    //主機的簡易說明
netbios name = JStore    //主機的 NetBIOS 名稱
unix charset = utf8   //在 Linux 伺服器上面所使用的編碼,一般來說就是 i18n 的編碼。
display charset = utf8   //自己伺服器上面的顯示編碼
dos charset = cp950   //Windows 用戶端的編碼

log file = /var/log/samba/log.%m   //登錄檔放置的檔案
max log size = 50   //登錄檔最大僅能到多少 Kbytes ,若大於該數字,則會被 rotate 掉。

security = user   //使用 SAMBA 伺服器本身的密碼資料庫
passdb backend = tdbsam   //資料庫格式

[JStore]   //分享名稱
        path = /jstore   //分享路徑
        public = yes
        browseable = yes   //是否讓所有的使用者看到這個項目?
        writable = yes   //是否可以寫入?
        write list = root   //使用者, @群組

建立Samba帳號

# useradd -G users james   //先建立OS帳號

# echo 123456 | passwd --stdin james

# pdbedit -a -u james   //建立Samba帳號

# pdbedit -L   //查詢目前已經存在的Samba帳號

# smbpasswd james   //修改密碼

# pdbedit -x -u james   //刪除Samba帳號


PS. 建議設定完後重開機


Comments