码迷,mamicode.com
首页 > 其他好文 > 详细

centos samba服务搭建

时间:2019-11-09 20:00:34      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:available   输入密码   only   write   本地安全策略   系统用户   ima   path   ali   

 

环境说明

本文件夹共文的场景是虚拟机运行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服务搭建

标签:available   输入密码   only   write   本地安全策略   系统用户   ima   path   ali   

原文地址:https://www.cnblogs.com/liuguanghai6455/p/11827138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!