Samba文件共享服務

1Samba概述

1SMBCIFS

SMB協議:Server Message Block,服務消息塊

CIFS協議:Common Internet File System,通用互聯網文件系統

SMB/CIFS默認是微軟的私有協議

2Samba

Samba是著名的開源軟件項目,在linux/unix上實現SMBCIFS協議,可以跨平臺文件共享

Samba軟件包組成:

samba-3.0.33-3.28.el5                           -----服務端程序

samba-client-3.0.33-3.28.el5                             -----客戶端程序

samba-common-3.0.33-3.28.el5                      -----公共組件

samba-swat-3.0.33-3.28.el5.i386.rpm   -----圖形化web管理程序

system-config-samba                                 -----圖形化界面的管理程序

Samba提供兩個服務程序:

     smbd提供共享資源的訪問,監聽TCP 139端口(SMB協議)和445端口(CIFS協議)

     nmbd提供NetBIOS名稱解析,監聽UDP137138端口(NetBIOS協議)

   smb服務:service smb start      -----會自動加載smbdnmbd組件程序

3)安裝

rpm -ivh /mnt/iso/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm

rpm -ivh /mnt/iso/Server/samba-3.0.33-3.28.el5.i386.rpm

注:①默認情況下已安裝samba-commonsamba-client

      perl-Convert-ASN1samba所依賴的軟件包,必須安裝
2
主配置文件/etc/samba/smb.conf

#表示註釋行,;表示樣例行,過濾:grep -v "#" /etc/samba/smb.conf  |grep -v "^;" |grep -v "^$"

testparm命令可用於檢查配置文件正確性

此配置文件中關鍵字對大小寫不敏感

1)常見全局配置項

workgroup:所在工作組名稱

server string:服務器描述信息

security:安全級別shareuserserverdomain

log file:日誌文件位置,/var/log/samba/%m.log每個客戶機建立一個日誌,%m變量表示客戶機地址

passwd backend---設置賬戶文件的類型,默認爲tdbsam,若需兼容舊版samba密碼則改爲smbpasswd

2)常見共享目錄配置項

comment:對共享目錄的註釋、說明信息

path:共享目錄在服務器中對應的實際路徑

browseable:該共享目錄是否可見,值爲no時相當於隱藏共享目錄,類似於windows中的共享名加$

guest ok:是否允許所有人訪問,等效於public,例guest ok=yes等於public=yes

writable:是否可寫,與read only的作用相反,例writable=no等於read only=yes

3)其他配置項

vaild users只有此名單內的用戶能訪問共享資源(拒絕優先)(用戶名/@組名)

invalid users:只有此名單內的用戶不能訪問共享資源(拒絕優先)(用戶名/@組名)

write list:只有此名單內的成員纔可作寫入動作(用戶名/@組名)

directory mask:通過共享創建文件夾的默認權限

create mask=0644:通過共享創建文件的默認權限

hosts allow:只有此網段/IP的用戶能訪問共享資源

hosts deny只有此網段/IP的用戶不能訪問共享資源

3、匿名訪問的文件共享

1)設置安全級別security = share

2)新建共享目錄

mkdir /var/software

chmod 777 /var/software

[software]

comment=public software

path = /var/software

public  = yes

read only = yes

3service smb start service smb reload

注:客戶端只能訪問被指定爲允許匿名訪問的共享,即指定public=yesguestok=yes的共享

4、帶驗證的文件共享

1)  建立samba用戶

useradd tom

pdbedit -a tom

pdbedit -a root

pdbedit -x tom     -----刪除Samba用戶tom

pdbedit -vL       -----查看Samba共享用戶的詳細信息

注:samba使用獨立的賬號數據庫,但系統中必須有對應的賬號,其密碼可與系統密碼不同

②賬戶數據庫文件默認位於/etc/samba/passdb.tdb,可使用pdbedit命令對samba用戶進行管理

③若需兼容舊版samba密碼則修改passwd backend=smbpasswd,同時賬戶數據庫文件爲

/etc/samba/smbpasswd,使用smbpasswd命令管理smbpasswd –a tomsmbpasswd –x tom

2)設置用戶授權

[global]

security = user

 [software]

comment= public software

path = /var/software

public  = no

     valid users=tom,@root       -----此處應填寫真實用戶名非別名

     write list=root           -----root用戶有可寫的權限

     directory mask=0755          -----通過共享創建文件夾的默認權限

     create mask=0644             -----通過共享創建文件的默認權限

chmod 777 /var /software

注:①應確保真實用戶對共享目錄有本地系統權限,用戶最終權限是samba權限和系統權限的交集

    ②可以在[global]中添加invalid users配置項拒絕用戶訪問samba服務,如invalid users=jack

    驗證valid userswrite list時,應刪除writable配置項

3)用戶名稱映射

vi  /etc/samba/smbusers

   root = administrator  admin

   tom = zhangsan lisi

vi  /etc/samba/smb.conf

username map=/etc/samba/smbusers  //[global]中指定名稱映射文件

  注:添加映射後別名用戶的密碼仍爲真實用戶的密碼

4添加授權的客戶端地址既可以在[global]中全局配置也可針對某個特定的共享

vi  /etc/samba/smb.conf

hosts allow=192.168.1.2 192.168.2.   //[global]中指定

hosts allow設置僅允許訪問共享的地址hosts deny設置僅拒絕訪問的地址兩項不要同時使用

    ②修改配置文件後必須重啓服務service smb restart

5、客戶端訪問

1)使用smbclient訪問

smbclient –L 192.168.1.1  //查看共享資源列表,未指定用戶賬戶時將以匿名方式登陸

smbclient –L 192.168.1.1 -U tom%123              //指定賬戶爲tom,密碼爲123

smbclient –U tom //192.168.1.1/software

命令:lspwdgetmgetputmputexithelplcd切換本地目錄

2)使用mount命令將共享目錄掛載到本地

mount –o username=tom //192.168.1.1/software  /mnt/iso

vi /etc/fstab

   //192.168.1.1/software     /mnt/iso  cifs  defaults,username=tom%123  0     0

注:當安全級別設置爲user時,在linux中仍然可以通過smbclient工具訪問匿名共享,但無法通過mount方式掛載訪問;如果是在windows中則無法再訪問匿名共享

3)使用自動掛載的方式

使用/etc/fstab文件掛載samba共享資源時,每次開機都會自動掛載,如果服務器未開機或其他原因,會導致掛載失敗,影響開機速度,而使用自動掛載則可以解決此問題

vi /etc/auto.master

   /mnt        /etc/samba.misc

vi /etc/samba.misc

   samba     -fstype=cifs,username=tom,password=111     ://192.168.1.1/software

service autofs restart


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章