使用samba,可以把局域网的linux和window共享,通过映射网络盘的方式可以挂在到windows文件系统下面,使用起来和本地磁盘没有区别,下面介绍,如何安装samba
第一步:安装samba
为samba打开防火墙上的相应端口,运行以下命令:
iptables -I INPUT -p tcp –dport 137 -j ACCEPT
iptables -I INPUT -p udp –dport 137 -j ACCEPT
iptables -I INPUT -p tcp –dport 138 -j ACCEPT
iptables -I INPUT -p udp –dport 138 -j ACCEPT
iptables -I INPUT -p tcp –dport 139 -j ACCEPT
iptables -I INPUT -p udp –dport 139 -j ACCEPT
iptables -I INPUT -p tcp –dport 445 -j ACCEPT
iptables -I INPUT -p udp –dport 445 -j ACCEPT
service iptables save # 保存配置
service iptables restart # 重启以使配置生效
将SELinux配置为permissive模式,运行以下命令
setenforce 0
vi /etc/selinux/config
将上述文件中的
SELINUX=enforcing
替换为
SELINUX=permissive
安装samba服务端,运行以下命令:
yum install -y samba
检查是否安装成功
rpm -qa|grep samba
第二步添加用户
对于4.x之前的版本,需要建立一个本地Unix帐号以便将其添加到Samba
adduser <username>
接下来,我们需要添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同)
smbpasswd -a <username>
第三步、更改系统配置,添加目标路径
配置smb.conf文件,运行以下命令:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
[global]
##samba服务器的工作组为WORKGROUP
workgroup = WORKGROUP
##samba服务器的描述信息
server string = Samba Server Version %v
##samba服务器的NetBIOS名称
netbios name = CentOS.Server
##samba服务器的客户端访问日志
log file = /var/log/samba/log.%m
##日志的最大尺寸为50 KB
max log size = 50
##使用tdbsam存储用户信息
passdb backend = tdbsam
##使用用户验证的方式确保安全性
security = user
##映射匿名用户访问
map to guest = bad user
guest account = nobody
[public]
#共享目录说明
comment = Public Stuff
#共享目录路径
path = /samba/public
#在Windows的网络共享中能够看到此目录
browseable = Yes
#此目录可以公开匿名访问
public = Yes
#此目录可写
writable = Yes
[private]
#私有目录说明
comment = private Stuff
#共享目录路径
path = /home/private
#在Windows的网络共享中能够看到此目录
browseable = Yes
#此目录可以公开匿名访问
public = no
#那个用户可以控制此文件夹
valid users = username
#此目录可写
writeable = yes
用testparm检查smb.conf配置文件语法设置的正确性
输入testparm检查smb.conf是否有错误
[root@S930900 samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[public]"
Processing section "[private]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
检查完毕,重启samba服务
service smb restart
service nmb restart
顺便设置个开机自启动
chkconfig smb on
chkconfig nmb on
第四步、给目标路径设置修改权限等
创建目标路径并修改权限
mkdir /home/public
mkdir /home/private
chmod -R 777 /home/public # 加上-R是给文件下下所有文件添加权限
chmod -R 777 /home/private
第五步、在window电脑上就可以链接文件啦
在文件夹选项出,输入ip地址以及要连接的文件名称
点击完成,然后输入账号免密就可以可以链接上了
windows无法连接到Linux的Smaba服务器
1、检查linux服务器能否链上samba
#先安装客户端
yum install -y samba-client
#然后链接samba服务器
smbclient //112.116.81.32/public -U username
# Enter SAMBA\username's password: ******(输入密码,然后enter)
# Try "help" to get a list of possible commands.
smb: \>
2、检测Windows防火墙是否影响,关闭防火墙
防火墙已关闭,但是还是无法连接
3、确保window系统内SMB1.0协议的安装
比较老的NAS设备或者一些Linux系统的SAMBA软件包可能都是使用的是SMB1.x协议,Win10支持SMB 3.1.1协议。无法访问的话,就要确保系统内SMB1.0协议的安装。
更改方式:
控制面板->卸载程序->启用或关闭Windows功能->确保选中“SMB1.0/CIFS文件共享支持”,然后重新启动电脑即可生效。
成功连接到Samba服务器,在文件夹里用\192.168.10.3\访问
下面是整理的相关方面的文章,感谢分享者
怎样设置Samba文件服务器以使用Windows客户端
【Linux】samba服务器的安装和配置
【Linux】Samba服务器超详细安装、配置(附带各种问题解决方式)
linux和window文件共享 安装samba
Linux中samba服务器的搭建
samba服务器详细配置(非域模式)
在Linux上搭建samba服务后,到Windos上访问不了共享目录的问题排障