【Linux學習筆記24-1】網路檔案系統 samba共享設定 + 自動掛解除安裝 autofs
文章目錄
0-1 實驗環境
- 伺服器端:node1===>192.168.43.101
- 客戶端:node2===>192.168.43.111
0-2 Windows與Linux共享檔案
- Windows主機IP:192.168.43.1
- 新建資料夾westos
- 開啟檔案屬性===>共享===>高階共享===>共享資料夾===>設定共享名稱
- 檔案屬性===>共享===>箭頭===>選擇Everyone===>新增===>共享===>完成
- Linux客戶端:node2主機
smbclient -L //192.168.43.1/共享名稱 -U administrator
1. samba服務簡介
Samba是SMB的一種實現方法,主要用來實現Linux系統的檔案和列印服務。Linux使用者通過配置使用Samba伺服器可以實現與Windows使用者的資源共享。
samba 是基於SMB協議(ServerMessage Block,資訊服務塊)的開源軟體,samba也可以是SMB協議的商標。SMB是一種Linux、UNIX系統上可用於共享檔案和印表機等資源的協議,這種協議是基於Client\Server型的協議,Client端可以通過SMB訪問到Server(伺服器)上的共享資源。當Windows是 Client,CentOS是伺服器時,通過Samba就可以實現window訪問Linux的資源,實現兩個系統間的資料互動。
samba是執行於unix/linux的軟體。它分為伺服器端和客戶端,實現了cifs協議描述的功能。用於windows和unix/linux見檔案共享
cifs:Windows上的檔案共享協議,其前身是SMB協議
2. samba基本資訊
-
服務啟動指令碼
smb.service -
主配置目錄
/etc/samba -
主配置檔案
/etc/samba/smb.conf -
安全上下文
samba_share_t -
埠 139、445
-
安裝包
samba:
samba-common:工具包
samba-client:客戶端
3. samba的安裝與啟用
dnf search samba
:查詢dnf install samba -y
:伺服器端安裝
dnf install samba-common -y
:伺服器和客戶端均需安裝
dnf install samba-client -y
:客戶端安裝systemctl enable --now smb.service
:啟動samba服務- 當火牆開啟時啟用samba:
firewall-cmd --permanent --add-service=samba
:在火牆中永久開啟samba
firewall-cmd --reload
:重新整理火牆使設定生效
- 測試:
smbclient -L //192.168.43.101
:列出指定IP提供的共享檔案
(當需要輸入root密碼時請直接回車)
4. samba使用者的建立
samba使用者必須是本地存在的使用者
smbpasswd -a 使用者名稱
:新增samba使用者pdbedit -L
:檢視samba使用者列表pdbedit -x 使用者名稱
:刪除samba使用者
5. samba使用者訪問家目錄
setsebool -P samba_enable_home_dirs on
- 在Windows下訪問
Windows+R===>輸入 \\192.168.43.101
執行
- 在Linux下訪問
smbclient -L //IP/共享名稱 -U 使用者名稱
:列出指定IP提供的共享檔案
6. samba服務共享目錄
6.1 共享自建目錄
mkdir /westosdir
:建立共享目錄touch /westosdir/file1
:建立檔案semanage fcontext -a -t samba_share_t ‘/westosdir(/.*)?’
:修改共享目錄的Selinux安全上下文
restorecon -RvvF /westosdir
:重新整理cp /etc/samba/smb.conf.example /etc/samba/smb.conf
:複製模板檔案vim /etc/samba/smb.conf
:新增共享目錄
[LEE] #共享名稱
comment = westos dir #共享說明
path = /westosdir #共享路徑
systemctl restart smb.service
:重啟服務
- 在客戶端訪問共享檔案:
smbclient //共享檔案主機IP/共享名 -U samba使用者名稱
:列出指定IP提供的共享檔案mount -o username=samba使用者名稱,password=密碼 //共享檔案主機IP/共享名 掛載目錄
:掛載檔案系統
6.2 共享系統目錄(不能直接修改安全上下文)
vim /etc/samba/smb.conf
:修改共享目錄為系統目錄
[LEE] #共享名稱
comment = westos dir #共享說明
path = /mnt #共享路徑
setsebool -P samba_export_all_ro on
:修改bool值(允許讀共享)getsebool -a | grep samba
:查詢samba的bool值systemctl restart smb.service
:重啟服務
- 在客戶端訪問共享檔案:
smbclient //共享檔案主機IP/共享名 -U samba使用者名稱
:列出指定IP提供的共享檔案
- 還原伺服器端設定
7. samba常用配置引數
- 伺服器端:
chmod 777 共享目錄
:修改共享目錄許可權vim /etc/samba/smb.conf
:新增或修改引數systemctl restart smb.service
:重啟服務
- 客戶端測試:
mount -o username=sdsnzy1,password=sdsnzy1 //192.168.43.101/LEE /mnt/
7.1 所有使用者可寫
writable = yes
- 客戶端掛載後建立檔案失敗!
- 伺服器端修改許可權及配置檔案,重啟服務
- 客戶端測試:重新掛載,可寫!
7.2 指定使用者可寫
write list = 使用者
- 伺服器端修改配置檔案,重啟服務!
- 客戶端重新掛載測試:
7.3 指定組可寫
write list = @使用者 或 +使用者
- 伺服器端修改配置檔案,重啟服務!(新增sdsnzy1為sdsnzy2的附加組,實驗完成後還原)
- 客戶端重新掛載測試:
7.4 指定訪問使用者
valid users = 使用者
- 伺服器端修改配置檔案,重啟服務!
- 客戶端重新掛載測試:
7.5 指定訪問組
valid users = @使用者 或 +使用者
- 伺服器端修改配置檔案,重啟服務!(新增sdsnzy1為sdsnzy2的附加組,實驗完成後還原)
- 客戶端重新掛載測試:
7.6 是否隱藏共享
browseable = no:不顯示共享
browseable = yes:顯示共享(預設)
- 伺服器端設定不顯示共享時,重啟服務,客戶端測試:
- 伺服器端設定顯示共享時,重啟服務,客戶端測試:
7.7 允許匿名使用者訪問
map to guest = bad user :全域性設定(在[gloabl]裡新增)
guest ok = yes:共享名稱裡設定
- 伺服器端修改配置檔案,重啟服務!
- 客戶端匿名掛載測試:
mount -o username=guest //192.168.43.101/LEE /mnt
:匿名掛載
7.8 指定主機訪問(白名單)
hosts allow = 192.168.43.111:只有該主機能訪問(多個主機IP用空格隔開)
hosts allow = 192.168.43.:只有該網段下的主機能訪問(例如192.168.43.38;192.168.43.183…等等)
7.9 指定主機訪問(黑名單)
hosts deny = 192.168.43.111:只禁止該主機訪問(多個主機IP用空格隔開)
hosts allow = 192.168.43.:禁止該網段下的主機訪問
8. Samba+autofs 自動掛載解除安裝
autofs:在客戶端實現自動掛載解除安裝的軟體;
mount是用來掛載檔案系統的,可以在系統啟動的時候掛載也可以在系統啟動後掛載。對於本地固定裝置,如硬碟可以使用mount掛載;而光碟、軟盤、NFS、SMB等檔案系統具有動態性,即需要的時候才有必要掛載。光碟機和軟盤我們一般知道什麼時候需要掛載,但NFS和SMB共享等就不一定知道了,即我們一般不能及時知道NFS共享和SMB什麼時候可以掛載。而autofs服務就提供這種功能,好像windows中的光碟機自動開啟功能,能夠及時掛載動態載入的檔案系統。免去我們手動掛載的麻煩。要實現光碟機,軟盤等的動態自動掛載,需要進行相關的配置。
8.1 autofs客戶端安裝
dnf install autofs -y
8.2 客戶端配置
vim /etc/auto.master
:編輯配置檔案
/mnt /etc/auto.samba
最終掛載點的上層目錄 自動定義子策略檔案
vim /etc/auto.samba
:編輯自動定義子策略檔案
samba -fstype=cifs,username=使用者,password=密碼 ://伺服器端主機IP/共享目錄
最終掛載點 掛載引數 掛載資源
vim /etc/autofs.conf
:修改預設解除安裝時間
timeout = 3 #自動解除安裝時間預設為300秒
systemctl restart autofs.service
:重啟服務
8.3 客戶端測試
cd /mnt/samba
:進入掛載點目錄df
:發現已經自動掛載cd
:退出掛載點目錄,3s後(等待資源閒置超時,掛載資源自動解除安裝)df
:3s後發現已經自動取消掛載
9. Samba多使用者掛載(cifs)
在客戶端如果用普通掛載方式,沒有用過使用者驗證的人也可以訪問samba服務,不安全
通過認證的使用者才可以掛載
9.1 客戶端安裝samba認證工具
dnf search cifs
:查詢
dnf install cifs-utils.x86_64 -y
:安裝
9.2 客戶端配置
vim /root/smbauth
:建立並編輯掛載使用者密碼檔案(防止每次掛載明文輸入密碼不安全)
username=sdsnzy1
password=sdsnzy1
vim /etc/auto.master
:編輯配置檔案
/- /etc/auto.cifs
最終掛載點的上層目錄 自動定義子策略檔案
vim /etc/auto.cifs
:編輯自動定義子策略檔案
/samba -fstype=cifs,credentials=/root/smbauth,sec=ntlmssp,multiuser ://192.168.43.101/LEE
credentials=/root/smbauth #指定認證檔案(第一步編輯好的密碼檔案)
sec=ntlmssp #指定認證型別
multiuser #支援多使用者
systemctl restart autofs.service
:重啟服務
9.3 客戶端認證
cifscreds add -u Samba使用者 伺服器端主機IP
:新增認證cifscreds clearall
:清除所有認證使用者cifscreds clear -u Samba使用者
:清除指定的已認證的使用者cifscreds update -u Samba使用者
:更新認證
實驗:
su - kiosk
:切換到普通使用者ls -l /mnt
:無法檢視cifscreds add -u sdsnzy1 192.168.43.101
:新增認證- 可檢視,建立檔案
- 切換到其他普通使用者,沒認證無法檢視,很安全!!!
相關文章
- 【Linux學習筆記24-2】網路檔案系統 nfs + 自動掛解除安裝autofsLinux筆記NFS
- Linux系統如何安裝AutoFs掛載服務Linux
- [Linux]檔案掛載和解除安裝Linux
- linux系統之間透過nfs網路檔案系統掛載設定方法LinuxNFS
- 在Linux中,掛載和解除安裝檔案系統過程是什麼?Linux
- Linux系統掛載win系統的共享檔案Linux
- Linux與Windows共享檔案Samba(轉)LinuxWindowsSamba
- cifs網路檔案共享系統
- linux-掛載NFS網路檔案系統教程LinuxNFS
- 使用Samba共享檔案Samba
- 『學了就忘』Linux檔案系統管理 — 60、Linux中配置自動掛載Linux
- 如何利用samba(smb服務)實現網路檔案共享Samba
- Linux 筆記分享二:Linux 系統安裝Linux筆記
- Linux製作系統啟動盤以及掛載和解除安裝U盤Linux
- Linux 學習筆記 - 軟體安裝Linux筆記
- Linux系統網路檔案配置Linux
- NfS網路共享檔案系統環境搭建NFS
- Linux裝置掛載和解除安裝Linux
- windows共享到linux系統檔案WindowsLinux
- linux學習筆記三:防火牆設定Linux筆記防火牆
- linux磁碟掛載與解除安裝Linux
- 使用NIM Server網路半自動安裝AIX系統ServerAI
- 如何使用 autofs 掛載 NFS 共享NFS
- Linux系統下無法解除安裝掛載的解決辦法Linux
- Win10系統可自動解除安裝“拙劣”系統更新補丁Win10
- linux系統壓縮,解壓檔案筆記Linux筆記
- Linux核心啟動之根檔案系統掛載Linux
- Linux下cifs公用網際網路系統和samba服務LinuxSamba
- Linux 筆記分享八:檔案許可權的設定Linux筆記
- Linux系統學習(四)Linux網路服務Linux
- Linux系統檔案學習內容多嗎?linux系統命令Linux
- 安裝系統時沒有網路無法完成設定進入系統
- OpenXml SDK學習筆記(4):設定檔案級別的樣式XML筆記
- Linux 學習筆記--檔案打包與解壓縮Linux筆記
- 4、Linux入門學習筆記 檔案操作命令Linux筆記
- Linux配置JavaEE環境 Linux中安裝JDK、Tomcat、mysql 設定Tomcat自啟動、設定mysql自啟動LinuxJavaJDKTomcatMySql
- RabbitMQ學習筆記-安裝MQ筆記
- UI自動化學習筆記- Selenium操作檔案上傳下載UI筆記