Ubuntu主机间Samba文件共享配置指南
1. 项目概述两台Ubuntu主机之间的文件共享是日常开发和运维中的常见需求。相比传统的FTP或SCP方式Samba协议提供了更接近Windows文件共享的体验支持权限管理、断点续传等实用功能。本文将详细介绍如何在两台Ubuntu 20.04 LTS主机间建立稳定的Samba共享包含从安装配置到排错的全流程。实测环境Ubuntu 20.04.4 LTS (内核5.13)适用于18.04及以上版本2. 环境准备与安装2.1 网络基础配置首先确保两台主机位于同一局域网段可以通过ip a命令查看网卡信息。建议为两台主机配置静态IP以192.168.1.100和192.168.1.101为例# 编辑网络配置 sudo nano /etc/netplan/00-installer-config.yaml配置示例network: ethernets: enp3s0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] version: 2应用配置sudo netplan apply2.2 Samba服务安装在两台主机上分别执行sudo apt update sudo apt install samba -y验证安装whereis smbd # 应返回/usr/sbin/smbd samba -V # 显示版本号如4.13.173. 服务端配置详解3.1 创建共享目录建议使用独立分区或大容量存储设备sudo mkdir -p /srv/samba/share sudo chown -R nobody:nogroup /srv/samba/share sudo chmod -R 0775 /srv/samba/share关键参数说明nobody:nogroupSamba默认使用的低权限账户0775所有者完全权限组用户读写执行其他用户读执行3.2 编辑Samba配置文件备份原始配置sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak使用以下命令清空并重建配置sudo bash -c grep -v -E ^#|^; /etc/samba/smb.conf.bak | grep -v ^$ /etc/samba/smb.conf添加共享配置sudo nano /etc/samba/smb.conf示例配置[global] workgroup WORKGROUP server string %h server (Samba, Ubuntu) log file /var/log/samba/log.%m max log size 1000 logging file panic action /usr/share/samba/panic-action %d server role standalone server obey pam restrictions yes unix password sync yes passwd program /usr/bin/passwd %u passwd chat *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change yes map to guest bad user usershare allow guests yes [share] comment Ubuntu File Share path /srv/samba/share browsable yes guest ok yes read only no create mask 0775 directory mask 0775 force user nobody3.3 用户权限管理如需密码访问推荐sudo smbpasswd -a username # 添加Samba用户 sudo pdbedit -L # 查看用户列表4. 客户端连接配置4.1 基础连接测试安装客户端工具sudo apt install smbclient cifs-utils -y列出共享目录smbclient -L //192.168.1.100 -U username4.2 永久挂载配置创建挂载点sudo mkdir -p /mnt/samba_share编辑/etc/fstab//192.168.1.100/share /mnt/samba_share cifs credentials/etc/samba/credentials,uid1000,gid1000,file_mode0775,dir_mode0775 0 0创建凭证文件sudo nano /etc/samba/credentials内容格式usernameyour_username passwordyour_password设置权限sudo chmod 600 /etc/samba/credentials测试挂载sudo mount -a df -h | grep samba # 验证挂载5. 高级配置与优化5.1 性能调优在smb.conf的[global]段添加socket options TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF65536 SO_SNDBUF65536 min receivefile size 16384 write cache size 524288 getwd cache yes5.2 多用户权限控制按组设置权限[department] path /srv/samba/dept valid users dept_group writable yes create mask 0770 directory mask 07706. 故障排查指南6.1 连接问题排查流程基础网络检查ping 192.168.1.100 nmap -p 445 192.168.1.100Samba服务状态sudo systemctl status smbd journalctl -u smbd -f防火墙配置sudo ufw allow samba sudo ufw status numbered6.2 常见错误解决方案错误1NT_STATUS_ACCESS_DENIED检查selinux状态getenforce验证目录权限ls -ld /srv/samba/share确认smbpasswd已设置错误2NT_STATUS_HOST_UNREACHABLE确认IP配置正确检查交换机/路由器端口状态测试其他协议如HTTP是否可达7. 安全加固建议禁用SMB1协议在[global]段添加server min protocol SMB2 client min protocol SMB2启用加密传输smb encrypt required限制访问IPhosts allow 192.168.1. 127.0.0.1定期更新sudo apt update sudo apt upgrade samba -y8. 实际应用场景扩展8.1 开发环境同步配置IDE直接访问远程目录VS Code安装Remote - SSH扩展映射网络驱动器到开发机实时编辑保存测试8.2 备份方案集成结合rsync实现定时备份rsync -avz --delete /mnt/samba_share/ /backup/samba_$(date %F)添加到cronjobcrontab -e # 每天3点执行 0 3 * * * /usr/bin/rsync -avz --delete /mnt/samba_share/ /backup/samba_$(date \%F)9. 维护与管理技巧日志分析工具sudo tail -f /var/log/samba/log.smbd连接监控sudo smbstatus配置语法检查testparm性能测试dd if/dev/zero of/mnt/samba_share/testfile bs1M count1024

相关新闻

AI与XR技术融合:核心架构与工业实践

AI与XR技术融合:核心架构与工业实践

1. AI与XR技术融合的核心价值 在XR(扩展现实)领域摸爬滚打多年,我亲眼见证了AI技术如何彻底改变了VR/AR开发的面貌。记得2016年做第一个VR项目时,手势识别需要手动标注上千张深度图,而现在只需几行代码调用预训练模型就…

2026/11/3 16:44:17 阅读更多 →
C++ 多态的实现原理:从虚函数表到底层内存布局

C++ 多态的实现原理:从虚函数表到底层内存布局

C 多态的实现原理:从虚函数表到底层内存布局一、引言:多态的魔法背后多态是面向对象编程的四大支柱之一。在 C 中,多态允许通过基类指针或引用调用派生类重写的虚函数,实现“一个接口,多种行为”。例如:cpp…

2026/11/3 7:46:12 阅读更多 →
强化学习效率优化:从原理到工程实践

强化学习效率优化:从原理到工程实践

1. 为什么说强化学习效率低下?强化学习(Reinforcement Learning)作为机器学习的重要分支,近年来在游戏AI、机器人控制等领域取得了令人瞩目的成就。但很多刚接触这个领域的朋友会发现,实际训练一个强化学习模型时&…

2026/11/1 15:29:37 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/3 1:09:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/3 10:57:27 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/3 11:35:49 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/3 2:27:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/3 10:47:27 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/3 10:57:33 阅读更多 →

日新闻

周新闻

月新闻