环境:ubuntu-20.04.6-desktop-amd64?
虚拟机:vm17
? ? ? 由于在做Android 源码编译 采用的是本地pc机进行编译,为了方便在windows查看文件与源码,故通过安装samba来实现windows直接查看ubuntu系统中的文件。
????????Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
samba -V
? 如果安装了会有对应的samba版本信息输出
sudo apt install samba samba-common cifs-utils smbclient
mkdir samba_workspaces
先创建一个用户(以samba_user为例)
sudo useradd samba_user -s /usr/sbin/nologin
设置samba登录用户的密码
sudo smbpasswd -a samba_user
先查看samba_workspaces目录的权限
yishurufa@ubuntu:~$ ls -l
总用量 44
drwxrwxr-x 5 yishurufa yishurufa 4096 9月 14 15:12 samba_workspaces
共享目录的拥有者是yishurufa,所属组是yishurufa,登录用户samba_user需要对这个目录进行操作的话,只需要将登录用户添加到这个组里面就可以。
sudo usermod -aG $(whoami) samba_user
?将samba_user添加到samba_workspaces所属组,$(whoami)可以得到当前用户名,创建的共享目录的所有者和所属组都是当前用户。
sudo vim /etc/samba/smb.conf
将下面内容添加到最后(path为samba_workspaces的实际路径,下面是笔者本地的路径)
[secret]
comment = this is Linux secret share directory
path = /home/yishurufa/samba_workspaces
valid user = samba_user
guest ok = no
writable = yes
browsable = yes
create mask = 0755
directory mask =0755
修改前
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
修改后
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
ntlm auth = yes
sudo service smbd restart
虚拟机可以再配置一个虚拟网卡用于samba服务(设置仅主机模式)
ifconfig
右键“我的电脑” -> 映射网络驱动器 -> 文件夹填入 -> \\192.168.xx.xxx\secret
勾上“使用其他凭据连接”
最后输入用户名和密码