Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。由服务器及客户端程序构成,可实现Linux目录共享,然后再Windows系统中链接访问共享目录。
查看是否安装Samba包:
rpm -qa | grep samba
samba-common-4.8.3-4.el7.noarch
samba-client-libs-4.8.3-4.el7.x86_64
samba-common-libs-4.8.3-4.el7.x86_64
samba-client-4.8.3-4.el7.x86_64
已安装samba包,但并未安装samba服务
安装Samba服务
yum install -y samba
Samba配置,关闭selinux服务
如果不关闭此服务,windows访问的时候会出现“你没有权限访问”的错误
临时关闭
setenforce 0
永久关闭
修改配置文件: /etc/sysconfig/selinux
,将 SELINUX=enforcing
改为 SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
创建共享目录
mkdir /var/www
chmod 777 /var/www
创建Samba用户
adduser samba
passwd samba
# 将该用户添加到samba服务列表中
smbpasswd –a samba
修改Samba配置
配置文件: /etc/samba/smb.conf
# 这里是设置samba的共享级别,share表示共享级访问,服务器不对客户机进行身份认证,user表示用户级访问,被访问的samba服务器要对客户机进行身份验证
security = user
文件末尾追加:
[share]
# 对该共享资源的说明
comment = my share
# 共享资源的路径
path = /var/www/
# 设置允许访问共享的用户或组的列表
valid user = samba
# 指定共享的路径是否可写
writable = yes
# 是否可以浏览共享目录
browseable = yes
# 指定客户机在共享目录中创建文件的默认权限
create mode = 0777
# 指定客户机共享目录中创建文件目录的默认权限
directory mode = 0777
关闭防火墙
systemctl stop firewalld
启动samba服务
# 启动服务
systemctl start smb
# 将服务加入到开机启动中
systemctl enable smb
成功
在windows系统中访问: \\ip地址
,并输入创建的用户名和密码,如果提示用户名或密码错误(配置、密码均正确的情况下),请如下设置:
- 命令行输入:
secpol.msc
- 本地策略 -> 安全选项 -> 网络安全:LAN管理器身份验证级别
- 修改本地安全策略为:仅发送NTLMv2相应。拒绝LM和NTLM(& )