Windows2003访问samba及Linux不能挂载共享文件夹中NTLMv2的作用

由于最近需要测试打印功能,请协助把192.168.0.1服务器的/TESTOUT目录共享10.0.0.1FTP服务器上,将linux上的文件夹共享到Windows下,考虑用samba实现。

一般使用SMB(Server Message Block)协议共享文件,都是客户机或是服务器是windows,才会使用。而samba是在Linux上实现SMB协议的自由软件。另外还使用到一个协议CIFS(Common Internet File System)通用的互联网文件系统,是基于SMB协议开发的文件共享协议。可以看做是增强SMB协议跨平台,通用性的协议。服务器和客户机都是RHEL7大致配置过程如下。

RHEL7服务器配置Samba服务器


1,使用yum来安装samba

yum install samba

2,创建samba服务器使用用户

useradd sam

3,将sam用户添加到samba

smbpasswd -a sam

注:
-a:向smbpasswd文件中添加用户;
-c:指定samba的配置文件;-x:从smbpasswd文件中删除用户;-d:在smbpasswd文件中禁用指定的用户;-e:在smbpasswd文件中激活指定的用户;-n:将指定的用户的密码置空。

4,设置samba目录权限

chmod o+w /TESTOUT 或者 setfacl -m u:sam:rw /TESTOUT

5,设置selinux给目录加上samba的selinux的标签(samba_share_t)。这个在配置文件里面描述有说到。

chcon -t samba_share_t /TESTOUT

6,修改配置文件,一般默认在/etc/samba/smb.conf

7,重启服务后,在Windows2003尝试访问共享磁盘

问题出现了


无论还多少种姿势,Windows一直提示密码错误,使用window7/10/2008挂载均无问题。

更换思路


既然,这种方法行不通,我们换一种方式来解决这个问题,共享一个window2003下的文件夹,挂载到Linux下,可以达到一样的使用效果,这样的结果无非是使用的空间为Windows服务器的。不过,也不是频繁读写的数据,问题不大。

1,在Windows2003端设置共享文件夹,配置好权限,分配好用户。

2,在Linux下挂载该Windows2003共享的文件夹。

问题又出现了


# mount -t cifs -o username=’lixshareusr’,password=’abc%1234′ //10.0.0.1/sharetolinux /mnt

mount error(13): Permission denied

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

然后,一脸懵逼,看来问题是绕不过去了。那就尝试解决吧。

解决思路


从Linux换到Windows配置方法肯定是没有问题,先给自己一个肯定。配置没有问题就出现在了验证上,那挂载个共享文件夹所使用的用户名及密码会涉及到哪里呢?

突然间临机一动,Windows7访问XP不是也会出现怎么输入密码也对的情况吗?那是由于Vista之后的windows系统(包括win7)强制使用NTLMv2认证,而winxp默认支持LM & NTLM,那这个问题会不会也是由于这个导致的呢?

于是,运行gpedit.msc,本地计算机组策略–Windows设置–安全设置–本地策略–安全策略–网络安全:LAN管理器身份验证级别–设置为”send NTLMv2 responses only\refuse LM & NTLM”。然后挂载成功了。

注:
此设置会影响运行 Windows 2000 Server、Windows 2000 Professional、Windows XP Professional 以及 Windows Server 2003 家族的计算机与运行 Windows NT 4.0 或更早版本的计算机通过网络进行通信的能力。例如,截至本次编写,运行 Windows NT 4.0 SP4 或更早版本的计算机尚不支持 NTLMv2。运行 Windows 95 和 Windows 98 的计算机尚不支持 NTLM。
默认值:
Windows 2000 以及 Windows XP: 发送 LM & NTLM 响应
Windows Server 2003: 仅发送 NTLM 响应
Windows Vista、Windows Server 2008、Windows 7 以及 Windows Server 2008 R2: 仅发送 NTLMv2 响应

那么找到原因了,在Linux下挂载的时候增加sec=ntlmv2,竟然也挂载成功了。

mount -t cifs -o username=’lixshareusr’,password=’abc%1234′,sec=ntlmv2,rw //10.0.60.112/sharetolinux /mnt

注:
在samba配置中,有一个参数为”client ntlmv2 auth = yes”这个改为no,应该也可以解决吧。只是自己没有理解更透彻。

 

问题总结


遇见问题,换个思路是好的,一味的逃避,不是办法,总有问题是你避不开的,勇敢面对,冷静心细。还有就是基础知识一定要踏实。

给TA买糖
共{{data.count}}人
人已赞赏
笔记

解决linux下因无法创建新分区不能扩容lvm问题

2021-4-8 18:11:14

笔记

podman:error creating libpod runtime: kernel does not support overlay fs

2021-4-11 21:43:21

此心远送浑河岸,斟别酒,唱阳关,临别无语空长叹,酒已阑,曲未残,人初散,心长怀去后,杳鱼雁,对遥山,当时无计锁雕鞍,去后思量悔应晚,别时容易见时难!
16 条回复 A文章作者 M管理员
  1. 蜗牛柔弱

    哈哈

  2. 火车虚心

    啦啦啦啦

  3. 夕阳从容

    点赞是不可能点赞的

  4. 秀发重要

    装装逼

  5. 店员义气

    哈哈

  6. 凉面害怕

    主题不错!

  7. 蓝天笨笨

    就服你

  8. 悟空苗条

    点赞是不可能点赞的

  9. 保温杯可靠

    百度来的,网站挺好看的

  10. 钢笔哭泣

    百度来的,网站挺好看的

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索