linux上如何优雅的挂载windows smb

2023年 7月 15日 35.5k 0

在一些极端情况下,需要将一些备份推送到windows,或者从windows拉取到linux,假设没有吝啬的安全策略下,默认是可以的。但是这不安全,通常情况下,采用ftp更保险。但鉴于在内网运行,此操作可以被尝试。如果想尝试fpt,可以参考快速构建丝滑的ftpserver上传和下载

  • 首要条件
  • 创建用户mark
  • 创建组bakcup
  • windows 10

    windows10 运行appwiz.cpl -> 启动或关闭windows功能 -> 勾选SMB1.0/CIFS文件共享支持和SMB直通

    windws 2008

    windows 2008 r2添加nfs

    1,添加功能

    image-20210806105558947.png

    功能添加,下一步直到安装完成

    2,添加角色

    image-20210806105648116.png

    功能角色,下一步直到安装完成

    3,开启server服务

    image-20210806105752958.png

    重启服务器电脑。

    开始共享

    当我们安装了上面的角色和功能后,创建一个新的文件夹配置共享

    image-20210806145847669.png

    linux共享

    mount -t cifs    //10.112.118.135/hainan_backups  /data/Remotely_backup_data -o username=mark,password=DVjZTIwNDUzN,rw

    windows server 2012

    1.安装smb

    1, windows server的添加角色和功能向导,如下,选中"件服务器资源管理器"

    image-20210719111039948.png

    下一步直至安装结束。完证完成后重启服务器

    2.共享位置配置

    打开服务器管理 -> 文件和存储服务 -> 共享 -> 新建共享-> SMB共享-高级

    在共享位置中选择输入自定义路径

    在E盘创建一个backups目录,并选中

    image-20210719113123684.png

    image-20210719113232769.png

    image-20210719113259866.png

    3.权限

    在权限中选择自定义权限

    image-20210719113838426.png

    并删除

    image-20210719113918962.png

    删除完成,选择添加按钮。这里添加一个mark用户,也可以是一个组

    image-20210719114244494.png

    因为是备份文件存放,我们需要对目录写入

    image-20210719114428000.png

    如法炮制,添加backup组

    image-20210719114751182.png

    image-20210719114846400.png

    而后修改共享权限

    image-20210719150205042.png

    报错

    Windows server 2012R2 设置文件共享目录报错:无法连接到C$管理共享已验证文件夹xxx在计算机xxx上是否存在

    Windows Remote Management(WinRM)

    查看端口

    PS C:UsersAdministrator> netstat -ano | findstr "445"
      TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
      TCP    192.168.29.27:57523    192.168.29.27:445      SYN_SENT        4
      TCP    [::]:445               [::]:0                 LISTENING       4
      TCP    [fe80::dddf:c37a:79c6:afa6%12]:57532  [fe80::dddf:c37a:79c6:afa6%12]:445  SYN_SENT        4

    如果telnet不通

    0,检查下“网络和共享中心”→“高级共享设置”里有没有启用网络发现,有没有启用文件和打印机共享

    1,检查网卡连接是否勾选Microsoft网络客户端和Microsoft网络的文件和打印机共享

    2,运行输入“regedit”并点击确定以进入注册表编辑器。导航到这个位置(HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem),在右边空白处右击新建->DWORD(32位)值(D),将它命名为LocalAccountTokenFilterPolicy并且将它的数值数据改为1。

    重启您的计算机,然后检查问题是否解决。

    3,运行gpedit.msc,在“本地组策略编辑器”中选择“本地计算机策略”→计算机配置→Windows设置→安全设置→IP安全策略,在本地计算机。

    然后在右侧双击“新IP安全策略”,删掉“新IP筛选器列表”。

    检查服务是否开启

    Function Discovery Provider Host

    SSDP Discovery

    UPnP Device Host

    LanmanServer(server开启)

    白名单

    确保tcp 139和445已经放行

    UDP 137,138

    TCP 139,445,135

    4.挂载

    安装依赖cifs-utils 的包

     cifs-utils                   
     avahi-libs                   
     cups-libs                    
     gnutls                       
     keyutils                     
     libldb                       
     libtalloc                    
     libtdb                       
     libtevent                    
     libwbclient                  
     nettle                       
     samba-client-libs            
     samba-common                 
     samba-common-libs            
     trousers
    yum localinstall *.rpm

    挂载

    mount -t cifs -o   username=mark,password=DVjZTIwNDUzNm   //10.100.163.119/backups  /data/Remotely_backup_data
    mount -t cifs -o   username=mark,password=DVjZTIwNDUzNm,vers=1.0   //10.100.163.119/backups  /data/Remotely_backup_data

    Nov 3 11:08:44 localhost kernel: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.Nov 3 11:08:44 localhost kernel: Status code returned 0xc000006d STATUS_LOGON_FAILURENov 3 11:08:44 localhost kernel: CIFS VFS: Send error in SessSetup = -13Nov 3 11:08:44 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -13

    查看

    [root@linuxea.com /home/sxxzx2019/smb]# ll /data/Remotely_backup_data/
    总用量 1
    drwxr-xr-x 2 root root  0 7月  19 14:20 1
    -rwxr-xr-x 1 root root 25 7月  19 13:59 test.txt.txt

    已经可以使用

    其他?

    https://www.tuxera.com/community/open-source-ntfs-3g/
    https://github.com/tuxera/ntfs-3g/releases
    $ command
    tar xf ntfs-3g_ntfsprogs-2017.3.23.tgz
    cd ntfs-3g_ntfsprogs-2017.3.23
    ./configure
    make
    make install
    mount -o username=mark//10.100.163.119/backups

    共享目录即可

    创建用户mark

    创建目录backups

    安全组权限image-20220106143929954.png

    共享文件权限

    image-20220106153531038.png

    1

    image-20220106153616869.png

    2

    image-20220106153632348.png

    3

    image-20220106153645105.png

    安装SMB

    mount error(112): Host is down
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

    开启smb

    image-20220106165627266.png

    检测

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

    SMB 服务器上 SMBv1

    检测

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    PS C:UsersAdministrator> Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
                                                                                                         EnableSMB1Protocol
                                                                                                         ------------------
                                                                                                                       True

    禁用

    Set-SmbServerConfiguration -EnableSMB1Protocol $false

    启用

    Set-SmbServerConfiguration -EnableSMB1Protocol $true

    SMB 服务器上 SMB v2/v3

    • 检测:

      Get-SmbServerConfiguration | Select EnableSMB2Protocol
    • 禁用:

      Set-SmbServerConfiguration -EnableSMB2Protocol $false
    • 启用:

      Set-SmbServerConfiguration -EnableSMB2Protocol $true

    1

    PS C:UsersAdministrator> Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
    
    Path           :
    Online         : True
    Restart Needed : False
    PS C:UsersAdministrator> Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
    
    Feature Name      : SMB1Protocol
    Display Name      : SMB 1.0/CIFS 文件共享支持
    Description       : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
    Restart Required  : Possible
    State             : Enabled
    Custom Properties :
                        ServerComponentDescription : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
                        ServerComponentDisplayName : SMB 1.0/CIFS 文件共享支持
                        ServerComponentId : 487
                        ServerComponentType : Feature
                        ServerComponentUniqueName : FS-SMB1
                        ServerComponentDeploysUpdateName : SMB1Protocol

    参考

    如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3[[mount.cifs: mount error(112): Host is down]](https://serverfault.com/questions/830817/mount-cifs-mount-error112-host-is-down)what port or ports are used for File sharing in windows?Windows Server 2012 关闭445 135 139等端口安全设置快速构建丝滑的ftpserver上传和下载

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论