今天在虚拟机里安装了最小化版本的 CentOS6.5(CentOS-6.5-x86_64-minimal.iso,498MB,没有桌面环境和一些常用的工具,只有一个root用户),内核版本为2.6.32。我打算共享一个文件夹到Win10,折腾了一个小时,终于搞定,这里记录下过程,方便以后查找。
刚开始我共享一个自己新建的文件夹时,在 Win10 上访问时遇到了恼人的安全认证问题,如下所示:
我共享的文件夹明明没有要求用户名和密码,怎么 Win10 弹出了这个东西?不管输入的是 Win10 的账户密码还是 CentOS 的 root 账户密码都不行。之前在 Ubuntu16.04 上共享文件夹没有出现这个弹窗,我想可能是因为 CentOS6.5 samba 版本比较旧,Win10 的 samba 版本比较新,两者的差异性就导致了这个问题。
之后网上搜索一番,发现并不是 Win10 的配置有问题,很可能是 CentOS 的 samba 配置有问题。于是我打算直接共享root用户的/root文件夹,因为root用户是有密码的,Win10的这个弹窗可能是要求访问的文件夹必须要有认证。然后网上搜索捣鼓捣鼓,搞定了,流程如下:
1. 安装 samba
yum install samba samba-client samba-swat
2. 删除内置的 iptables 规则。不删除的话可能无法正常访问共享的文件夹。
a.临时删除
iptables -F INPUT
iptables -F FORWARD
b.永久删除,再敲入下面一行
service iptables save
3. 关闭 SELlinux,用不到,关闭就对了。
a. 临时关闭
setenforce 0
b. 永久关闭
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
保存重启
4. 为 samba 添加 root 用户,密码为你的root账户密码!!!,然后重启 samba 服务。
smbpasswd -a root
/etc/init.d/smb restart
5. Win10 访问虚拟机的IP地址,我的是\\192.168.36.130\root。又弹出认证,这时输入你的 root 账户和密码就OK了!
别以为这样就搞定了,重启后你会发现又访问不了,还需要最后一步。
6. 在 /etc/rc.local 文件最后增加如下两行:
smbpasswd -e root
/etc/init.d/smb restart
大功告成!
补充:以下配置是共享用户(非root用户)的 home 目录 samba 配置文件 /etc/samba/smb.conf 里的内容:
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0755
directory mask = 0755
valid users = %S
之后使用 smbpasswd 命令添加用户,密码为你的用户密码,重启 samba 服务。假设我的虚拟机IP地址是192.168.230.135,在Win10上访问\\192.168.230.135\liu ,然后输入用户名和密码就可访问到我的 home 目录。
补充:RedHat9.0还需修改Win10配置
Win10下cmd执行secpol.msc
Local Policies
Security Options
Network security: LAN Manager authentication level
由未定义改为Send LM & NTLM - use NTLMv2 session security if negotiated
如果需要恢复修改:
Win10下cmd执行egedit
查找注册表浏览到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA,直接删除LMCompatibilityLevel 键。