Win7 环境下虚拟机内 Samba 服务器的安装配置以及与主机的通信实现
Posted 搞IT的机械逃兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win7 环境下虚拟机内 Samba 服务器的安装配置以及与主机的通信实现相关的知识,希望对你有一定的参考价值。
考虑到window和linux虚拟机之间互传文件较为麻烦,遂打算在虚拟机中安装Samba服务器,以此实现共享文件给window使用。然而安装配置过程曲折,遂作记录如下:
一、samba服务器的安装
正常的安装流程如下:
1、安装samba:yum install samba
检查samba安装状态:rpm qa | grep samba(确保samba服务器已经正常安装)
2、配置samba服务:vim /etc/samba/smb.conf
testparm 测试samba配置文件是否有语法错误
3、添加samba新用户:
smbpasswd -a user_name 添加samba新用户(前提是该用户已在Linux系统中存在,否则需要首先添加该用户到系统中)
smbpasswd -x user_name 删除samba用户
pdbedit -L 列出所有samba用户
4、重启samba服务:service smb restart
安装过程遇到的问题:依赖包错误云云
网上查了好久,始终未找到合适的答案(找依赖包这个思路的方向偏了,因为yum命令本身可以自动解决依赖包的问题)。
之后,我使用yum update命令,注意到了有这样的问题,
然后,意识到了问题的所在--可能是由于之前安装samba过程残留了一些过程文件造成,了重新安装时出现了冲突?
Anyway,由于命令yum-complete-transaction在yum-utils包中,首先安装yum-utils,使用命令 yum install yum-utils;
然后执行命令yum-complete-transaction,成功安装了samba,问题得到了解决。
总结:遇到问题时,首先耐心找出所有可能引起问题的地方,并考虑问题的源头在哪。
二、samba服务器与主机的通信
遇到的问题,通过win7主机运行窗口(按键:win+R)访问samba的共享端口,无法连接到samba:
为了解决这个问题,几乎找遍了网上的资源,遗憾的是并没有针对我所遇到问题的解决方案。不过这个帖子有所提及https://www.iyunv.com/thread-70422-1-1.html。虚拟机的联网配置一直是NAT模式,后改用桥接方式,确实连接成功了。
问题之所以解决,似乎也与我将最终目的分解为不同的步骤有关。最终效果是想实现win7访问虚拟机中CentOS的samba,但首先可以在虚拟机中本地进行smbclient客户端登录,下面是成功的现象
smbclient -U username -L \\\\ipaddr
Enter SAMBA\\user\'s password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Work Disk GloryD\'s share work dir
IPC$ IPC IPC Service (Samba 4.10.4)
gloryd Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Work Disk GloryD\'s share work dir
IPC$ IPC IPC Service (Samba 4.10.4)
gloryd Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
【
可能的失败返回结果:
可能的失败返回结果:
session setup failed: NT_STATUS_LOGON_FAILURE
确认当前用户是否已添加系统用户及samba用户:
cat /etc/passwd | grep user
pdbedit -L | grep user
指定用户可能非系统用户,useradd user添加该用户并指定登录密码
指定用户可能非Samba用户,smbpasswd -a user添加该用户并指定登录密码
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
共享目录有误,可能是目录不存在或者权限不对(http://www.cnitblog.com/201/archive/2010/09/26/69192.html】
如果本地smbclient用户登录成功,便可以进一步实现win7对samba的访问。
然而,即便是在虚拟机中操作仍然不成功。不过好处是,错误有提示,如下:
session setup failed: SUCCESS - 0
由此,通过这个提示再进行网络资源搜索,最终找到了可参考的方案 https://www.iyunv.com/thread-70422-1-1.html。
samba配置文件 /etc/samba/smb.conf 新增内容如下(简单配置,可以满足使用要求):
[work_dzh] ;共享目录虚拟名
comment = DZH share dircetory ;共享目录描述
path = /home/work ;真实共享目录
browseable = yes ;目录可浏览
writable = yes ;目录内可写
valid users = dzh ;登录用户为:dzh
此外,为了方便访问,可将虚拟机中的共享文件 work_dzh 配置为网络文件,
不过这样一来,电脑开机启动过程异常缓慢(这是因为电脑启动过程需要加载驱动器Z,不过由于虚拟机未开启,故驱动器Z一直找不到,耗费了大量时间)。
【20200602 window10系统相关问题
虚拟机本地smbclient访问共享目录成功,但windows仍访问失败,尝试了如下方法并不ok
“我的电脑”--管理--服务和应用程序--服务 打开TCP/IP NetBiosHelper --无作用
控制面板-程序和功能-启用或关闭 Windows 功能,勾选 SMB 1.0/CIFS 文件共享支持中的 SMB 1.0/CIFS 客户端 & 服务器,重启 --无作用
可能与windows10家庭版有关系?(https://blog.csdn.net/snaking616/article/details/104282660 --尝试生成策略组gpedit.msc失败)
20200603
找到原因了...
目前使用的CentOS7系统,防火墙并非iptables而是firewalld
(寻找替代方案cuteFTP时,发现仍然连接不上虚机的ftp服务,进而发现了这个帖子https://bbs.csdn.net/topics/391927110)
[root@centos7 gloryd]# systemctl stop iptables
Failed to stop iptables.service: Unit iptables.service not loaded.
[root@centos7 gloryd]# systemctl status iptables
Unit iptables.service could not be found.
(以上误以为已经关掉防火墙了,其实明显就提示问题了)
Failed to stop iptables.service: Unit iptables.service not loaded.
[root@centos7 gloryd]# systemctl status iptables
Unit iptables.service could not be found.
(以上误以为已经关掉防火墙了,其实明显就提示问题了)
[root@centos7 gloryd]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 四 2020-06-04 00:13:43 CST; 2min 43s ago
Docs: man:firewalld(1)
...
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 四 2020-06-04 00:13:43 CST; 2min 43s ago
Docs: man:firewalld(1)
...
】
其他相关配置文章:
以上是关于Win7 环境下虚拟机内 Samba 服务器的安装配置以及与主机的通信实现的主要内容,如果未能解决你的问题,请参考以下文章