CentOS配置Samba服务

2016-09-18

Samba服务可以让Windows以局域网共用的方式访问Linux共享的文件夹.
(嗯简单说这是内网共享的姿势。
smbd 提供资源访问 端口 139
nmdb 提供主机名解析 端口 137 138
安装从rpm:
1、先安装common(这里有依赖关系)
rpm -ivh samba-common…(文件名)
然后 rpm -ivh samba…(文件名)
此时安装结束
2、配置文件
打开配置文件 vim /etc/samba/smb.conf
77行:netbios name = MYSERVER #主机名 可以用\MYSERVER\访问共享文件夹
101行:security = user #一般是user或者share,user则必须登录后才可查看,share是不登陆可见
直接定位到Share Definitions部分,:246行
每个文件夹的共享通过定义节点表示,中的[pub]节点
一般有 comment描述
是否允许浏览browseable
文件夹path
writable是否允许写入
public为是否是公开的
同guest ok(即不登陆也可访问)
3、创建用户和目录
创建一个test用户 但不要让他有登录ssh的权限:
#useradd -s /sbin/nologin test
然后添加到Samba(回车确认新密码):
#pdbedit -a test
如果要删除Samba用户可以用
#pdbedit -x test
查看已添加的用户:
#pdbedit -L
然后根据节点配置目录权限,如上图我配置的是/pub目录,则新建pub目录
创建目录 #mkdir -m 700 /pub
更改归属 #chown test: /pub
4、更新防火墙规则
#iptables -A INPUT -p tcp –dport 137:139 -j ACCEPT
查看防火墙规则:
#iptables -L -n

5、重启Samba服务

#service smb restart

#service nmb restart

6、设置开机启动

chkconfig –level 35 nmb on

chkconfig –level 35 smb on

7、连接

首先可以在Linux中测试是否可以连接:

#smbclient \127.0.0.1 -U test

其中-U test为登录为test用户

如果可以连接则在Windows进行测试

(a).在资源管理器Ctrl+L输入

\主机地址

进行访问

(b).使用命令提示符映射虚拟网路磁碟

打开cmd输入

net use Z: \主机IP\文件夹 /user:test 密码

8、我遇到的一些问题

Windows10 打开无需登录的Samba共享,提示
指定的登录会话不存在。可能已被终止。
然后其它电脑(Windows7)可以访问这个共享,偏偏Win10不行,经过一番搜索看到
“微软为Windows10添加了新的安全机制,没有密码的访问形式被系统认为是不安全的…”
——来源
微软给出的解决方案是:
1、Samba里调成user级别,即验证用户名密码的模式
(如果还是不行得使用上面的net use命令添加共享,需加密码)
#vim /etc/samba/smb.conf
101行:security = user
…详情参考上方关于添加用户部分
2、或者修改注册表
HKEY_LOCAL_MACHINE—-SYSTEM—- CurrentControlSet—-Services—-LanmanWorkstation—Parameters
在Parameters里右击新建DWORD(32位)值重命名为AllowInsecureGuestAuth 数值1 保存即可
如果还是不行请关掉selinux
如何卸载Samba
1、通过rpm卸载
先查询出Samba包名:rpm -qf which smbd
samba-3.5.10-125.el6.i686(我这里是这个名字)
然后 rpm -e samba-3.5.10-125.el6.i686
2、通过yum卸载
yum -y remove samba