linux配置 Samba 共享文件夹
本文介绍了在KylinSec OS 3上配置Samba共享目录的完整步骤,包括服务端安装、权限设置、Samba配置及防火墙调整;同时提供了Linux和Windows客户端的自动化访问方案,涵盖脚本编写、定时任务设置及安全注意事项。重点配置了共享目录/usr/qdyh/forecast_products_provincial/forecastProducts,使用root账户(密码kylin.202
以下是在 KylinSec OS 3 上配置 Samba 共享目录 /usr/qdyh/forecast_products_provincial/forecastProducts 的步骤,以及客户端自动化的实现方法。
服务器端配置(KylinSec OS, IP: 192.168.10.106)
1. 安装 Samba
KylinSec OS 基于 openEuler,使用 dnf 包管理器。安装 Samba:
sudo dnf install samba samba-client -y
如果 dnf 不可用,尝试:
sudo yum install samba samba-client -y
如遇软件源问题,检查 /etc/yum.repos.d/ 或联系 KylinSec 官方支持。
2. 设置共享目录权限
确保目标目录 /usr/qdyh/forecast_products_provincial/forecastProducts 存在并设置权限:
sudo chown root:root /usr/qdyh/forecast_products_provincial/forecastProducts
sudo chmod 755 /usr/qdyh/forecast_products_provincial/forecastProducts
使用 root 账户作为拥有者,权限 755 允许 owner 读写执行,group 和 others 读执行。
3. 配置 Samba
编辑 Samba 配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加:
[forecastProducts]
path = /usr/qdyh/forecast_products_provincial/forecastProducts
writable = yes
browsable = yes
guest ok = no
valid users = root
保存并退出(Ctrl+O,Ctrl+X)。
4. 设置 Samba 用户
为 root 用户设置 Samba 密码:
sudo smbpasswd -a root
输入密码 kylin.2025 并确认。
5. 启动并启用 Samba 服务
启动 Samba 服务并设置开机自启:
sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl start nmb
sudo systemctl enable nmb
检查服务状态:
sudo systemctl status smb
sudo systemctl status nmb
标题6. 配置防火墙
允许 Samba 相关端口(137、138 UDP,139、445 TCP):
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
如果未使用 firewalld,检查 iptables 或禁用防火墙(仅测试环境):
sudo systemctl stop firewalld
7. 测试 Samba 共享
在服务器上测试:
smbclient -L //192.168.10.106 -U root
输入密码 kylin.2025,应看到 forecastProducts 共享。
客户端配置(Linux/Windows)
Linux 客户端
1.测试访问:
挂载共享测试:
sudo mkdir /mnt/forecast
sudo mount -t cifs //192.168.10.106/forecastProducts /mnt/forecast -o username=root,password=kylin.2025
ls /mnt/forecast
sudo umount /mnt/forecast
2.自动化脚本:
#!/bin/bash
# 挂载共享目录
sudo mkdir -p /mnt/forecast
sudo mount -t cifs //192.168.10.106/forecastProducts /mnt/forecast -o credentials=/etc/samba/credentials
# 同步文件到本地
cp -r /mnt/forecast/* /local/destination/
# 卸载共享
sudo umount /mnt/forecast
创建凭据文件以避免明文密码:
sudo nano /etc/samba/credentials
内容:
username=root
password=kylin.2025
设置权限:
sudo chmod 600 /etc/samba/credentials
赋予脚本执行权限:
chmod +x sync_forecast_products.sh
3.定时任务:
编辑 cron 定时每天凌晨 2 点同步:
crontab -e
添加:
0 2 * * * /path/to/sync_forecast_products.sh
Windows 客户端
1.测试访问:
在文件资源管理器中输入 \\192.168.10.106\forecastProducts,输入用户名 root 和密码 kylin.2025。
2.自动化脚本:
创建 PowerShell 脚本 sync_forecast_products.ps1:
net use Z: \\192.168.10.106\forecastProducts /user:root kylin.2025
Copy-Item -Path Z:\* -Destination C:\local\destination\ -Recurse
net use Z: /delete
保存脚本(如 C:\Scripts\sync_forecast_products.ps1)。
3.定时任务:
- 打开 Windows 任务计划程序。
- 创建新任务,触发器设为每日 2:00。
- 操作设置为运行
powershell.exe -File C:\Scripts\sync_forecast_products.ps1。
注意事项
-
安全性:避免在生产环境中使用
root账户,建议创建普通用户并赋予权限。 -
SELinux:KylinSec OS 可能启用 SELinux,设置共享目录上下文:
sudo chcon -t samba_share_t /usr/qdyh/forecast_products_provincial/forecastProducts -
日志监控:
- Linux:检查
/var/log/samba/或sudo journalctl -u smb。 - Windows:查看事件查看器。
- Linux:检查
-
备份:定期备份
/local/destination/,避免数据丢失。 -
错误处理:在脚本中添加错误检查:
if ! mount -t cifs //192.168.10.106/forecastProducts /mnt/forecast -o credentials=/etc/samba/credentials; then
echo "Mount failed" | mail -s "Sync Error" your_email@example.com
fi
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)