1、在终端中执行下列指令:

cat /etc/issue

查看当前Ubuntu 的版本号
在这里插入图片描述

2、更新当前软件

sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade

3、安装samba服务器

sudo apt-get install samba samba-common

检查是否成功安装samba服务:samba -V (如果出现下面版本号说明已经安装了samba服务器)
在这里插入图片描述
如果安装失败,请检查你的网络,确认linux可以访问互联网,若可以联网请尝试更换ubuntu镜像源,桌面版直接在软件和更新中配置,服务器版百度上很多

4、创建一个用于共享的samba目录

此步骤可选 我直接把整个工作目录设置为共享文件夹

mkdir /home/share //如果配置的共享目录不存在则创建

5、给共享的这个目录设置权限

sudo chmod 777 /home/yhq

6、添加Samba访问账号及密码(需要和配置文件中相对应)

添加samba用户,用于其他人或设备认证,这里添加的用户需要在系统账号中存在,否则添加失败

添加Samba访问账号及设置密码:
yhq@yhq-VirtualBox:~$ sudo smbpasswd -a yhq
New SMB password:
Retype new SMB password:
Added user yhq.

可选
创建用户名映射文件并配置(根据配置文件来定义)

sudo vi /etc/samba/smbusers
在文件中写上 share="network username"并保存

拓展:

smbpasswd 命令的用法 
    smbpasswd -a 增加用户(要增加的用户必须以是系统用户)   
    smbpasswd -d 冻结用户,就是这个用户不能在登录了   
    smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用   
    smbpasswd -n 把用户的密码设置成空.   
                 要在global中写入 null passwords -true   
    smbpasswd -x  删除用户  
# 查看samba用户列表(需要root权限)
pdbedit -L
 
# 对samba用户进行管理(用户已经在系统中创建)(需要root权限)
smbpasswd -h  #查看支持的命令列表
 
# 异常时可查看日志情况
cat /var/log/samba/log.%m

7、备份 smb.conf 配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

8、配置samba的配置文件

sudo vi /etc/samba/smb.conf

在配置文件smb.conf的最后添加下面的内容:

[global]

    ; 创建工作组 设定 Samba Server 所要加入的工作组或者域  
    workgroup = WORKGROUP 

    ; 为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936
    ; display charset = UTF-8
    unix charset = UTF-8
    dos charset = cp936 
	
    ; 是否允许guest用户访问
    guest ok = no
    
    ; 注:如果 #security 存在就直接修改,不存在就创建
    ; security = user 

    ; 安全模式  我们设置用户安全级别
    security = user 
	
	; 说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。
	; 比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。
    username map = /etc/Samba/smbusers 

; 共享名,该共享标签,该名字为在电脑上看到的共享名 注意网络映射的路径是这标签名字不是共享路径的名字
[share]

    ; 该共享描述
    comment = Shared Folder with username and password 

    ; 共享文件夹路径
    path = /home/yhq/

    ; 表示是否允许匿名访问该共享目录
    public = no

    ; 配置的Samba访问账号 指明可以访问的用户
    valid users = yhq

    ; 表示是否可以在 Window Explorer中显示该目录
    browsable = no

    ; 指明新建立的文件的属性
    create mask = 777 

    ; 指明新建立的目录的属性
    directory mask = 777

    ; force group 和force user 规定创建的文件或文件夹的拥有者和组拥有者是谁 
    ; 一般这两个值来空,则表示拥有者和组拥有者为创建文件者。 如设定值,如force group=yhq
    ; Force user=yhq,则不管是谁创建的文件和文件夹,拥有者都为yhq和yhq组。

    ; force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,
    ; 如果我用force user=yhq强制建立文件的属主是yhq,同时限制create mask = 0755; 这样guest就不能删除了。

    force user = yhq 
    force group = yhq

    ; available用来指定该共享资源是否可用
    available = yes 

    ; 共享路径读权限 设置共享是否可浏览,如果no则表示隐藏,需要通过"//ip/共享目录"进行访问
    browseable = yes

    ; 共享路径写权限
    writable = yes

9、重启samba服务器

sudo service smbd restart  或者 /etc/init.d/samba restart

有的版本路径不是/etc/init.d/samba 可以尝试用

sudo /etc/init.d/samba restart
#sudo /etc/init.d/samba-ad-dc restart

10、在Windows中访问samba服务

使用ifconfig查看IP
在这里插入图片描述
然后在Windows文件管理器中输入\linux ip 便可以看到linux samba服务共享的文件夹
在这里插入图片描述

11、将共享路径映射为Windows磁盘

若经常使用的共享,可直接映射为Windows的磁盘,不用每次都输ip,但linux ip变了需要重新映射,所以建议将linux ip设为固定ip
ps:
在这里插入图片描述

我的电脑 ->右键 ->映射网络驱动器,文件夹输入框输入\linux ip\共享名,不能直接输ip,一定要加上共享名,点击完成

或者使用
在这里插入图片描述
在这里插入图片描述
接下来就可以在我的电脑里看到映射的网络磁盘了

接下来你就可以在Windows上编写代码,然后在linux下编译验证了

12、开启windows的samba客户端(若无法连接可以尝试)

Win10打开控制面板–程序–windows功能启动或关闭–打开smb客户端

在这里插入图片描述

然后重启系统让设置生效!!!

引用:
Linux samba的配置和使用
https://blog.csdn.net/weixin_40806910/article/details/81917077
ubuntu 20.04 安装配置Samba服务,Windows 和 linux协同工作
https://blog.csdn.net/mvp_Dawn/article/details/105847485
Samba 安装与配置,以及配置说明参数详解
https://www.jianshu.com/p/f7fb4ad09c11
virtual box中配置samba共享方法
https://blog.csdn.net/refine19/article/details/6911695
windows下访问SMB服务器(非匿名)
https://developer.aliyun.com/article/535717
Samba服务(匿名用户访问、本地用户访问、虚拟用户访问)
https://blog.51cto.com/u_10316297/2118395

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐