文件掛載(四)- windows掛載linux文件夾


一、概述

windows掛載linux文件夾采用samba服務,本文將介紹此種類型。

二、搭建

實驗的環境 一台Linux:CentOS7.3,一台Windows:Win 10
Server端:192.168.56.88 文件實際存放的服務器(linux)
Client端:192.168.56.1 掛載的服務器(windows),即將server端的共享文件夾掛載到client端

【Server端】

1. 安裝samba服務

[root@localhost ~]# yum install samba

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

[global]
    workgroup = SAMBA
    security = user
    
    passdb backend = tdbsam
    
    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw

[gxwjj]
    path = /u02
    writable = yes
    create mask = 0664
    directory mask = 0775

說明:[global]不用更改,刪除[homes]、[printers]、[print$]
添加[gxwjj],中括號里面的名稱隨意命名
path = /u02 共享的目錄
writable = yes 可讀寫
create mask = 0664 文件的權限
directory mask = 0775 目錄的權限

3. 創建用於共享資源的賬戶

首先創建linux賬戶,接着創建samba賬戶,與linux用戶名一樣

[root@localhost ~]# useradd bao
[root@localhost ~]# pdbedit -a -u bao

微信截圖_20220126103241.png
++注意這里輸入的密碼盡量不要與linux用戶的密碼相同,否則容易引起數據泄露,因為別人可能直接通過這個賬戶和密碼就進到服務器端了。++

4. 創建共享目錄

[root@localhost ~]# mkdir /u02
[root@localhost ~]# chown bao: /u02

5. 關閉防火牆和selinux,啟動samba服務,注意服務名是smb,而不是samba

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@localhost ~]# systemctl start smb

【Client端】

1. 掛載

打開windows界面,輸入兩個\和server端的ip地址,回車
微信截圖_20220126104714.png

微信截圖_20220126104745.png
密碼就填“pdbedit -a -u bao”這步輸入的密碼

微信截圖_20220126104849.png
這里顯示的gxwjj就是寫在server端smb.conf里的配置項

微信截圖_20220126104905.png

微信截圖_20220126104938.png

2. 寫入測試文件

微信截圖_20220126105055.png

去server端查看,就能找到在client端創建的文件了
微信截圖_20220126105107.png

微信截圖_20220126111808.png

三、linux掛載linux

samba不僅適用於windows掛載linux文件夾,同樣也適用於linux掛載linux文件夾。再找一台linux機器(192.168.56.77)做client端

[root@oracle19c1 ~]# yum install cifs-utils
[root@oracle19c1 ~]# mkdir /share
[root@oracle19c1 ~]# mount //192.168.56.88/gxwjj /share -o username=bao,password=xxx  密碼就填“pdbedit -a -u bao”這步輸入的密碼

如果想開機自動掛載可以寫在/etc/fstab中

vi /etc/fstab
//192.168.56.88/gxwjj /share cifs defaults,username=bao,password=xxx 0 0

四、samba需要開通的端口

查看samba用到的端口,可以看到smbd用到445和139端口,如果server端防火牆沒關閉,測試下來,對於客戶端是linux,那么就需要開通139或445任一端口即可,對於客戶端是windows,則必須開通445端口,139端口無用。具體實驗留給讀者自行完成。

[root@localhost ~]# netstat -tpnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      2685/smbd           
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1027/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1301/master         
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      2685/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      2685/smbd           
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1027/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1301/master         
tcp6       0      0 :::445                  :::*                    LISTEN      2685/smbd 

五、總結

  1. windows掛載linux文件夾,linux掛載linux文件夾都可以采用samba服務。linux掛載linux文件夾還可以采用nfs。具體選用哪種方式呢?
    如果server端共享文件夾,不知道client端的類型,那么就采用samba服務。如果確定client端只有linux,那么就用nfs,因為nfs配置簡單。
  2. server端的selinux和防火牆需要關閉,如果防火牆沒關,那么需要開通445端口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM