安装samba
yum -y install samba
设置
# 备份
cp /etc/samba/smb.conf /etc/samba/smb.conf_bak
# 编辑
vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
[share]
comment = Share Directories
path=/home/share
public = yes
browseable = yes
writable = yes
create mask = 0777
directory mask = 0777
授权用户
- 注意此用户必须存在 cat /etc/passwd
-
设置的密码是smaba的密码与服务器登录密码是不同的
-
如服务器有用户 www, 此用户是禁止登录的,我们用该账户共享
pdbedit -a -u www
修改防火墙
- 添加规则
firewall-cmd --zone=public --permanent --add-service=samba
- 立即生效防火墙规则
firewall-cmd --reload
服务管理
# 启动
systemctl start smb
# 重启
systemctl restart smb
# 停止
systemctl stop smb
# 开机自启动
systemctl enable smb
关于smb.conf中global的security说明
总共有4种可用参数。
share:代表主机无须验证密码。这相当于vsftpd服务的匿名公开访问模式,比较方便,但安全性很差。
user:代表登录Samba服务时需要使用账号密码进行验证,通过后才能获取到文件。这是默认的验证方式,最为常用。
domain:代表通过域控制器进行身份验证,用来限制用户的来源域。
server:代表使用独立主机验证来访用户提供的密码。这相当于集中管理账号,并不常用。
pdbedit 命令说明与使用
在最早期的RHEL/CentOS系统中,Samba服务使用的是PAM(可插拔认证模块)来调用本地账号和密码信息,后来在5、6版本中替换成了用smbpasswd命令来设置独立的Samba服务账号和密码。到了RHEL 7/8版本,则又进行了一次改革,将传统的验证方式换成使用tdbsam数据库进行验证。这是一个专门用于保存Samba服务账号密码的数据库,用户需要用pdbedit命令进行独立的添加操作 。
用于pdbedit命令的参数以及作用
参数 | 作用 |
---|---|
-a 用户名 | 建立Samba用户 |
-x 用户名 | 删除Samba用户 |
-L | 列出用户列表 |
-Lv | 列出用户详细信息的列表 |