samba
功能:windows和linux系统之间共享文件。采用smb协议和CIFS文件系统。
CIFS:是通用互联网文件系统协议。
说明:windows文件共享默认采用的是smb协议。smb是服务器消息块(server message block)的缩写。
samba的优点:
1、既可以共享文件,也可以共享打印机。
2、既可以基于用户访问控制,也可以基于客户机IP的访问控制。
3、支持文件的在线编辑。即不用将文件下载到本地修改之后再上传到服务器。
环境:
server 192.168.10.7 test1.uplook.com
client 192.168.10.1 client.uplook.com
samba服务器搭建思路:
1、安装samba服务器软件
2、启动smb服务,用smbclient做本地测试。
3、创建普通用户,然后设置为samba用户
4、在/etc/samba/smb.conf主配置文件中设置目录的共享信息。
5、用smbclient客户端程序在服务器上做本地测试(也称内测)。
6、在另一台客户端主机上用smbclient做公测,看能否访问共享。
服务器
一、查看软件包是否安装
rpm -qa | grep samba 查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 客户端软件包linux
#yum install samba -y //安装软件
二、启动服务
systemctl restart smb 重启服务
systemctl enable smb 允许开机启动
systemctl status smb 查状态
三、客户机访问共享
装软件:yum install -y samba-client
查共享资源:smbclient -L 192.168.10.7 提示密码时直接回车
三、服务器端的配置文件
rpm -ql samba-common
/etc/samba/smb.conf //主配置文件
/etc/samba/smb.conf.example
vim /etc/samba/smb.conf 可用man smb.conf查手册
[global] //全局设置
workgroup = SAMBA //定义工作组,网上邻居中的组名
security = user //安全验证的设置
user :需要提供用户名和密码才能访问共享,验证使用的是本地服务器(即samba服务器)
share:匿名用户,不需要提供用户名和密码直接就能访问共享 //7已废弃
passdb backend = tdbsam //用户和密码存放的格式 /var/lib/samba/private/passdb.tdb
printing = cups //打印相关选项
printcap name = cups
load printers = yes
cups options = raw
[homes] //默认共享普通用户的家目录
comment = Home Directories //注释,对共享的描述
valid users = %S, %D%w%S //只允许某个用户访问。%S是所有samba用户的变量
browseable = No //是否显示在网上邻居中
read only = No //是否只读,No为可写
inherit acls = Yes //继承acl权限
smb.conf的其他功能选项:
允许匿名访问:
public=yes 或 guest ok = yes
权限控制
read only = Yes 只读,等同writable=No
write list = 用户名 @组名 可写白名单
read only = No 只读,等同writable=Yes
read list = 用户名 @组名 只读白名单(可写黑名单)
访问控制
限制ip(可用于global和共享设置)
hosts allow = 192.168.1. //只允许网段192.168.1.访问
hosts deny = 192.168.2. //拒绝网段192.168.2.访问
限制用户
valid users = 用户 @组名 //只允许哪些用户访问
invalid users = 用户 @组名 //拒绝哪些用户访问
监听IP或接口
interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0