smb共享

xixi1067087210發表於2018-08-04


還原三臺虛擬機器classroom server  desktop
[root@server0 ~]# rht-vmctl  reset classroom
[root@server0 ~]# rht-vmctl  reset server
[root@server0 ~]# rht-vmctl  reset desktop
 
虛擬機器server0
[root@server0 ~]# firewall-cmd --set-default-zone=trusted  
 
虛擬機器desktop0
[root@desktop0 ~]# firewall-cmd --set-default-zone=trusted
 
####################################################
Samba服務基礎,配置SMB共享(跨平臺的共享:Windows 與 Linux)
 
• Samba 軟體專案
– 用途:為客戶機提供共享使用的資料夾
– 協議:SMB(TCP 139)、CIFS(TCP 445)
 
• 所需軟體包:samba
• 系統服務:smb
 
 
 
管理共享賬號
• Samba使用者 —— 專用來訪問共享資料夾的使用者
– 採用獨立設定的密碼
– 但需要提前建立同名的系統使用者(可以不設密碼)
 
• 使用 pdbedit 管理工具
– 新增使用者:pdbedit -a 使用者名稱
– 查詢使用者:pdbedit -L [使用者名稱]
– 刪除使用者:pdbedit -x 使用者名稱
 
 
• 修改 /etc/samba/smb.conf
 
[自定共享名]
path = 資料夾絕對路徑
; public = no|yes //預設no
; browseable = yes|no //預設yes
; read only = yes|no //預設yes
; write list = 使用者1 .. .. //預設無
; valid users = 使用者1 .. .. //預設任何使用者
; hosts allow = 客戶機地址 .. ..
; hosts deny = 客戶機地址 .. ..
 
服務端虛擬機器Server0:
 1.安裝samba軟體
 2.建立Samba共享帳號
[root@server0 ~]# useradd harry
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd chihiro
[root@server0 ~]# pdbedit -a harry     #新增為Samba帳號
[root@server0 ~]# pdbedit -a kenji     #新增為Samba帳號
[root@server0 ~]# pdbedit -a chihiro   #新增為Samba帳號
 
[root@server0 ~]# pdbedit -L           #檢視Samba帳號  
 
3.建立共享目錄
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/1.txt
 
4.修改配置檔案/etc/samba/smb.conf
 
 補充vim 命令模式:/workgroup   #全文查詢workgroup 按n跳轉
                              按G可以直接到全文的最後 ,建議再檔案最後加入內容         
 
    workgroup = STAFF        #設定工作組
 
    [common]                 #共享名
    path  =  /common         #共享實際路徑
 
5.重起smb服務,設定smb服務為開機自啟動
 
6.修改SELinux策略,布林值(功能的開關)
 – 需要加 -P 選項才能實現永久設定
 檢視布林值
[root@server0 ~]# getsebool -a | grep samba
 修改布林值
[root@server0 ~]# setsebool samba_export_all_ro on
[root@server0 ~]# getsebool -a | grep samba
 
客戶端虛擬機器Desktop0:
1. 安裝客戶端軟體samba-client
2. 利用命令訪問
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root's password:  
 
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:  
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \>  
 
#####################################################
客戶端訪問服務端資源:
1.防火牆
2.服務本身的訪問控制
3.SELinux策略
4.本地目錄的許可權(本地的許可權)
 
 
#####################################################
更加科學的訪問方式mount掛載
客戶端:虛擬機器desktop0
 
1.安裝一個可以支援掛載smb資源的軟體,所需軟體包:cifs-utils
# yum -y install cifs-utils
# mkdir /mnt/test
# mount -o user=harry,pass=123 //172.25.0.11/common /mnt/test
 
# ls /mnt/test
# df -h    #檢視掛載情況
 
2.開機自動掛載/etc/fstab
 
 _netdev:宣告網路裝置
       再開機啟動時,首先開啟網路服務後,再進行掛載本裝置
 
//172.25.0.11/common  /mnt/test    cifs defaults,user=harry,pass=123,_netdev 0 0
 
[root@desktop0 ~]# umount /mnt/test/   #解除安裝裝置
[root@desktop0 ~]# df -h
[root@desktop0 ~]# mount -a   #驗證是否書寫正確,進行掛載
[root@desktop0 ~]# df -h
 
######################################################
讀寫的Samba共享
 
虛擬機器Server0:
1.建立共享目錄
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo redhat > /devops/a.txt
 
2.修改/etc/samba/smb.conf
 
[devops]
path = /devops
write list = chihiro
 
3.重起smb服務
 
4.修改SELinux策略
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on
[root@server0 ~]# getsebool -a | grep samba
 
5.修改本地許可權
[root@server0 ~]# setfacl -m  u:chihiro:rwx /devops/
[root@server0 ~]# getfacl /devops/
 
虛擬機器Desktop0:
 
 No such file or directory:沒找到檔案或目錄
 
1.開機自動掛載:
 
//172.25.0.11/devops /mnt/nsd  cifs defaults,user=chihiro,pass=123,_netdev 0 0
 
2.利用 mount  -a 進行測試掛載
 
####################################################
multiuser機制,為所有普通使用者設計
 
作用:
  客戶端掛載時,以許可權較小的使用者認證。必要時,可以通過指令進行使用者身份的切換
 
• mount.cifs 的掛載引數
– multiuser,提供對客戶端多個使用者身份的區分支援
– sec=ntlmssp,提供NT區域網管理安全支援
 
• 使用 cifscreds 提交新的使用者憑據並測試
– cifscreds add|update -u 共享使用者名稱 伺服器地址
 
[student@desktop0 nsd]$ cifscreds add -u chihiro 172.25.0.11
 
########################################################
 
NFS共享概述 (Linux與Linux)
• Network File System,網路檔案系統
– 用途:為客戶機提供共享使用的資料夾
– 協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
 
• 所需軟體包:nfs-utils
• 系統服務:nfs-server
• 修改 /etc/exports
– 資料夾路徑    客戶機地址(許可權)
 
 只讀 的NFS共享
虛擬機器Server0:
1.安裝nfs-utils包
2.建立共享目錄
[root@server0 ~]# mkdir /public
[root@server0 ~]# echo 123 > /public/123.txt
 
3.修改配置檔案/etc/exports
/public         *(ro)
共享路徑                所有人(只讀訪問)
 
4.重起nfs-server服務
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server
 
客戶端訪問:虛擬機器Desktop0
 
  does not exist:不存在
 
[root@desktop0 /]# mkdir /mnt/nfsmount
[root@desktop0 /]# vim /etc/fstab
 
172.25.0.11:/public /mnt/nfsmount nfs defaults,_netdev 0 0
 
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
 
#####################################################
什麼是交換空間
• 相當於虛擬記憶體
– 當實體記憶體不夠用時,使用磁碟空間來模擬記憶體
– 在一定程度上緩解記憶體不足的問題
– 交換分割槽:以空閒分割槽充當的交換空間
 
 
 
虛擬機器Server
1.劃分新的分割槽
    fdisk /dev/vdb 劃分兩個主分割槽,大小為2G與5G
 
2.新增交換空間
[root@server0 ~]# swapon -s         #檢視Swap空間組成 成員
[root@server0 ~]# mkswap /dev/vdb1  #格式化交換檔案系統
[root@server0 ~]# swapon /dev/vdb1  #啟用Swap空間 成員
[root@server0 ~]# swapon -s   
 
[root@server0 ~]# mkswap /dev/vdb2
[root@server0 ~]# swapon /dev/vdb2
[root@server0 ~]# swapon -s  
[root@server0 ~]# swapoff /dev/vdb2
[root@server0 ~]# swapon -s
 
3.完成開機自動啟用
[root@server0 ~]# vim  /etc/fstab
/dev/vdb1   swap    swap  defaults 0 0
/dev/vdb2   swap    swap  defaults 0 0
 
[root@server0 ~]# swapon  -a  #開機檢測swap分割槽的命令
[root@server0 ~]# swapon  -s
 
########################################################
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

相關文章