Ubuntu下配置支持Windows访问的samba共享
背景
家用电脑, 环境的搭建思路可参考嵌入式linux环境搭建-主机端
单位电脑, 没有使用nfs共享文件.
用的环境是: VMware Ubuntu 16.04 + Windows 7 + VMware 文件共享
尝试编译uboot时, 弹出一个错误提示
ln: creating symbolic link XXXXXX : Operation not supported
问题根源和解决方法:
出现这类问题,主要是由于在编译的时候,要用ln去建立一些软链接,而这些文件是从Windows中,通过VMWare虚拟机共享进Linux的,Windows不支持软链接,所以,编译会报错。
解决办法就是,在VMWare下的Linux中,建立Samba服务, 然后新创建新samba用户和文件夹,然后在windows中就可以访问到该文件夹了。
相比于nfs共享文件, 唯一的缺点是: 文件存放在虚拟机中, 需要始终打开虚拟机才能在windows下访问文件. 因此文件的备份和修复也稍微麻烦一点. 优点是, 不需要付费软件.
下文转载自 Ubuntu下配置支持Windows访问的samba共享
一、安装Ubuntu samba服务器
$ sudo apt-get install samba |
二、创建samba配置文件
备份原配置文件
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
创建共享目录
$ sudo mkdir -p /home/share
# 一般来说,该目录的权限为755,将其改为777之后,Owner之外的其他用户才有权限写入。
$ sudo chmod 777 /home/share修改配置文件
$ sudo vim /etc/samba/smb.conf
# ===== 文件内容, 在smb.conf最后添加: =====
[share]
path = /home/share
browseable = yes
writable = yes
comment = smb share test
# ===== 结束修改, 保存退出vim =====
另外,总结一下常见的samba配置及说明:
[share] # 该共享的共享名 |
三、创建samba用户
注意,创建samba用户之前,必须先确保有一个同名的linux用户,否则samba用户会创建失败。
$ sudo smbpasswd -a $USER |
四、重启samba服务
$ sudo service smbd restart |
五. 客户端访问测试
Linux客户端访问测试
$ smbclient -L //localhost/share
Windows客户端访问测试
可以访问如下地址\\Linux的IP或者主机名\share
我一般会把虚拟机端Linux的IP搞成静态地址, 这样远程登录也更方便
$ ifconfig # 查看IP信息
$ sudo vim /etc/network/interfaces
# ===== 文件内容, 大致修改如下: =====
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static # 使用静态地址
address 192.168.0.100 # 设置静态地址
netmask 255.255.255.0
gateway 192.168.0.1 # 网关
dns-nameservers 8.8.8.8 192.168.0.1
# ===== 结束修改, 保存退出vim =====
如果public = no,此时需要输入samba用户密码;
如果public = yes,则作为nobody用户直接访问。
另外,在Windows客户端使用 net use * /del /y
这条命令可以清理访问缓存。