以下是在 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:查看事件查看器。
  • 备份:定期备份 /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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐