centos samba服务搭建
Posted liuguanghai6455
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos samba服务搭建相关的知识,希望对你有一定的参考价值。
环境说明
本文件夹共文的场景是虚拟机运行CentOS,本机是Windows,现欲把CentOS上的一个享出来,Win的机器可以读写。
Samba与window连接需要使用NetBios协议,请确认你的Win7系统已经安装了NetBIOS协议。
组成Samba运行的有两个服务:
SMB服务:
-
Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话;
-
提供对文件和用户身份验证并打印系统的访问;
-
只有SMB服务启动,才能实现文件的共享;
-
监听139 TCP端口;
NMB服务:
-
负责解析用的,类似与DNS实现的功能;
-
NMB可以把Linux系统共享的工作组名称与其IP对应起来;
-
如果NMB服务没有启动,就只能通过IP来访问共享文件;
-
监听137和138 UDP端口。
安装samba
配置这些东西你需要先拥有root权限
首先关闭防火墙
service iptables stop
另外关闭SELINUX的强制模式
setenforce 0
查看已经按照samba rpm包
rpm -qa | grep samba
通常为了保持环境纯净,都是先现在原来的安装包
卸载samba
rpm -e --nodeps xxx
yum安装samba
yum install samba samba-client samba-swat
配置samba
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,
/etc/samba/smb.conf是samba的核心配置文件,
/etc/init.d/smb是samba的启动/关闭文件
下面我们来配置Samba服务,有一些注意事项我会强调,请大家注意:
先定位到/etc/samba目录下,
把smb.conf备份一下: shell cp smb.conf smb.conf.bak
现在我要把/share目录共享给我的win7机器,打开samba配置文件,
shell vi /etc/samba/smb.conf
用shift+g定位到最后一行,可以看到:
修改如下:
[myshare] comment = this is my share path = /home/liuguanghai/ valid user = liuguanghai read only = no writeable = yes browseable = yes available = yes printable = no write list = +staff
好了,保存退出:wq!
创建共享文件夹:
创建/share目录mkdir /share,并且设置chown -R [用户组]:[用户]
好了,重启samba服务吧!
本来应该是service smb restart和service nmb restart, 但是我曾经试过用这样的方式不行,而使用/etc/init.d/smb restart和/etc/init.d/nmb restart就可以。 以防万一,使用后者的方法。
在win7的机器运行//192.168.0.100就能看到samba共享的public文件夹(也就是对应的/share文件夹)——可读可写哦。
如果出现没有权限的问题,请再次确认以下几个重点:
1.关闭防火墙: service iptables stop
2.设置SELinux的宽松模式:setenforce 0
3.设置你需要共享的文件夹的属性为777,chmod 777 /share
4.重启了smb和nmb服务。
设置samba用户名密码:
在本地检测是否分享成功:
输入命令:smbclient -L \\127.0.0.1 -U xxx
1、出现类似如下结果证明成功:
2、如何出现如下字样:
samba服务器出现“session setup failed: NT_STATUS_LOGON_FAILURE”的解决办法:
$ smbclient -L \\127.0.0.1 -U test Enter berbiey‘s password: session setup failed: NT_STATUS_LOGON_FAILURE
test是centos 中的一个普通用户,启动smb服务后,在本机上测试,就出现了上面的错误。
这是由于test 仅仅是系统用户,而没有将它加入到samba账户中来,
换言之, 用来登录samba服务器的账户,首先是一个 系统账户, 同时还应是samba账户。
找到了问题的症结 所在,解 决就简单了。 方法如下:
smbpasswd -a test #在samba服务器中添加一个用户名是test用户 输入密码:
如果出现win10登陆samb用户名密码都正确,还提示“用户名密码错误”
查看如下:
1.win10系统运行secpol.msc 打开本地安全策略
2.安全策略->本地策略->安全选项
3.右侧找到“网络安全:LAN管理器身份验证级别”打开,选择“仅发送NTLMv2响应,拒绝LM和NTLM”点确定。
4.本路径下再找到“网络访问:本地账户的共享和安全模型”打开,选择“仅来宾”
重启服务
以上配置完成后要重启samba服务才能生效,重启命令如下:
systemctl restart smb.service systemctl restart nmb.service systemctl enable smb.service systemctl enable nmb.service systemctl status smb #临时关闭 systemctl stop firewalld #禁止开机启动 systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
以上是关于centos samba服务搭建的主要内容,如果未能解决你的问题,请参考以下文章