配置SMB共享 、 配置NFS共享

虛擬機,均要檢測

1. Yum是否可用
2.  防火牆默認區域修改爲trusted
3. IP地址是否配置

###########################################################################################################
  samba 文件共享(共享文件夾)

Samba 軟件項目
– 用途:爲客戶機提供共享使用的文件夾
– 協議:SMB(TCP 139)、CIFS(TCP 445)

所需軟件包:samba
系統服務:smb



一、搭建基本samba服務
1.安裝samba軟件包
2.創建samba的共享帳號。與系統相同用戶名,不同密碼

# useradd -s /sbin/nologin harry
# useradd -s /sbin/nologin kenji
# useradd -s /sbin/nologin chihiro

# pdbedit -a harry    #添加samba帳號,設置密碼
# pdbedit -a kenji    #添加samba帳號,設置密碼
# pdbedit -a chihiro  #添加samba帳號,設置密碼

# pdbedit -L           #列出所有有效的samba帳號
# pdbedit -x  用戶名    //刪除用戶

3.修改服務配置文件 /etc/samba/smb.conf
 
   補充:vim   末行模式    set  nu  添加行號

    89行          workgroup = STAFF
    321行     [common]                          #共享名
    322行        path = /common      #共享實際路徑

[root@server0 ~]# mkdir /common                  //創建共享文件夾
[root@server0 ~]# echo haha > /common/abc.txt    

4. 重起smb服務,設置爲開機自起
#systemctl restart smb
#systemctl enable smb

虛擬機Desktop0
所需軟件包:samba-client

[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: \> ls
NT_STATUS_ACCESS_DENIED listing \*       //經過以下思路可判斷。報錯爲SElinux限制

思路:客戶端訪問服務端資源
    1.防火牆是否限制
    2.服務本身的訪問控制
  3.SELinux 是否限制

  SELinux:  布爾值  (功能的開關)

getsebool 查看 SELinux 開關
[root@server0 ~]# getsebool -a | grep samba   //查看samba功能的開關
samba_export_all_ro --> off
samba_export_all_rw --> off

setsebool 控制 SELinux 開關
– 需要加 -P 選項才能實現永久設置
[root@server0 ~]# setsebool  samba_export_all_ro=on  //打開只讀
[root@server0 ~]# getsebool -a | grep samba            //查看開關狀態

虛擬機Desktop0
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common  
Enter harry's password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls

掛載:
# mount /etc/common  //設置掛載點
# vim /etc/fstab     
//172.25.0.11/common /mnt/common cifs username=harry,password=123,_netdev 0 0
   文件類型爲cifs(需要安裝nfs-utils),username=harry,password=123,_netdev (這相當於一個映射,相當於在訪問時,使用的時harry這個用戶的身份,所以在對文件進行操作時,harry對/common有什麼權限,客戶端用戶就對這個文件有什麼權限)。
#mount -a //開機自動掛載
#df -ah //查看掛載情況

########################################################################################################
 Samba讀寫的共享

1.修改配置文件/etc/samba/smb.conf

 [devops]
   path = /devops
   write list = chihiro  //chihiro具有寫權限

[root@server0 /]# mkdir /devops   //創建共享文件
[root@server0 /]# echo hahaxixi > /devops/123.txt
2.重起smb服務
#systemctl restart smb
3.客戶端驗證:
[root@desktop0 ~]# smbclient  -L   172.25.0.11
Enter root's password:

4.客戶端掛載驗證
[root@desktop0 ~]# mkdir /mnt/dev   //創建掛載點
[root@desktop0 ~]# vim /etc/fstab  
//172.25.0.11/devops /mnt/dev cifs user=chihiro,pass=123,_netdev 0  0  
[root@desktop0 ~]# mount -a  //掛載
[root@desktop0 ~]# df -h

[root@desktop0 ~]# touch /mnt/dev/b.txt   //驗證是否可以創建文件
touch: 無法創建"/mnt/dev/b.txt": 權限不夠     //分析原因,防火牆已經設置爲trusted,服務本身也做了,問題在於SElinux是否限制。

#####################################################################################################
實現讀寫samba的思路:
1.防火牆是否限制
2.服務本身是否訪問控制
3.SElinux是否限制
4.服務端目錄的本地權限

在服務端server0上進行操作:
一、修改服務端SELinux布爾值,開放讀寫
# getsebool -a | grep samba  //查看功能開關
samba_export_all_rw --> off  //限制狀態
#setsebool samba_export_all_rw=on
# getsebool -a | grep samba
samba_export_all_rw --> on

驗證:
[root@desktop0 ~]# touch /mnt/dev/b.txt
touch: 無法創建"/mnt/dev/b.txt": 權限不夠  //證明問題在於服務端目錄的本地權限

二。目錄本地權限
[root@server0 ~]# ls -ld /devops                 //查看目錄權限
drwxr-xr-x. 2 root root 18 11月  6 19:53 /devops    //沒有寫權限
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops  //設置用戶chihiro對目錄有寫權限
[root@server0 ~]# getfacl /devops   //查看權限列表

三、客戶端驗證
[root@desktop0 ~]# touch /mnt/dev/test.txt

##########################################################################################################
 配置NFS共享

Network File System,網絡文件系統
    – 用途:爲客戶機提供共享使用的文件夾
    – 協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

所需軟件包: nfs-utils
系統服務: nfs-server

搭建基本的只讀NFS服務
1.在虛擬機server0上,檢測nfs-utils是否安裝
[root@server0 /]# rpm -q nfs-utils

2.修改配置文件/etc/exports
[root@server0 /]# mkdir /public
[root@server0 /]# echo hehelele > /public/nsd.txt
[root@server0 /]# vim /etc/exports

/public   172.25.0.0/24(ro)
 
3.重起nfs-server服務,設置開機自起
[root@server0 /]# systemctl restart  nfs-server
[root@server0 /]# systemctl enable  nfs-server

4.客戶端  訪問nfs-server服務
[root@desktop0 /]# mkdir /mnt/nfs
[root@desktop0 /]# showmount -e 172.25.0.11
[root@desktop0 /]# vim /etc/fstab

 172.25.0.11:/public /mnt/nfs  nfs  _netdev 0 0

[root@desktop0 /]# mount -a
[root@desktop0 /]# ls  /mnt/nfs
#######################################################

  讀寫nfs-server服務

一.客戶端root用戶的讀寫
服務端:
[root@server0 /]# mkdir /abc
[root@server0 /]# echo 123 > /abc/a.txt
[root@server0 /]# vim /etc/exports
  /abc   172.25.0.0/24(rw)

[root@server0 /]# systemctl restart nfs-server

客戶端:
[root@desktop0 /]# vim /etc/fstab
172.25.0.11:/abc /mnt/nsd  nfs  _netdev 0 0

[root@desktop0 /]# mkdir /mnt/nsd
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h

服務端:
[root@server0 /]# vim /etc/exports
/abc   172.25.0.0/24(rw,no_root_squash)    #不壓榨客戶端root權限

[root@server0 /]# systemctl restart nfs-server

客戶端:

[root@desktop0 /]# systemctl  restart nfs  #重起客戶端服務
[root@desktop0 /]# touch /mnt/nsd/5.txt


二、普通用戶
 
     客戶端普通用戶訪問服務端nfs-server服務,
     服務端會以客戶端相同UID身份的本地用戶進行權限判定

    LDAP :  網絡用戶,提供用戶名
    kerberos : 密碼驗證,實現“一次密碼認證,多次免密登錄”的通行證機制

服務端:
[root@server0 /]# lab  nfskrb5  setup
[root@server0 /]# grep ldapuser0 /etc/passwd
[root@server0 /]# id ldapuser0

1.部署kerberos加密的密鑰文件
wget http://172.25.254.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[root@server0 /]# ls /etc/krb5.keytab

2.修改配置文件
[root@server0 /]# vim /etc/exports
 /abc   172.25.0.0/24(rw,no_root_squash,sec=krb5p)

3.重起nfs-server與nfs-secure-server
# systemctl restart nfs-server  nfs-secure-server



客戶端:
[root@desktop0 /]# lab  nfskrb5  setup
[root@desktop0 /]# grep ldapuser0 /etc/passwd
[root@desktop0 /]# id ldapuser0

1.部署kerberos加密的密鑰文件
wget http://172.25.254.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab

[root@desktop0 /]# ls /etc/krb5.keytab

2.修改/etc/fstab
172.25.0.11:/abc /mnt/nsd  nfs  _netdev,sec=krb5p 0 0

3.重起nfs與nfs-secure服務
[root@desktop0 /]# systemctl restart nfs  nfs-secure

4.驗證掛載
[root@desktop0 /]# umount /mnt/nsd
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -ah



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章