一文把samba相关的都说清楚

时间:2022-07-16 04:34:27

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.115\dusfshare delete

删除所有的共享连接:

net use * /delete

8.2 subst

映射网络共享为本地盘符:

subst x: \\10.46.169.115\dusfshare

删除:

subst x: /d