参考博客:https://blog.csdn.net/zhao12795969/article/details/53446172
安装samba的原因: 源码需要在Linux 下编译,但源码项目比较大,小到几百个源文件,大到上万个源文件,在Linux下用vim编辑太不方便(虽然本人也装了一些插件,如NERDTree,taglist,miniBuf,但像符号查找,函数引用还有一些其他操作,vim还是没有像window下的 sourceInsight 方便,特别是大项目的时候更加不方便,而且平时工作当中也是在window下用SourceInsight 编辑,在Linux服务器上编译),所以需要把Linux下的源文件共享出来,在Window上编辑,在Linux上编译。这一过程也是遇到了很多问题,记录如下文,希望能帮助到和我一样遇到类似问题的网友!
首先遇到的问题:Linux 笔记本能连上无线网,但网速太差,每次用 yum -y install samba 都提示失败,自动安装已无望,提示的错误都是try later again,无奈只能考虑下源码安装了(本人两台笔记本,一个window系统,一个centos系统),选择从window笔记本(两台笔记本都连了无线,但window上可以下载)上下载源码,源码地址:
https://download.samba.org/pub/samba/stable/
我是下载了3.6.25 版本的,即samba-3.6.25.tar.gz ,下载后用u盘拷贝到centos 下进行安装。
结果解压文件时出现了一些错误,如:
我以为没有什么大的问题,结果在源码下面执行configure 的时候报错了,没法安装,上网搜了才知道应该是压缩包下载不全导致,结果一看还真是,下载下来的包才6M多一点,到源码路径上去看是33M多,那为什么window提示下载完成了呢?不得解!!重新下载源码包,拷贝到centos。
解压、安装步骤如下:
1,在home目录下新建了一个目录samba,将源码包放到此目录下,解压: tar xzvf samba-3.6.25.tar.gz,解压出目录 samba-3.6.25
2,进入源码目录 samba-3.6.25/source3,执行 ./configure --prefix=/usr/local/samba
3,执行上一步没有错误,接着执行
这个过程是编译源码,需要一点时间,等待其编译完成
4,编译安装完成之后,配置动态链接库。
vim 打开文件,写入/usr/local/samba/lib
5, 创建 samba的配置文件 smb.conf
进入到samba的主文件夹下
注意要改名为smb.conf , 不然是无法识别的
(安装目录下有很多smb.conf的例子,但/usr/local/samba/lib下却没有,所以必须copy.)拷贝过来后,我没有改动而直接用。
6,添加了一个系统用户: samba_test,设置密码。
useradd samba_test -------- 添加系统用户
passwd samba_test --------- 设置密码
其实这一步也可以不用添加新用户,用原有用户也是可以的,只需要把已有用户添加到samba中即可,即下面的添加命令,把samba_test改成已有用户名即可。
7,添加 samba 用户且启用,用于在window登录用,需要在root下执行:
/usr/local/samba/bin/smbpasswd -a samba_test
此时让输入的是smb密码,即登录samba服务的密码(在windows 上用\\192.168.1.109登录时要求输入的密码),跟用户的系统密码是不一样的,不过设置成一样不知道可不可以,即:
New SMB password:
Retype new SMB password:
当提示: Added user win_test 即为成功了,若出现: Failed to find entry for user win_test 即是失败的,原因没有这个用户 或 上面的命令没加参数 -a
启用:/usr/local/samba/bin/smbpasswd -e samba_test
提示:Enable user samba_test ------ 启用成功
8,启动服务,先关闭防火墙,否则window始终连不上samba 共享目录的。
关闭防火墙:/etc/rc.d/init.d/ iptables stop
启动服务: 需要root权限,若一般用户下执行没有提示错误,但服务并没有启动
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
通过命令 ps -elf | grep smbd 和 ps -elf | grep nmbd 检查启动的服务
9,window 下进行连接,在运行中输入:
\\192.168.1.109\samba_test ----- samba_test就是第6、7 步创建的用户,第一次登录会要求输入密码,密码为第7步设置的New SMB密码,而不是samba_test 的系统密码,不要搞混淆了。
可能会遇到的问题:如下的提示,会让你一直输入密码,但不管输入正确与否,都是这个提示,如下图:
当时没截图,这个是从网上截来的。
这种情况看来是windows7的问题,解决的办法是:单击”开始“-“运行”,输入secpol.msc,打开“本地安全策略”,在本地安全策略窗口中依次打开“本地策略”-->“安全选项”,然后再右侧的列表中找到“网络安全:LAN管理器身份验证级别”,把这个选项的值改为“发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2会话安全”,最后确定。如图二。
再连接即可连接上samba共享目录。默认情况下,samba的共享目录为 用户的home目录,如上的\\192.168.1.109\samba_test,则连接上后,其进入的共享目录为samba_test 的home 目录。若要共享其他目录可上网搜索。
共享目录效果如下:
在自已做试验的过程中,创建了两个用户,先前创建如上面的samba_test 用户,后来又创建了win_test 用户,同时也添加到samba中,也启用了,但当我用win_test 去连接smaba服务器时,总是提示如下错误:
上网搜索后都说确保smb.conf不要配置错,我怎么确定,我不知道怎么确定。如上我所创建的samba的时候smb.conf都是直接用默认的,没做修改,这个配置应该是没有问题的,于是我想到了,是不是密码不对,因为当我在运行中输入\\192.168.1.109\win_test 时,没有提示我输入密码,而是直接弹出上面这个错误提示框,这个肯定不对啊,两个用户密码我设置的是不一样的,所以继续搜索"清除访问局域网密码缓存" ,果然是密码不对的问题,在我第一次用\\192.168.1.109\samba_test登录成功后,电脑已经记住这个密码,往后再登录都会用这个密码,所以得清除一下:
1,在运行中输入control userpasswords2或者control keymgr.dll,然后【高级】下的【管理密码】,点击对应的连接,从保存库中删除,如下图:
2,重启Workstation 服务 : 电脑右键--->管理--->服务与应用程序--->服务,找到Workstation服务,双击进行编辑,点击停止按钮,确定,再启动,确定,服务即可重启。
再连接\\192.168.1.109\win_test ,弹出输入用户名和密码,如下截图:
输入对应的用户名和密码,连接成功,如下:
这些属于用户自带的隐藏文件,不需要显示可以在标题”组织“里“文件夹与搜索选项” 的查看里隐藏掉。