samba -------windows与linux系统之间共享文件 CIFS协议
一,服务器端
1.1 查看软件包是否安装
#rpm -qa |grep samba
samba-common-4.4.4-9.el7.noarch 通用组件包
samba-common-tools-4.4.4-9.el7.x86_64 工具包
samba-4.4.4-9.el7.x86_64 主程序包
samba-client-4.4.4-9.el7.x86_64 客户端软件包
# yum install samba samba-common samba-client -y
1.2 服务器端的配置文件详解
# rpm -ql samba-common
vim /etc/samba/smb.conf
[global] //全局设置
workgroup = SAMBA //定义工作组
security = user //安全验证的设置
user :需要提供用户名和密码才能访问共享,验证使用的是本地服务器
share:匿名用户,不需要提供用户名和密码直接就能访问共享 //7已废弃
passdb backend = tdbsam //用户和密码存放的格式 /var/lib/samba/private/
printing = cups //打印相关选项
printcap name = cups
load printers = yes
cups options = raw
[homes] //定义一个用户
comment = Home Directories //注释,对共享的描述
valid users = %S, %D%w%S //只允许某个用户访问
browseable = No //不登陆就不可以查看共享目录
read only =No //可写
inherit acls = Yes //继承acl权限
权限控制
read only = Yes
write list = 用户名 @组名 可写列表
read list = 用户名 @组名 只读列表
访问控制
限制ip
hosts allow = 192.168.1. //只允许网段192.168.1.访问
hosts deny = 192.168.2. //拒绝网段192.168.2.访问
限制用户
valid users = 用户 @组名 //只允许哪些用户访问
invalid users = 用户 @组名 //拒绝哪些用户访问
三,设置匿名共享,给匿名用户可读可写的权限
#mkdir /share
#chmod 777 /share
#vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
map to guest = bad user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[sharetest] //共享名
comment = share //描述信息
path = /share //共享文件的路径
browseable = Yes //可浏览
guest ok = Yes //允许guest用户访问
read only = No //可写
# systemctl restart smb //重启服务
验证: windows客户端:
在地址栏输入:\服务器的ip地址
把windows的文件拷贝到共享目录 如可以拷贝表示成功
注:防火墙需要开通445端口。
四,使用用户名和密码访问
服务端:
1.1 创建用户
#useradd samba1
#useradd samba2
#useradd samba2
1.2 添加samba用户,设置密码
# smbpasswd -a samba1
New SMB password:
Retype new SMB password:
Added user samba1.
# smbpasswd -a samba2
New SMB password:
Retype new SMB password:
Added user samba2.
# smbpasswd -a samba3
New SMB password:
Retype new SMB password:
Added user samba3.
查看系统所有的samba用户命令:
# pdbedit -L
删除samba用户命令:
#pdbedit -x samba2
1.3 修改配置文件 -----让其支持用户和密码验证
# mkdir /project
# chmod o+w /project
# vim /etc/samba/smb.conf
[global]
security = user
[sambatest]
security = user
comment = test
path = /test
browseable = Yes
read only = No
[homes]
comment = Home Directories
browseable = No
read only = No
inherit acls = Yes
检测配置文件写法:
#testparm
重启服务
#systemctl restart smb
客户端验证:
windows客户端:
在地址栏输入:\服务器的ip地址 —>双击共享文件夹–>需要输入用户和密码
注:注意防火墙的配置