smb服务是微软的网络通讯协议,后来应用到了linux系统上。这款文件共享协议可以使得Linux与windows系统之间进行文件共享与打印功能(打印功能暂时不理解,希望读者留言指导),由于NFS可以完成linux与linux之间的文件共享,所以smb服务最适用 的场合还是linux与windows系统间的文件共享。
安装方式:
ubuntu:sudo apt-get install 。。。
centerOS:yum install 。。。
查看是否安装成功:
rpm -qa | grep samba
如果输出结果不为空,一般都是已经正确安装过了
重点
配置/etc/samba/smb.conf:
(括号或者#开头的都是注释,请知悉)
[global]
#省略一部分
netbios name = liuzz4(#这里是在windows网络上显示的名称)
security = user(我这里设置为用户模式,需要输入用户名与密码才可以访问)
[liuzz4]
comment = liuzz4(这里可以随便写)
path = /work/share
writable = yes(允许登录用户创建文件或者文件夹)
valid users = @whulzz(这里的whulzz是一个用户组,可以通过groupadd创建,这里只允许登录用户为whulzz组的用户,否则不能通过验证)
在修改配置文件的时候用到了文件夹/work/share与用户组whulzz
我们还要:
添加用户组,修改/work/share文件夹的所属组。下面是需要用到的命令
usergroup whulzz
useradd -g whulzz test
chown -R test:whulzz /work/share
创建smb用户
smbpasswd -a test
开启smb与nmb服务
service smb start
service nmb start
OK,现在可以在windows上验证了,输入\\liuzz4既可以访问共享文件了
好了,相信你们都遇到了坑,看完下面就能解决你们遇到的问题了
问题1:windows弹出对话框提示无法访问的问题
原因一:防火墙没有关闭 service iptables stop
原因二:配置/etc/samba/smb.conf没有关闭smb服务,这个问题我确实遇到了,通过testparm后才发现该问题,当时重启机器,浪费了壮老大我好久的时间。
问题二:共享文件夹为什么不是我想要的名字,为什么不是liuzz4
原因:没有按照我的步骤来修改,这个共享文件夹的名字是方括号中的字符串起作用的,例如[liuzz4]
问题三:为什么输入\\liuzz4依然访问不到,但是输入IP地址却可以
原因一:一定要在[global]中修改netbios name = liuzz4,否则在其他地方会被覆盖
原因二:一定要先启动smb再启动nmb,因为nmb是起DNS的作用的,他会监听到udp广播,如果匹配到会将本机IP返回给路由的。
好了,暂时遇到的坑就这些,如果大家遇到了其他坑,请留言,壮老大会尽量给你们解决的
作者:壮老大
参考文献:鸟哥的私房菜
系列:跳坑指南