一 安装Samba
1. sudo apt install samba
2. 创建共享目录(工作目录)
# 切换到用户(家)目录
cd ~
# 创建目录
mkdir samba_share
# 修改文件夹权限, 仅个人用开发所有权限
# 如果是多级目录(如a/b/c)加 -R(递归), chmod -R
chmod 777 samba_share
3. 创建samba配置文件
# 先备份原始配置文件, 用于恢复
sudo cp /etc/samba/smb.conf /etc/samba/smb.bak
sudo vim /etc/samba/smb.conf
然后在smb.conf最后末尾添加几行:
[share]
# path为共享文件夹的路径
path = /home/gz/share
available = yes
browseable = yes
# gz为用户名
valid users = gz
public = yes
writable = yes
注意:
#public = yes 不需要密码访问
or
#public = true 不需要密码访问充:
4. 创建Samba用户
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a gz //gz为samba的账号, 要于配置文件中的用户名一致 密码简单点可以设置为1
5. 重启samba服务器
sudo /etc/init.d/smbd restart 或 sudo service smbd restart
6. 连接或使用
ifconfig查看ip:192.168.150.138
windows下打开文件夹,输入
\ip地址\share
7. 将共享文件夹映射成本地磁盘
这样的文件夹不是磁盘,不能当C盘使用
比如它不能直接拖入PHPstorm编辑器(Sublime可以),所以可以将其映射成本地磁盘
步骤:windows下网络->右键->映射网络驱动器
输入 文件夹框 \ip地址\ShareFiles,按提示输入用户名密码即可。(比如,\192.168.150.144\share)。
二 卸载Samba
sudo apt-get autoremove samba samba-common
sudo apt-get purge samba samba-common
三 Windows连接不上的问题
ping 虚拟机是通的,ssh连接也没问题,samba服务正常,那就是防火墙捣的鬼
1、确保防火墙的关闭,或者将samba设置为白名单,一般本地选择关闭即可
sudo ufw status //查看防火墙状态
sudo ufw enable //开启防火墙
sudo ufw disable //关闭防火墙
如下所示,Status: inactive即为关闭状态
其他防火墙命令:
systemctl status firewalld
# 具体查看 firewalld和ufw的区别,还有iptables的规则。
sudo systemctl disable firewalld //永久关闭
sudo service smbd restart //重启samba
更多防火墙命令了解:
临时关闭防火墙,重启会自动打开
systemctl stop firewalld
永久防火墙开机自关闭
systemctl disable firewalld
临时打开防火墙
systemctl start firewalld
防火墙开机启动
systemctl enable firewalld
查看防火墙状态
systemctl status firewalld