Centos7 环境安装 samba 服务
1、解压、编译、安装
tar -zxvf samba-4.4.0.tar.gz
cd samba-4.4.0
./configure --prefix=/usr/local/samba/
make
make install
2、配置 smb.conf,比较关键的一步
安装目录下有很多 smb.conf 的例子,但/usr/local/samba/lib 下却没有,所以必须 copy.
也可以用链接的方法:
创建配置文件
mkdir /usr/local/samba/etc
vim /usr/local/samba/etc/smb.conf
编辑完配置文件后,保存。
ln –s /usr/local/samba/etc/smb.conf /usr/local/samba/lib/smb.conf
3、配置 smb.conf
#vim smb.conf
检查 smb.conf 配置语法是否错误和设置是否成功
#/usr/local/samba/bin/testparm
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
map to guest = Bad Password
passdb backend = tdbsam
load printers = yes
cups options = raw
[html]
path = /var/www/html/
public = yes
writable = yes
4、增加 smb 用户
比如有一个用户名是 kitty,那么:
此用户必须为 linux 实际用户,如不存在使用 useradd 命令
/usr/local/samba/bin/smbpasswd -a fhy
就把 fhy 增加为 smb 用户了。
5、启动 smb 服务
#/usr/local/samba/sbin/smbd -D
#/usr/local/samba/sbin/nmbd -D
6、设为开机启动
vim /etc/rc.d/rc.local
加入 并设为可执行
#!/bin/bash
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/winbindd -D
/usr/local/samba/sbin/nmbd -D
添加防火墙规则
[root@localhost ~]# firewall-cmd --zone=public --add-port=137/udp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=138/udp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=139/tcp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=445/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
备注
passdb backend = tdbsam passdb backend 即用户后台。
有三种后台:smbpasswd、tdbsam 和 ldapsam。
Sam 即 security account manager
1.smbpasswd:该方式是使用 smb 工具 smbpasswd 给系统用户(真实用户或者虚拟用户)设置一个 Samba 密码,客户端就用此密码访问 Samba 资源。smbpasswd 在/etc/samba 中,有时需要手工创建该文件。
2.tdbsam:使用数据库文件创建用户数据库。数据库文件叫 passdb.tdb,在/etc/samba 中。passdb.tdb 用户数据库可使用 smbpasswd –a 创建 Samba 用户,要创建的 Samba 用户必须先是系统用户。也可使用 pdbedit 创建 Samba 账户。
pdbedit 参数很多,列出几个主要的:
pdbedit –a username:新建 Samba 账户。
pdbedit –x username:删除 Samba 账户。
pdbedit –L:列出 Samba 用户列表,读取 passdb.tdb 数据库文件。
pdbedit –Lv:列出 Samba 用户列表详细信息。
pdbedit –c “[D]” –u username:暂停该 Samba 用户账号。
pdbedit –c “[]” –u username:恢复该 Samba 用户账号。
3.ldapsam:基于 LDAP 账户管理方式验证用户。首先要建立 LDAP 服务,设置”passdb backend = ldapsam:ldap://LDAP Server”