麒麟系统局域网文件共享需配置Samba:图形界面快速启用共享(勾选“共享此文件夹”并授权),或手动编辑/etc/samba/smb.conf精细管控;客户端通过IP或smb://IP访问,须同步校准Linux文件权限并开放防火墙SMB端口(139/445 TCP、137/138 UDP)。

如果您在麒麟操作系统中需要实现局域网内多设备间文件互通,则需正确配置共享文件夹。以下是多种可行的配置路径,涵盖图形界面快速设置与命令行深度管控两种类型,适用于不同安全需求与操作习惯的用户。
一、图形化界面共享设置(基础快捷方式)
该方法通过系统自带文件管理器完成,无需终端操作,适合初次使用或对权限要求不高的办公场景。其核心是启用Samba协议的简易封装层,自动注册共享服务并生成基础配置。
1、在文件管理器中定位目标文件夹,例如主目录下的“gongxiang”文件夹。
2、右键点击该文件夹,选择“属性”,切换至“共享”选项卡。
3、勾选“共享此文件夹”复选框;根据需要取消勾选“只读”,以允许远程写入。
4、勾选“允许游客访问”可跳过登录验证,适用于信任内网环境;若取消此项,则后续需配置Samba用户。
5、点击“确定”,系统弹出权限确认窗口,输入当前用户的开机密码完成授权。
6、再次点击“确定增加权限”,系统自动生成共享角标并注册服务,此时共享已生效。
二、Samba服务手动配置(增强控制与安全性)
该方法绕过图形界面封装,直接编辑Samba主配置文件,支持精细定义共享路径、访问用户、读写策略及协议版本,适用于需对接Windows域环境或处理敏感数据的场景。
1、打开终端,执行命令检查Samba是否已安装:dpkg -l | grep samba;如未安装,运行sudo apt install samba samba-common-bin。
2、备份原始配置:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup。
3、使用编辑器打开配置文件:sudo vim /etc/samba/smb.conf。
4、在文件末尾新增共享段,例如:
[kylinshare]
path = /home/username/kylinshare
browseable = yes
read only = no
guest ok = no
valid users = username
5、保存退出后,为指定用户创建Samba密码:sudo smbpasswd -a username(username须为系统已存在用户)。
6、重启Samba服务使配置生效:sudo systemctl restart smbd。
三、客户端跨平台访问方式
无论采用上述哪种服务端配置,客户端均可通过标准SMB协议访问,无需额外安装服务端软件。访问行为取决于服务端是否启用游客模式及用户认证机制。
1、在Windows客户端的文件资源管理器地址栏输入:\服务器IP地址,回车后显示共享列表。
2、在麒麟OS或其他Linux客户端的文件管理器地址栏输入:smb://服务器IP地址,回车后触发连接向导。
3、若服务端启用游客访问,客户端将直接进入共享目录;若禁用游客访问,则弹出认证窗口,需输入Samba用户名与密码。
4、也可在麒麟OS文件管理器左侧栏点击“网络”,等待自动发现局域网主机,双击目标主机名即可浏览其共享目录。
四、本地文件系统权限同步校准
Samba共享权限受两层控制:Samba配置项与底层Linux文件权限。仅配置Samba参数不足以保障可写,必须确保共享目录对Samba服务进程(通常为nobody或指定用户)具备对应访问能力。
1、确认共享目录归属:ls -ld /home/username/kylinshare。
2、若属主非Samba服务运行用户,执行变更:sudo chown -R username:users /home/username/kylinshare。
3、赋予目录读写执行权限:sudo chmod -R 755 /home/username/kylinshare(755表示属主全权、组用户与他人可读可执行)。
4、若需组内协作写入,可改用chmod -R 775并确保客户端用户属于同一Linux用户组。
五、防火墙与网络服务状态验证
即使配置全部正确,若系统防火墙拦截SMB端口或相关服务未运行,客户端仍将无法发现或连接共享。此步骤用于排除底层网络通信障碍。
1、检查Samba服务运行状态:sudo systemctl status smbd nmbd,确认两服务均为active (running)。
2、开放Samba所需端口(TCP 139、445;UDP 137、138):sudo ufw allow 139,445/tcp 与 sudo ufw allow 137,138/udp。
3、若使用firewalld,执行:sudo firewall-cmd --permanent --add-service=samba,随后sudo firewall-cmd --reload。
4、在客户端执行ping测试确认网络连通性,并使用nmap -p 139,445 服务器IP验证端口可达性。

















