Centos7中samba服务器的搭建
一:介绍:
Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,能够跨平台的互访通信
二:安装:
检查系统是否安装过Samba
rpm -qa | grep samba安装Samba
yum -y install samba #centos sudo apt-get install samba samba-common #ubuntu
基本命令:
// centos systemctl status smb //查看samba服务的状态 systemctl enable smb //设置samba服务开机自启 systemctl start smb 或者 smbd start #启动 systemctl restart smb 或者 smbd restart #重启 systemctl stop smb 或者 smbd stop #停止 // ubuntu sudo service smbd status #查看状态 sudo service smbd start #启动 sudo service smbd stop #停止 sudo service smbd restart #重启三:配置
1:配置文件在 /etc/samba/smb.conf
2:我们现在改成免密模式,就是访问不需要输入用户名密码
旧版本中 是这样改 security = share新版本这样改会出错,新版本添加:map to guest = Bad User :表示匿名免密,另外增加[public]段,public中主要设置是否可读,可写,以及共享目录地址等![public]为对外目录名,比如win访问看到的就是public
map to guest = Bad User [public] path = /usr/local/smaba/public browsable =yes writable = yes guest ok = yes read only = no
修改配置文件后,可以用命令检测修改是否正确:
testparm
新建目录:
mkdir /usr/local/smaba/public
重启,然后在win上输入 \\192.168.0.25,我这里是25ip,看是否共享成功。
注意:如果win上面要写入,修改,还必须给linux上的目录加权限:
chmod 777 -R /usr/local/smaba/public
如果访问不了先查看是否开启了防火墙
firewall-cmd --state #查看防火墙状态 #如果开启,则禁用防火墙 systemctl stop firewalld #或者把samba加入到防火墙中去 firewall-cmd --permanent --zone=public --add-service=samba #然后重启防火墙 firewall-cmd --reload
如果还是不能访问还需要检查:selinux设置,把selinux关闭
linux下的地址
win下的地址
3:设置密码:
需求:public为公用目录,所有用户都可以匿名访问,其他各部门访问部门目录,部门的人用统一的账号密码访问自己部门。假设这里有一个php部门,我们新建一个用户名:php 密码:123456
(1):Samba用户首先必须是系统用户,所以要先设置系统用户,然后再把系统用户设置成Samba用户,不需要登ssh,所以不用分配系统密码
useradd php #设置系统用户php再把php设置成Samba用户
smbpasswd -a php输入密码OK
激活用户:
smbpasswd -e php
pdbedit -L #查看设置的Samba用户
配置文件加入:
[php部门] path = /usr/local/phpfile valid users = php browsable =yes writable = yes available = yes
执行命令建立目录和赋值权限:
mkdir /usr/local/phpfile #建立php部门目录 chmod 777 -R /usr/local/phpfile #赋予权限然后重启Samba
win访问如果提示:不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接,用户切换也需要运行以下命令
cmd运行一下命令清理缓存:
net use * /del /y
这里hr和php部门必须输入用户名密码,public为公用目录,可以匿名访问。
如果用户密码正确,win7还是不能访问,如果win访问弹出两次窗口,则修改:
开始->运行->secpol.msc->本地策略->安全选项->网络安全:LAN管理器身份验证级别->
试试红色区域的几个选项,网上说使用:发送 LM 和 NTLMv2 ,如果已协商,则使用NTLMv2 (会话安全 &)
但我这里用这个就不行,我选择:仅发送NTLMv2 就正常。