(1)samba简介
CIFS:通用的internet文件系统,windows和unix系统之间共享文件的一种协议;客户端主要是windows;支持多节点同时挂载以及并发写入
(2)samba主配置文件/etc/samba/smb.conf共享参数和全局参数
1)共享参数详解
注意:writable和write list二选一
[share] //自定义共享名称
comment = This is share software //共享描述
path = /data //共享目录路径
browseable = yes/no //设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writable = yes/no //设置共享全部用户是否具有可写权限
read only = yes/no //设置共享是否具有只读权限
admin users = root //设置共享的管理员,如果security =share 时,引项无效,多用户中间使用逗号隔开,例如admin users = root,user1,user2
valid users = username //设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
invalid users = username //设置不允许访问共享的用户
write list = username //设置在共享具有写入权限的用户,例如例如write list = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
public = yes/no //设置共享是否允许guest账户访问
guest ok = yes/no //功能同public 一样
create mask = 0700 //创建的文件权限为700
directory mode = 0700 //创建的文件目录为 700
2)全局参数
[global]
config file = /etc/samba/smb.conf.%U //可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。
workgroup = WORKGROUP //工作组名称
server string = Samba Server Version %v //主机的简易说明
netbios name = MYSERVER //主机的netBIOS名称,如果不填写则默认服务器DNS的一部分,workgroup和netbios name名字不要设置成一样
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 //设置samba服务器监听网卡,可以写网卡名称或IP地址,默认注释
hosts allow = 127. 192.168.12. 192.168.13. //设置允许连接到samba服务器的客户端,默认注释
hosts deny =192.168.12.0/255.255.255.0 //设置不允许连接到samba服务器的客户端,默认注释
log level =1 //日志文件安全级别,0~10级别,默认0
log file = /var/log/samba/%m //产生日志文件的命名,默认以访问者IP地址命名
max log size = 50 //日志文件最大容量50,默认50,单位为KB,0表示不限制
security = share //设置用户访问samba服务器的验证方式 ,一共四种验证方式。
share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
passdb backend = tdbsam //定义用户后台类型
smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码
tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户,smbpasswd –a username建立samba用户并设置密码,不过建立samba用户,必须先建立系统用户,也可以使用pdbedit命令来建立samba用户:
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用户的账号。
ldapsam:基于LDAP服务进行账户验证
username map = /etc/samba/smbusers //配合/etc/samba/smbusers文件设置虚拟用户
(3)安装samba和配置samba
1)基本环境配置
1.关闭防火墙和selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -ri \'/^SELINUX=/cSELINUX=disabled\' /etc/sysconfig/selinux
setenforce 0
2.安装和启动samba
yum install samba cifs-utils -y
systemctl start smb nmb
systemctl enable smb nmb
2)不需要账号密码访问的共享
#mkdir /share //创建共享数据目录
#chmod -R 777 /share //设置权限
#vim /etc/samba/smb.conf //修改配置文件
[global]
security = user //samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share
map to guest = Bad User //参数需要做调整security = user和map to guest = Bad User,如果想访问共享不输入密码,需要改成这样;在centos6上使用security = share;
[share-platform]
path = /share //共享目录路径
browseable = yes //设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writeable = yes //设置共享全部用户是否具有可写权限
guest ok = yes //设置共享是否允许guest账户访问
#systemctl restart smb nmb //重启服务
注意:samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share,参数需要做调整security = user和map to guest = Bad User,如果想访问共享不输入密码,需要改成这样
在centos6上使用security = share;
3)需要账号密码访问共享
#groupadd samba
#useradd jack -s /sbin/nologin -g samba
#smbpasswd -a jack //创建samba用户,同时设置samba密码,注意使用smbpasswd方式用户必须提前是系统用户
#mkdir /data
#setfacl -m g:samba:rwx /data
#vim /etc/samba/smb.conf
[global]
security = user
[data]
path = /data
;writable = yes //writeable和write list只能二选一
write list = @samba
#systemctl restart smb nmb //重启服务
访问data目录需要输入用户名和密码
4)linux端挂载
1.安装工具包
yum install samba-client cifs-utils -y
2.手工挂载测试
mount -t cifs -o user=jack,pass=123 //192.168.1.32/data /mnt
umount /mnt
3.自动挂载
#vim /etc/fstab
//192.168.1.32/data /mnt cifs user=jack,pass=123 0 0
#mount -a