早期SMB协议在网络上传输明文口令。后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至很容易就被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM是windows早期安全协议,因向后兼容性而保留下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器。
2、禁止使用LM认证方法:
Windows NT Servers Service Pack 4和后续的版本都支持三种不同的身份验证方法:LanManager (LM)身份验证;Windows NT(也叫NTLM)身份验证;Windows NT Version 2.0(也叫NTLM2)身份验证。
默认的情况下,当一个客户尝试连接一台同时支持LM和NTLM身份验证方法的服务器时,LM身份验证会优先被使用。所以建议禁止LM身份验证方法。
1.打开注册表编辑器;
2.定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa;
3.选择菜单“编辑”,“添加数值”;
4.数值名称中输入:LMCompatibilityLevel,数值类型为:DWORD,单击确定;
5.双击新建的数据,并根据具体情况设置以下值:
0-发送LM和NTLM响应;
1-发送LM和NTLM响应;
2-仅发送NTLM响应;(我使用的是这个,因为win7家庭版没有组策略模块)
3-仅发送NTLMv2响应;(Windows 2000有效)
4-仅发送NTLMv2响应,拒绝LM;(Windows 2000有效)
5-仅发送NTLMv2响应,拒绝LM和NTLM;(Windows 2000有效)
6.关闭注册表编辑器;
7.重新启动机器。
3、使用win7家庭版本的修改方法:
现在许多公司都采用Linux+Samba服务做为文件服务器,部分员工发现在换装Vista系统后无法查看到服务器上Samba共享的文件目录,这是因为Samba Server 只支持NTLM 认证,而Vista却强制使用NTLMv2认证,这时我们就需要通过一些设置来解决这一问题。
解决方法如下:
首先,单击[开始]——[运行] 输入 “secpol.msc”打开管理工具,展开“本地策略(Local Policies)”。
然后,单击“安全选项(Security Options)”。 双击“网络安全:LAN Manager 身份验证级别(Network Security: LAN Manager authentication level)”
最后,单击列表中:发送LM和NTLMv2,如果已协商,则使用NTLMv2协议(LM and NTLM – use NTLMV2 session security if negotiated) .
通过以上设置,在对方不支持NTLMv2认证的时候,系统会自动采用NTLM认证方式进行验证。如果Vista系统不能同其它服务正常连接的时,也不妨试试这个方法。
根据互联网整理,感谢作者!
方法二
目前的工作环境是 win7+vmware workstation7.1+fc8. 一些东西反反复复的搞了多次,每次都会花些时间,在此做一记录,备忘。
1. 安装fc8. fc8的ISO,放在硬盘上。建立vmware的一个virtual machine. 在setting里将DVD指向fc8的ISO,一步一步的安装fc8。
2. 让win7和fc8能相互ping通。 按照vmware default的设置,vmnet1是fc8连接到internet的网口,不要更改。改变vmnet8的ipv4
地址为192.168.118.1/255.255.255.0; fc8的ipv4地址是192.168.118.128/255.255.255.0. 这样就能相互ping通。
3. 安装samba. 到rpm search上下载smba-3.0.33-0.fc8.i386.rpm, perl-Convert-ASN1-0.22-1.fc8.rf.noarch.rpm,samba-common-3.0.33-0.fc8.i386.rpm. 安装。
4. 配置samba。 vim /etc/samba/smb.conf. 将security=share.(最后我加上方法一和这句话才成功)
其他设置的含义:
share:用户不需要账户及密码即可登录samba服务器
user:由提供服务的samba服务器负责检查账户及密码(默认)
server:检查账户及密码的工作由另一台windows或samba服务器负责
domain:指定windows域控制服务器来验证用户的账户及密码)
添加path
[smb_share]
comment = smb share with windows
browsable = yes
writable = yes
public = yes
path = /smb_share/
到fc8上将共享的目录改成任何用户可读可写 chmod 777 smb_share
重启smb服务 service smb restart
5. 安装SecureCRT。 在fc8下启动sshd(默认已经启动),SecureCRT通过SSH2连接到fc8. 理论上步骤5应该在4前,这样对samba的设置就可以在win7下进行了。
下面一段是对smb较完整的一个设置说明。 由于我是用的环境的原因,不存在多用户及安全的问题。设置相对简单。对于是用独立的SMB服务器的情况,也可以安装上面的简单配置。
另外,后面的另外一片文章讲述的windows和linux共享文件的一些方法,供参考。但是smb方式对我最为适合。si 看代码(uboot+kernel),Linux的工具链编译。
文章1
这几天学习了Linux下面的Samba服务器架设
系统环境:Windows xp sp3 ,IP:192.168.1.10 虚拟机下安装了Fedora-8-i386 IP:192.168.1.12
1. 首先检查os是否安装好了samba。
[root@cisco samba]# rpm -qa | grep smb
如果出现下面三行内容,则表示已经安装好了Samba
libsmbios-libs-0.13.10-1.fc8
libsmbios-bin-0.13.10-1.fc8
pam_smb-1.1.7-7.2.2
如果没有安装后好,需要进入安装关盘Fedora-8-i386-DVD.iso
[root@cisco /]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@cisco /]# cd /mnt/cdrom/
[root@cisco cdrom]# ls
fedora.css isolinux README-BURNING-ISOS-en_US.txt repoview RPM-GPG-KEY-fedora RPM-GPG-KEY-rawhide
GPL media.repo RELEASE-NOTES-en_US.html RPM-GPG-KEY RPM-GPG-KEY-fedora-rawhide stylesheet-images
images Packages repodata RPM-GPG-KEY-beta RPM-GPG-KEY-fedora-test TRANS.TBL
[root@cisco cdrom]# cd Packages/
[root@cisco Packages]# rpm -ivh -aid smb*
即可安装成功。
2. 进入samba目录
[root@cisco /]# cd /etc/samba/
[root@cisco samba]# ls
lmhosts smb.conf smbpasswd smbusers
这里的smb.conf是samba服务器的主要配置文件。
还要注意一点,smbpasswd文件是用来存储用户帐号和经过md5加密后的密码。
刚安装好samba服务时,此文件不存在。需要手工创建。下面会介绍。
3. 编辑smb.conf文件
[root@cisco samba]# vi smb.conf
进行如下设置:
#======================= Global Settings =====================================
[global]
workgroup = MSHOME 将linux 加入的工作组名,我这里加入了MSHOME工作组。
server string = Samba 这是服务器描述信息,方便标志资源。可以随便输入。
encrypt passwords = yes 表示是否对用户的密码进行加密,这里选择加密,安全!
public = yes 定义一个共享是否对公共访问开放。当设置为 yes 时,在系统上没有帐户用户
将基于所定义的客户帐户的属性来接收访问。
smb passwd file = /etc/samba/smbpasswd 这是账号密码的存放文件
netbios name = mm's samba 在外部访问该samba服务器时,显示的信息。
# --------------------------- Logging Options -----------------------------
# logs split per machine
log file = /var/log/samba/log.%m log文件的存放位置。
# max 50KB per log file, then rotate
max log size = 0 log文件的大小限制,设置为0表示不做限制。
# ----------------------- Standalone Server Options ------------------------
security = user 共享的安全级别,samba有四种安全等级:
share:用户不需要账户及密码即可登录samba服务器
user:由提供服务的samba服务器负责检查账户及密码(默认)
server:检查账户及密码的工作由另一台windows或samba服务器负责
domain:指定windows域控制服务器来验证用户的账户及密码)
passdb backend = tdbsam
以上即为通用一般配置。
加入我们需要共享的目录为 /opt/
需要添加如下代码:
[rose]
comment = This is my samba server! 设置共享信息,随便输入
path = /opt 共享目录
valid users = testuser 可以访问次共享目录的用户,我这里设为testuser用户
public = yes 同上面的解释
writable = yes 用户是否可写,这里我们允许。
wq!
保存退出即可。
4. 启动smb服务
[root@cisco samba]# service smb start
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb start
Starting NMB services: [ OK ]
5. 添加可以访问我们刚才设置共享目录的用户:testuser
1)建一个系统用户
[root@linux samba]# useradd testuser (建一个名叫testuser的用户)
[root@linux samba]# passwd t (给testuser用户添加密码)
Changing password for user samba.
New password: (密码要六位以上,不显示在屏幕上)
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new password: (确认密码)
passwd: all authentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@linux samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
3) 然后创建samba帐户
[root@cisco samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
Added user testuser.
6. 重新启动smb服务
[root@cisco samba]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
下面我们在Windows下测试一下,我的系统为Windows xp sp3
在Linux 下访问Windows的共享资源,显示信息为:
[root@cisco samba]# smbclient -L //192.168.1.10
Password:
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
IPC$ IPC 杩版洪┍濞绋搴
Sh版? Printer Adobe PDF Office Document Image Writer
session request to 192.168.1.10 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
在Linux 下访问自己的samba服务器,显示信息为:
[root@cisco samba]# smbclient -L //192.168.1.12
Password:
Anonymous login successful
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.26a-6.fc8]
Sharename Type Comment
--------- ---- -------
homes Disk Home Directories
rose Disk This is my samba server!
test-1 Disk This is my samba server!
IPC$ IPC IPC Service (Samba)
Anonymous login successful
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.0.26a-6.fc8]
Server Comment
--------- -------
MM'S SAMBA Samba
Workgroup Master
--------- -------
MSHOME
文章2
Windows和Linux间有很多文件共享的方式,这里总结了一下。假设你的Host计算机是Windows,Guest是Linux。
1.用vmware tools工具
SharedFolders是Vmware4 的一个新功能,更加方便了在Host,Guest操作系统间共享文件。但是使用前
要安装vmware tools.
点击setting->vmware tools install
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
里面有一个vmware tools的tar包,解开执行vmware-tools-install.pl脚本,一路回车,一般没有问题。
点击Edit->Virtual Machine Settigns->Option->SharedFolders->Add,选定要共享的文件夹并给这个文件夹命名,下一步。选定“Enable
thisshare”, 确定以后,vmware会把这个文件夹自动mount到/mnt/hgfs目录下。
2.Windows下配置Ftp
用serv-u比较简单(或直接设置iis的ftp服务器)
3.Windows下配置WWW服务
用IIS,Apache或者其它的都可以。如果你的Linux只有命令行的话,就用wget命令吧,可以很方便地下载文件。
4.利用Windows的文件共享功能
比如说你的Windows的IP为192.168.0.1,共享了一个叫share的目录,那么就可以用下列命令
mount -t smbfs //192.168.0.1/share /mnt -o username=user%passwd
或者smbmount //192.168.0.1/share /mnt -o username=user%passwd(用这个命令要安samba哦)
5.利用Samba
这是我用得最多的方式(Samba服务器毕竟是多系统文件共享不错的解决方案)
6.在Linux下配置Apache
在Linux下配置Apache,然后在Windows下通过www方式把Linux下的文件下载下来。这种方式只能把Linux的文件传到Windows,不能把Windows的文件传到Linux.
(设置apache配置文件,并提供一个类似webshell的东西,可以把文件从windows通过www方式把win系统下的文件上传到linux)
7.在Linux下配置Ftp
用vsftp或者wu-ftp都可以,配置成上传权限的,然后Windows和Linux就可以相互共享文件了。
8.用ISO文件
虚拟机里面的光驱可以有物理光驱和ISO文件两种,我们可以把我们的文件重点制件成ISO文件(用WinIso),然后在Linux中作为CDROM挂接。
9.直接挂接物理硬盘或者硬盘分区
不过vmware也是支持直接mount Host机器的磁盘,方法是在虚机设置里新建磁盘,类型选“Usephysicaldisk(foradvanced users)”,再选定磁盘和分区就可以。但是这样的操作可能会引会文件系统的不一致,导致错误,不推荐使用。
转载自http://blog.163.com/cantou@126/blog/static/87548598201162182259719/