Samba 是一种在局域网上共享文件的一种通信协议,它为局域网内的不同计算机之间提供文件的共享服务。
(1)下载并安装 Samba 工具。
确定 Ubuntu 已连接到互联网, 执行如下命令下载 Samba 工具:
sudo apt-get install samba samba-common
安装完成如下图:
安装完成后安装如下工具:
sudo apt-get install libtalloc2
(2) 设置 Samba 登录密码。
sudo smbpasswd -a xxx
xxx是系统用户, smbpasswd 命令将会为系统用户开启 Samba 功能并设置登陆密码,请牢记 Samba 登陆密码 。
(3) 配置 Samba 用户信息。
编辑"/etc/samba/smb.conf"文件 ,在末尾添加如下内容:
1 2 3 4 5 6 7 8 9 10 | [xxx] comment = Samba Share Directory path = /home/xxx browseable = yes writable = yes public = yes valid users = xxx create mask = 0644 directory mask = 0775 available = yes |
(4) 重启 Samba。
sudo restart smbd && sudo restart nmbd
这时就可以使用Samba服务器在windows上共享Ubuntu的文件了,但是一定要保证Windows和Ubuntu能互相ping通。比如我Ubuntu的IP为 192.168.0.200,此时在Windows下输入“win + R”在框内输入“\\192.168.0.200”,如下图:
点击确定之后,便会弹出一个名为xxx的文件夹,如下图:
该文件夹中的内容正是Ubuntu的/home/xxx目录,因为我的用户名为linux,因此该文件夹名为linux 。
(5)问题解决
1. 在第一步运行sudo apt-get install samba samba-common 命令的时候,报出一堆“404 not found”
更新可用软件包及其版本,这个过程可能会非常漫长,更新完了再安装samba服务器就好了。
2. Ubuntu无法联网
先ping一下百度:ping www.baidu.com
如果ping不同则表示Ubuntu无法上网,需要作如下修改:
a)将虚拟机网卡设置为NAT模式
点击 虚拟机->设置->网络适配器,将网络连接设置为NAT模式,如下图:
b)将Ubuntu的IP设置为动态IP:
编辑 /etc/network/interfaces 文件,eth0的设置改为:
auto eth0
iface eth0 inet dhcp
保存文件,然后重启网卡,重启网卡的指令为:sudo /etc/init.d/networking restart
如此,Ubuntu便能联网了,ping百度的结果如下:
3. 重启Samba服务器后,在windows上无法访问
a)将虚拟机网卡设置为桥接模式:
点击虚拟机->设置->网络是配置,改为桥接模式后点确定,如下图:
b)将Ubuntu的IP设置为静态IP:
编辑 /etc/network/interfaces 文件,eth0的设置改为:
auto eth0 iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 gatewayip 192.168.0.1
保存后输入如下指令重启网卡:sudo /etc/init.d/networking restart
此时用ifconfig指令可以看到IP已经改到192.168.0.200了:
c)将windows的IP设置为静态IP,并且与Ubuntu在同一网段
打开控制面板->网络和Internet->网络和共享中心->更改适配器设置,进入如下图界面:
在“以太网”这个图标上右键-属性->双击“Internet协议版本4(TCP/IPv4)”,选择“使用下面的IP地址”,并设置好IP,如下图:
d)检测windows与Ubuntu网络能否互通
在windows下按“WIN + R”组合键,在弹出的对话框中输入cmd后回车,在弹出的界面中可以ping Ubuntu。
一般来说到这一步是直接能互通的但在我这里却ping不通,输入ipconfig命令,发现我的以太网适配器这里压根就没有IP,如下图:
这时,我把网线插到一个交换机任何一个口上,交换器其他口不接任何设备,再用ipconfig查看,此时竟然奇迹般的有了IP,如下图:
不知道咋回事,然后测试ping Ubuntu,发现能ping通了。
4. 提示因为文件共享不安全。。。
在控制面板中点击 程序->启动或关闭Windows功能,找到SMB 1.0/CIFS 文件共享支持,并勾选了,如下图:
确定之后重启就好了。
5. 在Ubuntu18.04中安装,运行“sudo restart smbd && sudo restart nmbd” 这条指令时报:“restart: command not found”不知道是系统没安装这条命令还是到Ubuntu18就不支持了,他报这个错也没关系,重启系统就行了。
6. 重装系统之后提示:“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”
参见这篇文章:https://iknow.lenovo.com.cn/detail/dc_174997.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?