淦!微软这波骚操作真是把老子气笑了!搞个破Windows家庭版连共享权限都阉割?我他娘想给不同同事开个文件夹权限,结果系统跟智障似的要么全放行要么全锁死!(猛灌一口可乐)行啊你不是爱阉割吗?老子直接掀桌!虚拟机开Linux!装Samba!虚拟机?那是我最后的温柔! 这他娘才叫真正的文件共享!权限控制细到能按单个文件分配!AD域认证?LDAP集成?开源协议栈直接骑脸输出!(突然踹主机箱一脚)去你的家庭版阉割
- 安装 Samba 服务
sudo yum install samba samba-client -y # 安装核心组件[1,3,10](@ref)
sudo systemctl start smb nmb # 启动服务
sudo systemctl enable smb nmb # 设置开机自启
📂 2. 创建共享目录并配置权限
sudo mkdir -p /samba/shared # 创建共享目录[1,3,6](@ref)
sudo chmod -R 777 /samba/shared # 开放权限(测试用)
生产环境推荐精细化权限:
sudo chown -R smbuser:smbgroup /samba/shared # 设置属主和属组
sudo chmod 770 /samba/shared # 组内可读写
#注:若需支持匿名访问,可设属主为 nobody:
sudo chown -R nobody:nobody /samba/shared
⚙️ 3. 编辑 Samba 配置文件 (/etc/samba/smb.conf)
sudo vi /etc/samba/smb.conf
#全局设置([global]段):配置 smb.conf
[global]
workgroup = WORKGROUP # 与 Windows 工作组一致
security = user # 用户认证模式
map to guest = Bad User # 无效用户映射为访客(支持匿名
dos charset = GB2312 # 解决中文乱码
#共享目录配置(文件末尾添加):
[shared] # 共享名称(客户端访问时显示)
comment = Shared Directory # 共享描述
path = /samba/shared # 共享目录路径
browseable = yes # 允许浏览
writable = yes # 可写权限
guest ok = yes # 允许匿名访问(无需密码)
# 如需认证访问:
valid users = @smbgroup # 允许 smbgroup 组内用户访问[3,6](@ref)
create mask = 0770 # 新建文件权限
directory mask = 0770 # 新建目录权限
如果用testparm测试通不过,因为配置文件的中文注释编译错误,要删除中文注释
👤 4. 添加 Samba 用户
创建系统用户(若不存在)
sudo useradd -M -s /sbin/nologin smbuser
添加至 Samba 数据库(需输入密码)
sudo smbpasswd -a smbuser
用户组管理:
sudo groupadd smbgroup # 创建用户组
sudo usermod -aG smbgroup smbuser # 将用户加入组[
🔥 5. 防火墙与 SELinux 配置
防火墙放行 Samba 端口:
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
SELinux 临时禁用调整:
sudo setenforce 0 # (测试用)
SELinux永久禁用
编辑 /etc/selinux/config 设置 `SELINUX=disabled`
或精细化配置(推荐):
sudo chcon -t samba_share_t /samba/shared # 标记目录为 Samba 共享类型
sudo setsebool -P samba_enable_home_dirs on # 允许共享目录访问
🔄 6. 重启服务并验证配置
sudo testparm # 检查配置文件语法
sudo systemctl restart smb nmb # 重启服务生效
💻 7. 客户端访问验证
Windows:
文件资源管理器输入 \\CentOS_IP\shared 匿名访问或输入用户名/密码。
Linux:
smbclient //CentOS_IP/shared -U smbuser # 命令行访问
### 或挂载到本地:
sudo mount -t cifs //CentOS_IP/shared /mnt -o username=smbuser