简介:Samba是SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。
一、安装samba
1、关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
setenforce 0 # 临时关闭selinux
2、安装samba服务
rpm –qa | grep samba # 检查是否安装
yum -y install samba samba-client # 安装samba和客户端
2.1 修改配置文件
文件默认位置:/etc/samba/smb.conf
[global]
workgroup = WORKGROUP # 定义工作组名称
security = user # 定义安全级别(user, share, server)share代表不验证用户,user为samba服务器验证,server则代表认证工作由其他服务器完成
passdb backend = tdbsam # 密码存储方式
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
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
# 新增如下内容:
[share] # 共享资源名称
comment = Public Share # 简介
path = /tmp/share # 真实的共享目录,没有需创建
browseable = yes # 是否可读
writable = yes # 是否可写
hosts allow=192.168.1. # 允许哪个网段访问
2.2 创建用户,并启动服务
# 创建samba用户
useradd -M -s /sbin/nologin test # /sbin/nologin只是不允许系统login,可以使用其他ftp等服务
smbpasswd -a test
# 检查配置文件
testparm -s
# 创建共享目录
mkdir /tmp/share
chmod 777 /tmp/share/
# 启动服务
systemctl start smb.service
systemctl enable smb.service
# 检查服务运行状态
netstat -tnlp | grep smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 11003/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 11003/smbd
二、客户端安装
1、windows客户端(以win7为例)
win + r
打开运行窗口,输入服务器地址: \\192.168.1.134
登录报错:”登录失败:未知的用户名或错误密码“
解决方法: 开始 =》运行 =》输入secpol.msc =》本地安全策略 =》安全选项 =》点击右侧 “网络安全:LAN管理器身份验证级别” =》修改成 “仅发送NTLMv2响应”
2、Linux客户端配置
linux下连接samba服务器使用smbclient
命令,因此要确保 samba-client 安装完成
# 查看服务器的共享目录
smbclient -L 192.168.1.134 -U test -W WORKGROUP
smbclient -L 192.168.1.134 -U test%password -W WORKGROUP
# 进入共享目录
smbclient //192.168.1.134/share -U test%123456
# 使用-C选项可以一次性使用smbclient命令
smbclient -c 'ls ' //192.168.1.134/share -U test%123456 -W WORKGROUP