虚拟机中安装配置Samba
Linux安装软件之前养成良好的习惯:sudo apt upgrade和update
安装Samba
1.终端输入:
sudo apt install samba samba-common
2.创建需要共享的文件夹,如果是已存在的,直接执行对该文件夹添加权限:
sudo chmod 777 dirname //dirname为待共享的文件夹名
配置Samba
1.打开samba配置文件:
sudo gedit /etc/samba/smb.conf
2.在[global]下添加security = user ,如下信息所示:
[global]
##Browsing/Identification ###
#Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
security = user
#server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)
3.在本配置文件最后添加如下信息:
[share]
comment = my share directory
path = /home/用户名/share
browseable = yes
writable = yes
将path后的文件路径改为自己需要共享文件夹的路径
注意:不要直接复制进去,如果直接复制需要将前面的空格全部删除,自己手动敲击三个空格进去,否则会出现无法加载配置文件信息,具体看下文。
4.为Samba用户设置密码
这里就使用登录Linux的账户作为Samba用户即可,设置密码:
sudo smbpasswd -a smbuser
- 重启Samba服务
终端执行:
sudo service smbd restart
可能出现的问题与解决方案
可能出现的问题:
1.如上所述,直接复制配置信息到配置文件,可能是字符编码原因,无法加载那块配置信息。
执行命令:
systemctl status smbd.service
如果出现下方信息说明服务状态正常,若出现failed等错误信息,说明
服务异常,我这里现在是正常状态。
若上述异常,执行命令:testparm
如下图,可以看到直接复制进去的配置信息是位置参数,无法识别,这时候需要将前面的空格删掉重新手动敲击进去。
修改后为:
Win10主机访问虚拟机中的文件夹
1.在Linux中获取IP地址:
ifconfig
如:192.168.1.1
2.在win10中按"win + R":
如果没问题就可以访问到虚拟机中Linux的文件夹了。
可能出现的问题
我由于是将虚拟机中是Linux设置为静态IP的,而且之前不知道什么时候将Vmnet8中ip设置成静态获取的了,因为换了网络环境,所以主机win10的局域网ip发生了变化,导致Vmnet8中的静态ip和主机与Linux中的不在一个网段,即不在同一局域网内,因此安装上面的配置怎么无法访问虚拟机中的文件夹,后来突然想起来ping一下是否连通,即主机ping虚拟机ip,果然无法ping通。因此查了一下,首先将虚拟机网络模式设置为NAT模式(自己去查怎么设置),然后修改VMnet8中的ip与主机和虚拟机在同一网段,如下图,
**注意:**主机ip,VMnet8的ip,虚拟机中Linux的ip地址要设置不一样,但是网关需要设置一样,子网掩码默认就行。
重新ping一下显示可以ping通,再用"win + R"输入虚拟机的IP直接可以访问虚拟机中的文件夹。如果弹出需要验证用户与密码的窗口,输入Ubuntu的登录用户名(samba用户)和之前为其设置的密码即可(这里也是看别人的说法,具体是samba用户与密码,还是Linux用户与密码我也没去验证,总之就这两个,并且建议将它们用户名和密码设置一样就避免了这个问题出现)。
至此,win10主机访问虚拟机中Ubuntu的共享文件夹大功告成!
有什么疑问和错误都可以提出来一起讨论学习。