smbpasswd 和 pdbedit 的區別


以前我們在windows上共享文件的話,只需右擊要共享的文件夾然后選擇共享相關的選項設置即可。然而如何實現windows和linux的文件共享呢?這就涉及到了samba服務了,這個軟件配置起來也不難,使用也非常簡單。

【samba配置文件smb.conf】

一般你裝系統的時候會默認安裝samba,如果沒有安裝,只需要運行這個命令安裝(CentOS):

“yum install -y samba samba-client”

Samba的配置文件為/etc/samba/smb.conf,通過修改這個配置文件來完成我們的各種需求。打開這個配置文件,你會發現很多內容都用”#”或者”;”注視掉了。先看一下未被注釋掉的部分:

[global]

    workgroup = MYGROUP

    server string = Samba Server Version %v

    security = user

    passdb backend = tdbsam

    load printers = yes

    cups options = raw

[homes]

    comment = Home Directories

    browseable = no

    writable = yes

[printers]

    comment = All Printers

    path = /var/spool/samba

    browseable = no

    guest ok = no

    writable = no

    printable = yes

主要有以上三個部分:[global], [homes], [printers]。

[global]定義全局的配置,”workgroup”用來定義工作組,相信如果你安裝過windows的系統,你會對這個workgroup不陌生。一般情況下,需要我們把這里的”MYGROUP”改成”WORKGROUP”(windows默認的工作組名字)。

security = user #這里指定samba的安全等級。關於安全等級有四種:

share:用戶不需要賬戶及密碼即可登錄samba服務器

user:由提供服務的samba服務器負責檢查賬戶及密碼(默認)

server:檢查賬戶及密碼的工作由另一台windows或samba服務器負責

domain:指定windows域控制服務器來驗證用戶的賬戶及密碼。

passdb backend = tdbsam # passdb backend (用戶后台),samba有三種用戶后台:smbpasswd, tdbsam和ldapsam.

smbpasswd:該方式是使用smb工具smbpasswd給系統用戶(真實用戶或者虛擬用戶)設置一個Samba 密碼,客戶端就用此密碼訪問Samba資源。smbpasswd在/etc/samba中,有時需要手工創建該文件。

tdbsam:使用數據庫文件創建用戶數據庫。數據庫文件叫passdb.tdb,在/etc/samba中。passdb.tdb用戶數據庫可使用smbpasswd –a創建Samba用戶,要創建的Samba用戶必須先是系統用戶。也可使用pdbedit創建Samba賬戶。pdbedit參數很多,列出幾個主要的:

pdbedit –a username:新建Samba賬戶。

pdbedit –x username:刪除Samba賬戶。

pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數據庫文件。

pdbedit –Lv:列出Samba用戶列表詳細信息。

pdbedit –c “[D]”–u username:暫停該Samba用戶賬號。

pdbedit –c “[]”–u username:恢復該Samba用戶賬號。

ldapsam:基於LDAP賬戶管理方式驗證用戶。首先要建立LDAP服務,設置“passdb backend = ldapsam:ldap://LDAP Server”

load printers 和 cups options 兩個參數用來設置打印機相關。

除了這些參數外,還有幾個參數需要你了解:

netbios name = MYSERVER # 設置出現在“網上鄰居”中的主機名

hosts allow = 127. 192.168.12. 192.168.13. # 用來設置允許的主機,如果在前面加”;”則表示允許所有主機

log file = /var/log/samba/%m.log #定義samba的日志,這里的%m是上面的netbios name

max log size = 50 # 指定日志的最大容量,單位是K

[homes]該部分內容共享用戶自己的家目錄,也就是說,當用戶登錄到samba服務器上時實際上是進入到了該用戶的家目錄,用戶登陸后,共享名不是homes而是用戶自己的標識符,對於單純的文件共享的環境來說,這部分可以注視掉。

[printers]該部分內容設置打印機共享。

【samba實踐】

注意:在試驗之前,請先檢測selinux是否關閉,否則可能會試驗不成功。關於如何關閉selinux請查看第十五章 linux系統日常管理的“linux的防火牆”部分

  1. 共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。

打開samba的配置文件/etc/samba/smb.conf

[global]部分

把”MY GROUP”改成”WORKGROUP”

把”security = user” 修改為“security = share”

然后在文件的最末尾處加入以下內容:

[share]

    comment = share all

    path = /tmp/samba

    browseable = yes

    public = yes

    writable = no

mkdir /tmp/samba

chmod 777 /tmp/samba

啟動samba服務

/etc/init.d/smb start

測試:

首先測試你配置的smb.conf是否正確,用下面的命令

testparm

如果沒有錯誤,則在你的windows機器上的瀏覽器中輸入file://IP/share 看是否能訪問

  1. 共享一個目錄,使用用戶名和密碼登錄后才可以訪問,要求可以讀寫

打開samba的配置文件/etc/samba/smb.conf

[global] 部分內容如下:

[global]

    workgroup = WORKGROUP

    server string = Samba Server Version %v

    security = user

    passdb backend = tdbsam

    load printers = yes

    cups options = raw

然后加入以下內容:

[myshare]

    comment = share for users

    path = /samba

    browseable = yes

    writable = yes

    public = no

保存配置文件,創建目錄:

mkdir /samba

chmod 777 /samba

然后添加用戶。因為在[globa]中” passdb backend = tdbsam”,所以要使用” pdbedit” 來增加用戶,注意添加的用戶必須在系統中存在。

useradd user1 user2

pdbedit -a user1 # 添加user1賬號,並定義其密碼

pdbedit -a user2

pdbedit -L # 列出所有的賬號

測試:

打開IE瀏覽器輸入file://IP/myshare/ 然后輸入用戶名和密碼

  1. 使用linux訪問samba服務器

Samba服務在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟件包。安裝完后就可以使用smbclient命令了。

smbclient //IP/共享名 -U 用戶名

如:[root@localhost]# smbclient //10.0.4.67/myshare/ -U user1

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]

smb: >

出現如上所示的界面。可以打一個”?”列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以打印該命令如何使用,其中get是下載,put是上傳。

另外的方式就是通過mount掛載了:

如:

mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456

格式就是這樣,要指定-t cifs //IP/共享名本地掛載點 -o后面跟username 和 password

掛載完后就可以像使用本地的目錄一樣使用共享的目錄了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM