利用基於samba服務的cifs檔案系統實現共享資源
CIFS概述:
1.cifs檔案系統簡介
CIFS(Common Internet File System)檔案系統也稱通用Internet檔案系統,它使程式可以訪問遠端
Internet計算機上的檔案並要求此計算機的服務。CIFS使用客戶/伺服器模式。客戶程式請求遠在伺服器上的服務程式為它提供服務,
伺服器獲得請求並返回響應。CIFS是公開的開放的SMB協議版本。SMB協議現在是在區域網上用於伺服器檔案訪問和列印的協議。
像SMB協議一樣,CIFS在高層執行。可以看做是應用程式協議如檔案傳輸協議和超文字傳輸協議的一個實現。
2.cifs檔案系統功能
1.訪問伺服器本地檔案並讀寫這些檔案
2.與其它使用者一起共享一些檔案塊
3.在斷線時自動恢復與網路的連線
4.使用統一碼檔名
實驗前提:
已經做好了samba共享 ,並且匿名使用者無法訪問samba服務,因為匿名使用者無法訪問才需要使用者認證機制
1. 普通掛載方式
[root@client ~]# mount //172.25.254.134/linux /mnt -o username=westos,password=westos
[root@client ~]# df
@1.因為是以root使用者身份掛載,故root使用者對其掛載目錄可以讀寫
[root@client ~]# cd /mnt
[root@client mnt]# ls
initial-setup-ks.cfg
[root@client mnt]# touch file1
[root@client mnt]# ls
file1 initial-setup-ks.cfg
[root@client mnt]# cd
@2.但發現非掛載使用者對其目錄也可以讀寫,這樣很不合理!
[root@client ~]# su - student
Last login: Sat Nov 17 23:12:59 CST 2018 on :0
[student@client ~]$ cd /mnt
[student@client mnt]$ ls
file1 initial-setup-ks.cfg
[student@client mnt]$ touch file2
touch: cannot touch ‘file2’: Permission denied
[student@client mnt]$ ls
file1 file2 initial-setup-ks.cfg
[student@client mnt]$ exit
logout
@3.並且發現不論是掛載使用者還是非掛載使用者均用的是1001使用者身份建立的檔案,這樣很不合理!
[root@client ~]# ls -l /mnt
total 4
-rw-r--r--. 1 1001 1001 0 Nov 25 09:28 file1
-rw-r--r--. 1 1001 1001 0 Nov 25 09:28 file2
-rwxr--r--. 1 nobody nobody 1841 Nov 24 17:21 initial-setup-ks.cfg
[root@client ~]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
@4.發現1001使用者為服務端的samba使用者:westos
[root@service ~]# pdbedit -L
student:1000:
westos:1001:
[root@service ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos),1000(student)
非掛載使用者也可以訪問掛載目錄的內容資訊,這說明通過普通掛載的方式來實現samba共享是很不安全的
2.使用cifs協議實現多使用者掛載
(1).指定掛載使用者認證(本次使用者認證)
##1.解除安裝
[root@client ~]# umount /mnt
##2.安裝cifs工具
[root@client ~]# yum install -y cifs-utils.x86_64
##看到samba客戶端軟體是4.2版本
[root@client ~]# rpm -qa | grep samba
##3.新增samba使用者認證(首次認證); 認證使用者任意,只要是samba使用者均可
[root@client ~]# vim /root/smbpass
################
username=westos ##westos為samba使用者
password=westos ##samba使用者密碼
##4.更改許可權
[root@client ~]# chmod 600 /root/smbpass
[root@client ~]# ll /root/smbpass
-rw-------. 1 root root 32 Nov 25 09:43 /root/smbpass
##5.掛載
[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.134/linux /mnt
註解:
credentials=/root/smbpass ##用於指定掛載使用者認證資訊檔案
multiuser ##表示使用多使用者掛載
sec=ntlmssp ##指定認證方式(kernel3.8之後是預設選項)
[root@client ~]# df
測試:
##此時非掛載使用者(即未認證的使用者)對掛載目錄便沒有訪問許可權
[root@client ~]# su - student
Last login: Sun Nov 25 10:09:31 CST 2018 on pts/0
[student@client ~]$ cd /mnt
[student@client mnt]$ ls
ls: reading directory .: Permission denied
(2)新增非掛載使用者認證
非掛載使用者可以通過samba使用者認證實現訪問掛載目錄中的檔案資源
##1.新增samba使用者
[root@service ~]# pdbedit -L
student:1000:student
westos:1001:
[root@service ~]# useradd lee
##新增samb使用者
[root@service ~]# smbpasswd -a lee
New SMB password:
Retype new SMB password:
Added user lee.
[root@service ~]# pdbedit -L
student:1000:student
westos:1001:
lee:1002:
[root@service ~]# id lee
uid=1002(lee) gid=1002(lee) groups=1002(lee)
##2.新增samba使用者認證; student使用者通過samba使用者:lee登陸認證,(此處的認證使用者任意,只要是samba使用者即可)
[student@client mnt]$ cifscreds add -u lee 172.25.254.134
Password:
測試:
##發現以student使用者身份建立的檔案實質上是以samba使用者:lee身份建立的
[student@client mnt]$ ls
file1 file2 initial-setup-ks.cfg rootfile
[student@client mnt]$ touch studentfile
[student@client mnt]$ ll
使用cifs協議通過安全認證機制,極大的提高了samba共享的安全性,使不同的使用者都必須通過認證才能訪問共享目錄
相關文章
- 如何利用samba(smb服務)實現網路檔案共享Samba
- 如何實現Samba檔案共享服務Samba
- 檔案共享之SMB/CIFS協議及Samba的使用協議Samba
- cifs網路檔案共享系統
- CIFS檔案共享
- 利用 samba 實現 Ubuntu18.04 與 Windows10 的檔案共享SambaUbuntuWindows
- Linux下cifs公用網際網路系統和samba服務LinuxSamba
- 使用Samba共享檔案Samba
- 【openEuler系列】部署檔案共享服務SambaSamba
- ubuntu系統samba服務的安裝配置UbuntuSamba
- Linux與Windows共享檔案Samba(轉)LinuxWindowsSamba
- 基於SpringBoot+Netty實現一個自己的推送服務系統Spring BootNetty
- 基於Flume做FTP檔案實時同步的windows服務。FTPWindows
- 如何快速搭建Linux系統中Samba服務LinuxSamba
- Linux系統配置NFS檔案共享服務LinuxNFS
- 基於 Nginx&Lua 實現自建服務端埋點系統Nginx服務端
- 2.9.5 資料庫中支援的檔案系統服務資料庫
- 教你如何在CentOS上使用Samba共享檔案CentOSSamba
- 共享辦公室出租,服務和資源的共享
- Linux——搭建Samba(CIFS)伺服器LinuxSamba伺服器
- Samba服務Samba
- Qt實現基於多執行緒的檔案傳輸(服務端,客戶端)QT執行緒服務端客戶端
- 如何實現檔案共享,檔案共享的設定方法-鐳速
- Linux檔案系統的實現Linux
- 提供網校系統搭建服務,優質資源共享的學習新模式模式
- 共享資源庫系統
- Linux系統掛載win系統的共享檔案Linux
- Go實現基於WebSocket的彈幕服務GoWeb
- centos7使用samba搭建檔案共享伺服器CentOSSamba伺服器
- 服務端SSE資料代理與基於fetch的EventSource實現服務端
- 檔案系統(四):FAT32檔案系統實現原理
- 檔案全域性去重!對接雲盤,實現跨系統檔案資源集中管控
- windows共享到linux系統檔案WindowsLinux
- React服務端渲染實現(基於Dva)React服務端
- Kubernetes基於haproxy實現ingress服務暴露
- 基於 OpenLayers3 實現的 HTML5 GIS 電信資源管理系統S3HTML
- 基於 swoole 的 websocket 服務實現狀態同步Web
- 基於jsp學生資訊管理系統的設計與實現(含原始檔)JS