1. 程式人生 > >Samba服務(匿名用戶訪問、本地用戶訪問、虛擬用戶訪問)

Samba服務(匿名用戶訪問、本地用戶訪問、虛擬用戶訪問)

samba smb 匿名用戶訪問 本地用戶 虛擬用戶訪問

Samba是一個實現不同操作系統(Windows、Linux、UNIX)之間文件共享和打印機共享的一種SMB協議的免費軟件。SMB協議是客戶機/服務器協議,客戶機通過該協議可以訪問服務器上的共享文件及打印機共享資源。它主要應用於局域網上,也可以通過設置“NetBIOS over TCP/IP”同互聯網中的電腦分享資源。

SMB協議:TCP 139端口 CIFS協議:TCP 445端口

重要配置文件:

/etc/samba/smb.conf:

SAMBA的主配置文件,內有豐富的說明,也可以通過man smb.conf查看它的詳細說明。文檔內部主要設定了兩個部分,分別是[global]全局設置參數與共享文件設置參數;

security=share //設置用戶範文samba服務器的驗證方式,一共四種驗證方式:

  1. share:用戶訪問samba server不需要提供用戶名和密碼,安全性較低;
  2. user:samba server共享目錄只能被授權的用戶訪問,由samba server負責檢查賬號和密碼的正確性,賬號與密碼要在本samba server中建立;
  3. server:依靠其他windows NT/2000或samba server來驗證用戶的賬號和密碼,是一種代理驗證方式。該安全模式下,系統管理員可以把所有的windows用戶和密碼集中到一個NT系統上,使用windows NT進行samba認證,遠程服務器可以自動認證全部用戶和口令,如果認證失敗,samba將使用用戶級安全模式作為替代的方式;
  4. domain:域安全級別,,使用主域控制器(PDC)來完成認證。

    passdb backend=tdbsam //定義用戶後臺類型
    smbpasswd: 使用SMB服務的smbpasswd命令給系統用戶設置SMB密碼
    tdbsam: 創建數據庫文件並使用pdbedit建立SMB獨立用戶,smbpasswd -a username 建立samba用戶並設置密碼,不過需要先建立系統用戶,也可以使用pdbedit命令來建立samba用戶
    pdbedit -a username:新建samba賬號
    pdbedit -x username:刪除samba賬號
    pdbedit -L:列出samba賬號列表,讀取passdb.tdb數據庫文件

    pdbedit -c “[D]” -u username:暫停該samba用戶的賬號
    pdbedit -c “[]" -u username:恢復該samba用戶的賬號
    ldapsam:基於LDAP服務進行賬戶驗證
    username map=/etc/samba/smbusers //配合/etc/samba/smbusers文件設置虛擬賬號

/etc/samba/lmhosts:

主要目的在對應NetBIOS name與該主機名稱的IP,有點類似/etc/hosts功能;

/etc/samba/smbpasswd:

默認並不存在,它是SAMBA預設的使用者密碼對應表,文件也可自行在smb.conf裏面設定文件名及相應位置。不過需要註意該文件的權限(擁有者為root,權限為600);

/var/log/samba:samba服務日誌文件

Samba服務部署(匿名用戶訪問、本地用戶訪問、虛擬用戶訪問)

#安裝samba服務

rpm -ivh samba-3.6.9-164.el6.x86_64.rpm

匿名用戶訪問

  1. 編輯cmb.conf配置文件
vim /etc/samba/smb.conf

security=share //第101行,以share驗證方式訪問

#在原內容末尾新增內容
[share] //自定義共享名稱
comment=this is share directory! //共享描述
path=/opt/share //共享目錄路徑
public=yes //設置共享是否允許guest賬戶訪問
browseable=yes //yes/no,設置共享是否可瀏覽,如果no則表示隱藏,需要通過“//ip/共享目錄"進行訪問
writable=yes //設置共享是否具有可寫權限
create mask=0644 //創建的文件權限為644
directory mask=0755 //創建的文件目錄為755

2.創建共享目錄及設置權限

mkdir /opt/share
chmod 777 /opt/share

  1. 添加並重啟smb服務

chkconfig smb on
service smb restart

  1. 關閉selinux與防火墻

setenforce 0
service iptables stop

測試

Windows 7 系統操作:

打開運行輸入 \192.168.100.3 直接訪問

技術分享圖片


本地用戶訪問

  1. 編輯cmb.conf配置文件
#vim /etc/samba/smb.conf

security=user //第101行,以user驗證方式訪問

[students] //自定義共享名稱
comment=this is student directory! //共享描述
path=/opt/students //共享目錄路徑
browseable=yes //yes/no,設置共享是否可瀏覽,如果no則表示隱藏,需要通過“//ip/共享目錄"進行訪問
create mask=0644 //創建的文件權限為644
directory mask=0755 //創建的文件目錄為755
valid users=zhangsan,lisi //設置允許訪問共享的用戶,zhangsan、lisi
write list=zhangsan //設置該共享具有寫入權限的用戶,(可以為用戶和用戶組 @group)

  1. 創建students共享目錄及設置目錄權限

mkdir /opt/students
chmod 777 /opt/students

  1. 新增用戶zhangsan、lisi並設置密碼

useradd -s /sbin/nologin zhangsan
passwd zhangsan //121212

useradd -s /sbin/nologin lisi
passwd lisi //121212

  1. 將系統用戶zhangsan、lisi添加為samba用戶並設置samba用戶登錄密碼

smbpasswd -a zhangsan
smbpasswd -a lisi

  1. 查看samba用戶

pdbedit -L

技術分享圖片

  1. 重啟smb服務
service smb restart

測試

Windows 7 系統操作:

打開運行輸入 \192.168.100.3 直接訪問,顯示登錄界面輸入用戶名:zhangsan,密碼:121212

技術分享圖片
技術分享圖片
技術分享圖片


虛擬用戶訪問

  1. 編輯smbusers配置文件
vim /etc/samba/smbusers

//新增以下信息
zhangsan =stu01 stu02 stu03

  1. 在smb.conf配置文件中添加以下記錄
vim /etc/samba/smb.conf

security=user
username map=/etc/samba/smbusers //虛擬用戶文件的映射

  1. 重啟smb服務
service smb restart

測試

Windows 7 系統操作:

打開運行輸入 \192.168.100.3 直接訪問,顯示登錄界面輸入用戶名:stu01,密碼:121212
技術分享圖片
技術分享圖片

Samba服務(匿名用戶訪問、本地用戶訪問、虛擬用戶訪問)