1. 程式人生 > >文件共享之Samba

文件共享之Samba

文件共享之Samba

1.Samba基礎知識:

Tridgwell在91年時為解決Linux與window之間文件共享服務,開發出SMB協議與Samba服務程序。

smb:Service message block消息服務塊;

CIFS:commom Internet file system,通用網絡文件系統;

Samba功能:文件共享、打印機共享、NetBIOS協議(Windows基於主機實現互相通信機制,15個字符);

2.Samba服務:

2.1服務端程序包:通過yum install -y samba;nmbd提供netbios name service ;smbd提供cifs共享;

systemd unit file: nmbd→nmb.service

smbd→amb.service

客戶端程序包:Samba-client

smbclient 命令交互工具;

mount -t cifs 實現本地掛載方式;

2.2啟動服務:systemctl start nmb.service

systemctl start nmb.service

檢查監聽端口:netsate -utnlp

如圖:

技術分享圖片

2.3Samba配置文件:man smb.conf

/etc/samba/smb.conf /etc/samba/sam.conf.example

配置段:全局配置[global]、共享配置段[共享資源名稱]

2.3.1全局配置

workgroup=MYGROUP; #當前Samba主頁所屬工作組

netbios name = : #當前主機netbios名稱

server string = :#主機註釋

display chaset = :#當前Samba主機服務使用字符集

unix chaset = : #當前Linux主機所用的字符集

dos chaset = : #windos系統字符集

log file = /var/log/samba/log.%m #定義日誌文件存放位置和命名,%m客戶端hostname命名

max log size =50 :#定義日誌文件最大容量50KB

security = user #設定安全級別為user機制

安全級別有以下3種:

share:匿名共享,安全性差

user:使用Samba服務自我管理的賬號密碼對用戶進行驗證;用戶需為系統用戶;

密碼為訪問Samba服務設定的密碼。

domain:使用DC進行用戶認證

passdb backen = tdbsam #密碼庫文件格式

2.32共享配置:

[共享名稱]定義某共享服務名

comment =:#註釋信息

path =:#定義共享文件路徑

browserable =:#是否可瀏覽,是否可被所有用戶看到

writeable =:是否可寫

read only =:是否為只讀

write list =:可以寫操作的用戶列表 :"用戶名"、"@組名"或者"+組名"

public =:是否公開服務

guest OK =:是否允許來賓,與public類似

註:writable與write list不可同時啟用;

2.4檢查配置文件語法:

testparm /etc/samba/smb.conf

3.管理Samba用戶工具

smbpasswd [option] username

-a:add user

-x:delete user

-d:禁用

-e:啟用

pdbedit [option]

-L:列出所有用戶

-v:verbose

-a:add user

-u username

-x:delete user -u username

-r:修改用戶信息

smbstatus:顯示Samba server的相關共享訪問狀態

-b:簡要信息

-v:verbose

4.訪問Samba共享:訪問UNC路徑://server/shared_name

Linux:

smbclinet:交互式命令客戶端

mount -t cifs:掛載文件系統

window:\\HOST OR IP\SHARED_DIR

4.1交互式數據訪問:

smbclient -L HOST -U USERNAME #獲取到共享信息

smbclint //server/shared_name [-U username] [-p passwd]

4.2基於掛載的方式訪問:

mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD

密碼可以交互式輸入:

5.安全共享文件實現

使用Samba安全機制user模式下實現centos7之間以及win7之間文件共享:

創建一個共享data,路徑為/ftp/data,要求僅centos和gentoo能上傳文件, 此路徑對其他用戶不可見:

5.1設置配置文件的安全機制為user

技術分享圖片

5.2創建共享文件

技術分享圖片

5.3創建用戶並授權

useradd centos

setfacl -m u:centos:rwx /ftp/data

添加用戶至Samba服務

技術分享圖片

5.4實現文件共享

5.4.1linux主機訪問正常,上傳下文件正常

技術分享圖片

5.4.2Linux與win7之間,首先要確保能夠互相通信、iptables以及selinux關閉狀態:

在Windows資源管理中:\\192.168.1.111便切換至認證界面 :輸入Samba認證的用戶和密碼即可登錄:

技術分享圖片

共享文件的家目錄:

技術分享圖片

5.4.3在本地win編輯centos.txt上傳至centos家目錄,在Linux客戶端查看並上傳至共享文件data中:

技術分享圖片

在Linux本地查看:

技術分享圖片

Linux上傳centos.txt至/ftp/data,window訪問正常。




















文件共享之Samba