当前位置: 首页 > news >正文

How to share files with Linux mint 22 via samba in Windows

概述

在上一篇文章 《How to share files with Windows via samba in Linux mint 22》中,我们向大家介绍了在Linux mint 22中如何借助samba向Windows 11分享文件的具体方法。

这里,我们着重向大家介绍一下,在Windows 11中如何借助Samba向Linux mint 22分享文件。

方案

Windows

我们先着重在Windows 11上做好以下几方面的准备工作。

Private network

确保当前网络(如以太网/WiFi)被识别为 ​​“专用网络”​,如下 图所示。
请添加图片描述

Create user

我们在Windows 11中创建一个名称为harbin的用户,密码初始化为111111

Share Dirctory

我们在D盘根目录中创建一个名称为lanzhou的目录,右键单击目录,选择属性,系统会弹出目录属性对话框,如下图所示:
请添加图片描述
选择页签Sharing,进入Sharing页签,如下图所示:
请添加图片描述
点击按钮Share...,进入对话框Network access,如下图所示:
请添加图片描述
点击按钮Add左侧的下拉列表,系统为我们展示出可用的用户,如下图所示:
请添加图片描述
选择harbin,并点击按钮Add,用户harbin会被添加到已经授权可以访问的用户列表中,如下图所示:
请添加图片描述
这里,我们点击Read右侧的黑色下三角图标,系统会为我们展示出来可以对用户haribn的操作选项,如下图所示:
请添加图片描述
我们选择Read/Write,这时harbin的权限就被我们修改为了Read/Write状态,如下图所示:
请添加图片描述
点击按钮Share,系统已经将目录设置为了已共享状态,如下图所示:
请添加图片描述
点击按扭Done,我们会看到目录lanzhou属性对话框中的Network Path部分已经被系统分配了网络访问地址,如下图所示:
请添加图片描述
这里,我们点击按钮Colse关闭目录lanzhou属性对话框,至此,目录lanzhou已经被我们设置为了共享目录,可以通过用户lwkharbin两个用户通过网络方式访问。

Share Files

我们在目录D:\lanzhou中创建一个名称为huanghe.txt的文件,如下图所示:
请添加图片描述
我们将文件内容填充为:

黄河,中国人的母亲河。
The Yellow River, the mother river of the Chinese people.

如图下所示:
请添加图片描述
至此,我们在Windows 11上已经事先配置好了一个文件D:\lanzhou\huanghe.txt

Linux mint

Windows 11上配置好共享文件以后,我们就可以在Linux mint上正常访问了。

这里,为大家介绍两种访问方式:

  • GUI
  • Terminal

GUI

对于使用图形桌面版环境的用户来说,基于GUI客户端访问共享文件,是大家的首选。

打开文件管理器,在地址栏中输入以下内容:

smb://192.168.43.235/lanzhou/

如下图所示:
在这里插入图片描述
当我们在地址栏输入内容,并按Enter键以后,系统会弹出认证对话框,如下图所示:
在这里插入图片描述
这里,我们在Connect as项中选择单选按钮Registered User,在文本框User name中输入haribn,在密码框Password中输入111111,这个时候,按钮Connect会变为可用状态,点击该按钮,系统将为我们打开远程Windows 11主机192.168.43.235上的共享目录lanzhou,如下图所示:
在这里插入图片描述
这里,我们选择文本文件,用文本编辑器打开,就可以看到其中的内容了,如下图所示:

在这里插入图片描述

Terminal

对于Linux系统来说,终端Terminal也是大家日常使用的工具,那么,可以通过终端访问远程Windows 11主机192.168.43.235上的共享文件吗?

当然可以!

smclient

我们打开终端,先查看一下,远程主机上有哪些共享资源,命令如下:

lwk@qwfys:~$ smbclient -L 192.168.43.235 -U harbin%111111Sharename       Type      Comment---------       ----      -------ADMIN$          Disk      Remote AdminC$              Disk      Default shareD$              Disk      Default shareIPC$            IPC       Remote IPClanzhou         Disk      
SMB1 disabled -- no workgroup available
lwk@qwfys:~$

我们看到,共享目录lanzhou赫然在列。

接下来,我们查看一下远程主机上的共享目录中有哪些内容,命令如下:

lwk@qwfys:~$ smbclient //192.168.43.235/lanzhou -U harbin%111111
Try "help" to get a list of possible commands.
smb: \> 

这个时候,我们已经进入了smbclient环境中,系统提示我们可以使用命令help查看有哪命令可以用,我们尝试一下,看看:

smb: \> help
?              allinfo        altname        archive        backup         
blocksize      cancel         case_sensitive cd             chmod          
chown          close          del            deltree        dir            
du             echo           exit           get            getfacl        
geteas         hardlink       help           history        iosize         
lcd            link           lock           lowercase      ls             
l              mask           md             mget           mkdir          
more           mput           newer          notify         open           
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir    
posix_unlink   posix_whoami   print          prompt         put            
pwd            q              queue          quit           readlink       
rd             recurse        reget          rename         reput          
rm             rmdir          showacls       setea          setmode        
scopy          stat           symlink        tar            tarmode        
timeout        translate      unlock         volume         vuid           
wdel           logon          listconnect    showconnect    tcon           
tdis           tid            utimes         logoff         ..             
!              
smb: \>

我们看到,这里面有很多命令可以使用。

我们先看看目录中有些什么,命令如下:

smb: \> ls.                                  DR        0  Mon Mar 24 03:07:01 2025..                                DHS        0  Mon Mar 24 02:24:36 2025desktop.ini                       AHS       46  Mon Mar 24 03:07:01 2025huanghe.txt                         A       94  Mon Mar 24 03:00:57 2025157255935 blocks of size 4096. 154679019 blocks available
smb: \> 

我们看到,有一个名称为huanghe.txt的文件,被标记为了A

我们尝试下载一下这个文件,命令如下:

smb: \> get huanghe.txt 
getting file \huanghe.txt of size 94 as huanghe.txt (18.4 KiloBytes/sec) (average 18.4 KiloBytes/sec)
smb: \>

这时文件默认会被下载到用户目录,我们可以使用如下命令查看已经下载到到本地的文件:

smb: \> !ls -la huanghe.txt 
-rw-r--r-- 1 lwk lwk 94 Mar 24 03:50 huanghe.txt
smb: \> 

那么当前文件下载到了什么地方呢?我们可以使用如下命令查看当前本地目录在什么位置:

smb: \> !pwd
/home/lwk
smb: \> 

如果要将共享文件下载到其他位置,需要单独给出。比如说,我们将文件下载到目录~/Download/tmp中,那么上述命令就应该调整为:

smb: \> get huanghe.txt /home/lwk/Downloads/huanghe.txt
getting file \huanghe.txt of size 94 as /home/lwk/Downloads/huanghe.txt (18.4 KiloBytes/sec) (average 18.4 KiloBytes/sec)
smb: \> 

接下来,我们查看一下,刚才下载到用户目录中的文件huanghe.txt的内容:

smb: \> !cat huanghe.txt 
黄河,中国人的母亲河。
The Yellow River, the mother river of the Chinese people.
smb: \> 

我们看到,上述内容的确是我们在Windows 11上的共享文件D:\lanzhou\huanghe.txt中的内容。

有的时候,我们也可以临时查看下文件的内容,不下载,这个时候,可以使用以下命令:

smb: \> more huanghe.txt 
getting file \huanghe.txt of size 94 as /tmp/smbmore.Z9DK7y (18.4 KiloBytes/sec) (average 18.4 KiloBytes/sec)
smb: \>

我们看到,文件也是被下载到系统临时目录中去了。

想退出的话,用下述命令,即可退出:

smb: \> exit
lwk@qwfys:~$ 

有时候,我们也可以使用如下方法查看远程主机上的共享文件的内容:

lwk@qwfys:~$ smbclient //192.168.43.235/lanzhou -U harbin%111111 -c "get huanghe.txt -" |cat
黄河,中国人的母亲河。
The Yellow River, the mother river of the Chinese people.
getting file \huanghe.txt of size 94 as - (91.8 KiloBytes/sec) (average 91.8 KiloBytes/sec)
lwk@qwfys:~$
基于文件认证

上述演示过程中,我们连接远程主机上的共享文件是基于明文密码的,那么有没有什么方法可以将账号与密码存放到文件中,让smbclient读取文件中的内容来避免明文密码访问呢?

当然有的!

我们接下来为大家演示。

每次输入IP地址比较繁琐,我们将远程主机地址添加到本地hosts文件中,为它取一个别名vm235,以后就用这个别名访问远程主机,命令如下:

sudo tee -a /etc/hosts <<-'EOF'
192.168.43.235        vm235
EOF

接下来,我们为smbclient生成一个认证文件,以方便后续使用,命令如下:

touch ~/.smbcreds
tee ~/.smbcreds <<-'EOF'
username = harbin
password = 123456
domain   = WORKGROUP
EOF
chmod 600 ~/.smbcreds

上述命令中,我们在用户目录中创建了一个名称为.smbcreds的文件,

lwk@qwfys:~$ ll .smbcreds 
-rw------- 1 lwk lwk 57 Mar 25 15:59 .smbcreds
lwk@qwfys:~$

文件只有当前用户可以读写,内容如下:

username = harbin
password = 123456
domain   = WORKGROUP

接下来我们访问以下看看效果如何:

lwk@qwfys:~$ smbclient //vm235/lanzhou -A ~/.smbcreds 
Try "help" to get a list of possible commands.
smb: \> exit
lwk@qwfys:~$

我们看到,已经访问成功。

我们再用参数--authentication-file尝试一下,

lwk@qwfys:~$ smbclient //vm235/lanzhou --authentication-file=~/.smbcreds 
ERROR: Unable to open credentials file!
Failed to set parse authentication file!
lwk@qwfys:~$

我们看到,这里出现了错误,出现这个错误,主要是因为参数--authentication-file没办法识别用户目录别称~,这里我们更换为全路径尝试一下:

lwk@qwfys:~$ smbclient //vm235/lanzhou --authentication-file=/home/lwk/.smbcreds 
Try "help" to get a list of possible commands.
smb: \> exit
lwk@qwfys:~$

如此就好了。

小结

今天,我们为大家介绍了如何在Windows上通过Samba分享文件给Linux mint 22。


http://www.mrgr.cn/news/95781.html

相关文章:

  • Sql Server 索引性能优化 分析以及分表
  • _DISPATCHER_HEADER结构中的WaitListHead和_KWAIT_BLOCK的关系
  • Linux的SPI子系统的原理和结构详解【SPI控制器(spi_master)、SPI总线(device-driver-match匹配机制)、SPI设备、SPI万能驱动`spidev.c`】
  • Unity 实现一个简易可拓展性的对话系统
  • 深度解读DeepSeek:开源周(Open Source Week)技术解读
  • 从零开始的LeetCode刷题日记:128. 最长连续序列
  • Spring Boot 整合 Nacos 注册中心终极指南
  • CentOS 7 更换 yum 源(阿里云)+ 扩展 epel 源
  • Jackson实现JSON数据的合并
  • vivo 湖仓架构的性能提升之旅
  • AI本地部署之dify
  • Redis 服务搭建
  • DeepSeek面试——模型架构和主要创新点
  • 《TCP/IP网络编程》学习笔记 | Chapter 21:异步通知 I/O 模型
  • springboot使用netty做TCP客户端
  • python面试高频考点(深度学习大模型方向)
  • 鸿蒙进行视频上传,使用 request.uploadFile方法
  • 大模型应用(Java)2025/3/24
  • LeetCode热题100JS(69/100)第十三天|34|33|153|4|20
  • 2025-3-24 leetcode刷题情况(动态规划——01背包)