小豹子的网络记事本

记录每一个有意思的细节

文件挂载(四)- 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端口。
posted @ 2022-01-26 16:01  小豹子加油  阅读(1061)  评论(0编辑  收藏  举报