一、概述
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
++注意這里輸入的密碼盡量不要與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地址,回車
密碼就填“pdbedit -a -u bao”這步輸入的密碼
這里顯示的gxwjj就是寫在server端smb.conf里的配置項
2. 寫入測試文件
去server端查看,就能找到在client端創建的文件了
三、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
五、總結
- windows掛載linux文件夾,linux掛載linux文件夾都可以采用samba服務。linux掛載linux文件夾還可以采用nfs。具體選用哪種方式呢?
如果server端共享文件夾,不知道client端的類型,那么就采用samba服務。如果確定client端只有linux,那么就用nfs,因為nfs配置簡單。 - server端的selinux和防火牆需要關閉,如果防火牆沒關,那么需要開通445端口。