麒麟系统跨平台文件共享需配置samba:图形界面勾选“共享此文件夹”并授权,或命令行创建目录、编辑smb.conf、添加用户、开放137/138 udp及139/445 tcp端口,最后通过ip(win)、smb://ip(macos/linux)访问。

如果您在麒麟操作系统中需要实现与Windows、macOS或其他Linux设备的跨平台文件共享,Samba 是最成熟且兼容性最强的服务协议。以下是配置 Samba 服务器以支撑跨平台共享的多种可行路径,涵盖图形界面快速启用与命令行深度定制两类方案:
一、图形化界面快速共享设置
该方法利用银河麒麟系统自带的文件管理器集成模块,自动完成Samba服务注册与基础共享配置,无需手动编辑配置文件,适合办公环境快速部署。
1、在文件管理器中定位目标文件夹,例如 /home/kylin/gongxiang。
2、右键点击该文件夹,选择“属性”,切换至“共享”选项卡。
3、勾选“共享此文件夹”复选框;取消勾选“只读”,确保远程可写入。
4、根据安全策略选择访问模式:勾选“允许游客访问”可跳过身份验证;若取消此项,则后续需配置Samba用户凭证。
5、点击“确定”,在弹出的权限确认窗口中输入当前用户的开机密码完成授权。
6、再次点击“确定增加权限”,系统自动生成共享角标并注册smbd服务,此时共享已即时生效。
二、命令行手动配置Samba服务器
该方法直接操作Samba核心组件,支持精细定义共享行为、访问控制、协议版本及日志策略,适用于企业级部署与高安全性要求场景。
1、打开终端,执行命令检查Samba是否已安装:dpkg -l | grep samba;如未安装,运行 sudo apt update && sudo apt install -y samba samba-common-bin samba-client。
2、创建专用共享目录(以 /srv/samba/share 为例):sudo mkdir -p /srv/samba/share。
3、设置目录归属与权限:sudo chown kylin:kylin /srv/samba/share && sudo chmod 2775 /srv/samba/share。
4、备份原始配置文件:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak。
5、使用 nano 编辑主配置:sudo nano /etc/samba/smb.conf,在文件末尾新增以下共享段(严格保持缩进):
[kylinshare]
comment = Kylin Cross-Platform Share
path = /srv/samba/share
browseable = yes
read only = no
create mask = 0644
directory mask = 0755
valid users = kylin
force group = kylin
6、运行语法校验:testparm -s,无报错即表示配置合法。
7、为系统用户添加Samba凭据:sudo smbpasswd -a kylin,按提示两次输入专用密码。
8、启用并启动服务:sudo systemctl enable smbd && sudo systemctl start smbd。
三、防火墙端口放行与网络就绪验证
即使Samba服务与配置均正确,若系统防火墙阻断关键通信端口,客户端仍将无法发现或连接共享资源。必须显式开放SMB协议所需全部端口。
1、检查当前防火墙状态:sudo ufw status verbose。
2、依次放行SMB标准端口:sudo ufw allow 137/udp && sudo ufw allow 138/udp && sudo ufw allow 139/tcp && sudo ufw allow 445/tcp。
3、重启防火墙使规则生效:sudo ufw reload。
4、验证服务监听状态:sudo ss -tlnp | grep ':139|:445',输出中应包含 smbd 进程绑定记录。
四、跨平台客户端访问方式
不同操作系统访问Samba共享时采用统一SMB/CIFS协议,但访问路径格式与认证机制略有差异,需按客户端类型匹配操作。
1、在Windows文件资源管理器地址栏输入:\服务器IP地址(例如 \192.168.1.100),回车后输入Samba用户名与密码即可访问共享列表。
2、在macOS访达中,按下 Cmd+K,在“前往服务器”对话框中输入:smb://服务器IP地址(例如 smb://192.168.1.100),点击连接并填写凭证。
3、在银河麒麟或其他Linux系统中,使用文件管理器地址栏输入:smb://服务器IP地址/kylinshare,或通过命令行挂载:sudo mount -t cifs //192.168.1.100/kylinshare /mnt/remote -o username=kylin,iocharset=utf8。











