有时候在本地开发的时候需要配一个跟线上环境差不多的环境,然而在linux里开发对于其他软件是很不友好的,即使是图形化的界面,还是有些痛点,所以一般的做法可能是在windows创建一个虚拟机搭建环境,借助samba实现文件共享,你可以使用ide来写代码然后保存,也就是在windows上操作linux的文件,很方便。
首先安装samba,
yum install samba
安装完之后会有两个文件放在/etc/samba,分别是主配置文件 smb.conf 和示例配置 smb.conf.example.
最好先备份smb.conf
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
下面是conf的内容
#smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw`
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
你可以在配置的最末加入你想共享的文件配置
[web]
comment = 这里是注释
path = /home/web //共享的文件夹路径
writable = yes //是否可写
selinux和防火墙也会对访问造成影响,在确保安全的情况可以关闭它们
systemctl stop iptables
或者
systemctl stop firewalld
以及修改selinux的配置文件,
vi /etc/selinux/config
找到 SELINUX=enforcing 改为
SELINUX=disabled
为samba添加一个用户用来连接samba,你可以随便命名,我随手用了root
smbpasswd -a root
根据提示重复输入两次密码,你的smb用户就建立好了,之后需要重启虚拟机。重启完记得打开你的smb服务,并确保防火墙是关闭的
systemctl start smb
你可以选择在windows上添加一个磁盘位置来访问这个共享的文件夹:
然后输入你虚拟机的ip地址和共享出来的文件夹名字,比如我的虚拟机ip是192.168.1.3,之前共享出来的文件夹在smb的配置文件中命名为 web,那么我需要连接的地址就是
\\192.168.1.3\web
然后按照步骤输入你创建的smb用户名和密码即可。
如果发现连接不上,请检查你的smb服务是否正常,配置文件,防火墙和selinux配置,以及smb用户是否被创建。