1.前言
samba源码都一样,配置也也一样,各个不同linux版本,唯一不同的是对服务的启动方式不同。下面以ubuntu14.4为例,说明。
2. 安装samba
samba的安装,可以源码安装,大部分都可以直接采用相关linux版本的软件安装工具安装最方便。
如:ubunt
sudo apt-get install samba
3.配置
samba的配置文件在,/etc/samba/smb.conf里;需要root权限可编写;
保险起见,先备份该文件,然后在该文件的最后加上自己需要共享的部分;
[dusf] //显示的共享目录名称,自己填
comment = dusf //批注,随便写;
path = /home/dusf //需要共享的linux服务器上的目录文件夹;
browseable = yes //可以浏览,yes
writable = yes //可以写,yes
4. 设置访问的用户密码
设置可以访问的linux用户使用的访问密码;
smbpasswd -a user
说明:
删除用户是:
smbpasswd -x user
显示samba的所有用户是:
pdbedit -L
5.重启samba服务
各版本linux略有差异;ubunt是如下:
/etc/init.d/samba restart
停止是
/etc/init.d/samba stop
centos如下:
启动Samba服务
/etc/rc.d/init.d/smb start
停止Samba服务
/etc/rc.d/init.d/smb stop
重新启动Smaba服务
/etc/rc.d/init.d/smb restart
重新加载Smaba服务
/etc/rc.d/init.d/smb reload
编辑启动加载项
ntsysv
chkconfig -level n smb on/off
6.windows上访问
正常情况下,windows上的cmd窗口访问,\10.46.169.111,然后输入用户密码以后均OK的。
7.故障排查
出现不能访问是再正常不过的事情,有的时候是防火墙的原因,有的时候是其他乱七八糟的原因。但,解决问题总的有章可循。一股子劲,把问题现象在google百度上一搜,然后在尝试上面的解决方法。
未尝效率很低。
正常的姿势是,查看samba的日志(排除任何软件的故障,都应该是这个思路);
smaba的日志文件存在为:
/var/log/samba/....
可以用ls -ltr,查看那个是最新的日志,打开这个日志,或者tail -f xxx.log,再尝试登录,查看最新的日记记录;
如果根本都没有日志显示,证明都没有到samba,很可能是防火墙等外围的配置导致的;
如果有日志,就根据日志的显示,在具体分析,或者网络搜索,就有有的放矢,效率要高多了。
比如作者,windows也显示没有权限访问,在网上一大堆这样的问题,其实很多问题都是这个表象,我试了好久,都没找到原因。后来看日志,发现跟内存分配有关出现的panic了,再网上搜索解决方法;
[2018/10/20 09:05:10.626016, 0] ../source3/lib/util.c:801(smb_panic_s3)
smb_panic(): calling panic action [/usr/share/samba/panic-action 78861]
[2018/10/20 09:05:10.628158, 0] ../source3/lib/util.c:809(smb_panic_s3)
smb_panic(): action returned status 0
[2018/10/20 09:05:10.628207, 0] ../source3/lib/dumpcore.c:303(dump_core)
dumping core in /var/log/samba/cores/smbd
sudo apt-get install libtalloc2 重新安装 talloc
8. windows的网络共享补充知识
8.1 net use
windows的网络共享有记忆功能,第一次失败了,后面还是失败。第一次进入了,第二次还是这样进去的;所以有必要清除这些记录,有便于排除问题:
显示当前windows机器的共享连接:
net use
删除特定的共享连接:
net use \10.46.169.115dusfshare delete
删除所有的共享连接:
net use * /delete
8.2 subst
映射网络共享为本地盘符:
subst x: \10.46.169.115dusfshare
删除:
subst x: /d