在银河麒麟系统中通过命令行配置samba共享:安装启动服务→创建目录/srv/samba/public→设权限与归属→编辑smb.conf添加[public-share]段→开放防火墙端口137-139、445→testparm验证→需写入时用smbpasswd添加用户并修改配置。

您需要在银河麒麟系统中通过命令行方式开启某个文件夹的共享权限,使局域网内其他设备能访问该目录,而不是依赖图形界面右键操作。这适用于批量部署、远程服务器管理或自动化脚本场景。
启用Samba服务并创建基础共享
第一步:确认Samba已安装并启动 → sudo apt install -y samba samba-common-bin && sudo systemctl enable --now smbd nmbd
第二步:创建专用共享目录(避免使用家目录路径,防止权限继承冲突)→ sudo mkdir -p /srv/samba/public
第三步:设置目录归属与最小必要权限 → sudo chown nobody:nogroup /srv/samba/public && sudo chmod 2775 /srv/samba/public
第四步:编辑Samba主配置文件,在末尾添加共享段:注意缩进必须用空格,不能用Tab → sudo nano /etc/samba/smb.conf,追加以下内容:
[public-share]
comment = Public Read-Only Folder
path = /srv/samba/public
browseable = yes
read only = yes
guest ok = yes
create mask = 0644
directory mask = 0755
开放防火墙端口并验证配置
执行sudo ufw allow from any to any port 137,138 proto udp → 允许NetBIOS名称服务通信
执行sudo ufw allow from any to any port 139,445 proto tcp → 开放SMB会话与文件共享端口
运行testparm -s检查语法是否合法 → 若输出末尾显示“Loaded services file OK.”即表示配置无误
【若testparm报错,请勿重启服务,先修正配置再重试】
为需写入权限的共享添加认证用户
方法一:启用指定用户读写(推荐)→ sudo smbpasswd -a kylin(kylin须为已存在的系统用户)
方法二:修改共享段将read only = no和valid users = kylin加入配置,再执行sudo systemctl restart smbd
方法三:若需多用户协作,先建组sudo groupadd teamshare,加用户sudo usermod -aG teamshare kylin admin,再在smb.conf中设force group = teamshare











