CentOS 7 部署 Samba 使用虚拟用户笔记
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
1. 安装必要软件包
bash
yum update -y
yum install samba samba - client samba - winbind - clients - y
2. 配置 Samba 使用虚拟用户
说明:samba用户须是Linux用户,建议使用/sbin/nologin
2.1 创建映射文件
- 创建
/etc/samba/vuser.map
文件:
bash
touch /etc/samba/vuser.map
- 编辑文件,添加虚拟用户到系统用户的映射,如:
plaintext
samba_user1 = root
samba_user2 = root
2.2 配置Samba
主配置文件/etc/samba/smb.conf
- 在配置文件开头添加全局设置:
plaintext
[global]
workgroup = WORKGROUP
server string = Samba Server %v
security = user
passdb backend = tdbsam
map to guest = bad user
username map = /etc/samba/vuser.map
- 在配置文件末尾添加共享目录配置:
plaintext
[shared_folder]
comment = Shared Folder for Virtual Users
path = /data/shared
browsable = yes
writable = yes
valid users = samba_user1, samba_user2
3. 创建共享目录并设置权限
bash
mkdir -p /data/shared
chmod 777 /data/shared
4. 创建 Samba 虚拟用户并设置密码
bash
smbpasswd -a samba_user1
5. 配置防火墙规则
bash
firewall - cmd --permanent --add - service = samba
firewall - cmd --reload
6. 启动并设置 Samba 服务开机自启
bash
systemctl start smb
systemctl enable smb