天天看點

samba檔案共享服務

一、了解samba服務;

1.概念:實作windows和linux系統之間實作smb協定的一款開源軟體,是c/s結構。

2.smb(服務消息塊協定):是一種在區域網路上共享檔案和列印機的通信協定,提供不同系統之間共享檔案或列印機。

3.netbios(網絡基本輸入輸出系統協定):負責資料傳輸過程中的主機解析。

4.cifs(通用網絡檔案系統):cifs 是針對 microsoft windows 作業系統的本地網絡檔案系統。 linux 系統可以挂載和訪 問cifs 檔案共享 , 如同常見的網絡檔案系統一樣。

5.samba的作用:共享檔案和列印機,支援将linux加入到windows的ad中;實作linux和windows之間的通路。

6.實作原理:samba服務功能強大,這與其通信基于smb協定有關。smb不僅提供目錄和列印機共享,還支援認證、權限 設定。在早期,smb運作于nbt協定(netbios over tcp/ip)上,使用協定的137、138及tcp協定的139端口, 後期smb經過開發,可以直接運作于tcp/ip協定上,沒有額外的nbt層,使用tcp協定的445端口。

用戶端---------(1)---------> 服務端---------(2)---------->smb.conf主配置檔案

用戶端-------- (4)----------> 服務端----------(3)---------->日志檔案

二、samba軟體包的組成:

1.samba軟體組成:samba-common(公共元件)、samba-client(用戶端)、samba(主程式)、samba-winbind(允許unix 系統利用windowsad的使用者資訊);

2.samba服務的程式元件:

smb:提供共享通路,管理檔案傳輸,端口tcp139号(smb協定)、tcp445号(cifs協定)

nmb:負責netbios協定(負責跨平台實作共享)解析,端口udp137、138号

三、了解samba的主配置檔案:/etc/samba/smb.conf

1.主配置檔案的格式:#表示注釋、;表示配置的樣例、[global]全局設定、[homes]家目錄共享設定、[printers]列印機共享設 置;

四、搭建匿名和認證的共享

a.配置網絡:如ip、網關、主機名、關閉selinux、關閉iptables;

b.安裝samba:推薦使用yum安裝;

c.修改配置檔案:smb.conf主配置檔案,根據需求進行修改;smbusers共享賬号的别名檔案;一個smb使用者可以映射到多 個名稱;

d.管理samba使用者:

pdbedit -a -u 使用者 ##添加系統使用者到smb使用者

pdbedit -x -u 使用者 ##删除系統使用者在smb使用者中

pdbedit -l ##檢視smb使用者

e.啟動服務:

/etc/init.d/smb start ##啟動共享

/etc/init.d/nmb start ##啟動netbois服務

f.通路測試:

五、samba服務的通路:

1.smbclient:

yum -y install samba-client ##安裝軟體包

smbclient -l ip位址 -u 使用者 ##列出共享

smbclient -u 使用者 //ip位址/共享名 ##通路匿名共享時,不需要指定-u

2.mount:

yum -y install cifs-utiles ##安裝cifs工具

mount -o username=使用者名 //ip/共享名 挂載點 ##通路認證共享

mount -o username=* //ip/共享名 挂載點 ##通路匿名共享

3.windows用戶端共享的原理:

net share ##管理本地共享

net use ##管理共享映射

net use 共享路徑 /delete ##删除共享緩存

inetcpl.cpl ##打開inet選項,删除通路記錄

匿名共享:

1.設定網絡參數和基礎環境:

[root@smb ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

device=eth0

hwaddr=00:0c:29:68:b1:0f

nm_controlled=no

onboot=yes

bootproto=static

ipaddr=192.168.100.150

netmask=255.255.255.0

gateway=192.168.100.100

dns1=192.168.100.100

:wq

[root@smb ~]# vi /etc/sysconfig/network

hostname=smb.linuxfan.cn

[root@smb ~]# vi /etc/selinux/config

selinux=disabled

[root@smb ~]# chkconfig iptables off ##設定防火牆開機不啟動

[root@smb ~]# reboot ##重新開機主機

2.安裝samba軟體:

[root@smb ~]# mount /dev/cdrom /mnt ##挂載CD光牒到/mnt這個目錄下

[root@smb ~]# rm -rf /etc/yum.repos.d/*

[root@smb ~]# vi /etc/yum.repos.d/centos.repo ##編輯yum配置檔案

[local]

name=local

baseurl=file:///mnt

enabled=1

gpgcheck=0

[root@smb ~]# yum -y install samba ##安裝samba軟體包

3.修改/etc/samba/smb.conf定制功能:

[root@smb ~]# vi /etc/samba/smb.conf ##删除注釋:%g /^#/d 删除空行:%g/^$/d 删除樣例行:%g /^;/d 删除多餘空行;修改如下:

[global]

[public]

comment = public stuff

##描述

path = /opt/share

##設定共享的路徑

public = yes

##設定是否公開共享

writable = yes

##設定是否可寫,即上傳檔案

printable = no

##共享列印機設定

[root@smb ~]# mkdir /opt/share

[root@smb ~]# touch /opt/share/a.file

[root@smb ~]# chmod 777 /opt/share

[root@smb ~]# testparm ##測試配置是否有誤

4.啟動服務:

[root@smb ~]# /etc/init.d/smb start

[root@smb ~]# /etc/init.d/nmb start

[root@smb ~]# chkconfig smb on

[root@smb ~]# netstat -utpln |grep mb ##tcp:139,445/udp:137,138檢視端口

5.用戶端測試:

windows:

\192.168.100.150\public

linux:

第一種方式:

挂載CD光牒,配置yum源;

yum -y install cifs*

mount -o cifs //192.168.100.150/public /benet/ ##匿名共享提示輸入密碼直接回車

ls /benet ##驗證

第二種方式:

yum -y install samba-client

smbclient //192.168.100.150/public ##登陸

smb: \> ##ls檢視,get 檔案名 下載下傳 ,put 檔案名 上傳 ,quit退出

使用者認證的共享:注意匿名和認證選一個

1.建立使用者:

useradd u01

useradd u02

pdbedit -a u01 ##将系統使用者添加為smb使用者

pdbedit -a u02

pdbedit -l ##檢視smb使用者

2.修改配置檔案:

[root@smb ~]# vi /etc/samba/smb.conf

public = no ##共享非公開

writable = no ##預設不可以寫

valid users = u01, u02 ##允許通路的使用者

write list = u01 ##有寫入權限的使用者

testparm ##測試配置是否有誤

/etc/init.d/smb restart ##重新開機服務

netstat -utpln |grep mb ##檢視端口使用情況

3.測試:

windows主機:

\192.168.100.150

登陸使用者名密碼測試讀取寫入權限

cmd中net use 檢視儲存的連結資訊

net use * /del 删除儲存的連接配接資訊

再次通路\192.168.100.150測試另外使用者

linux:客戶機必須配置ip,能夠與samba伺服器處于同一網絡

mount -o username=u01 //192.168.100.150/public /mnt

cd /mnt

touch b.file

ls

smbclient -u u02 //192.168.100.150/public

繼續閱讀