博主这边文章主要是讲解一下 Linux共享文件夹搭建,利用samba服务协议。

博主之前介绍过利用NFS服务来搭建共享文件夹,这次来讲讲利用samba搭建共享文件夹的方法。

目录

  • 1、samba服务以及与NFS服务器的区别
  • 2、samba安装及权限设置
  • 3、windows 访问共享文件夹
  • 4、需要增加用户。

1、samba服务以及与NFS服务器的区别

samba是Linux上面的一个免费软件,适用于文件和打印共享,在Linux与windows之间(更多)和Linux与Linux之间都适用。
samba运行的有两个服务,一个是smb,另一个是nmb。

smb是samba的核心服务,负责建立Linux smaba服务器和客户端访问的对话,验证客户端访问的身份以及访问文件及文件夹的权限,监听的是139端口和445端口,这也是黑客经常利用来病毒入侵的端口。
nmb负责将linuxsmba服务器的名称和IP做转换,如果该服务不启动,则只能通过域名进行访问。

NFS为网络文件系统,依靠TCP传输协议的文件系统,Sun(太阳)公司制定发布的,将远程文件夹挂载,像在本地使用一样。
NFS通过域名进行访问,走的是2049端口,可能还要占用额外的端口,专门为Linux/unix用户之间访问。

FTP进行文件传输,走的是21端口,也可以用于文件共享。(后续增加介绍)

2、samba安装及权限设置

Ubantu下安装示例:sudo apt-get install samba

sudo apt-get install samba

如果要测试samba服务,还需要安装一个samba客户端:sudo apt-get install smbclient

sudo apt-get install smbclient

之后需要配置共享文件夹及访问权限,首先创建一个新文件夹作为共享文件夹,该文件夹的权限很重要,sudo mkdir sharefile

sudo mkdir sharefile

接下来对samba进行配置,vim或者gedit都可以打开设置,或者直接通过mobaxterm,可以直接打开文件夹。
文件路径在 /etc/samba/smb.conf

[share]
comment=this is Linux share directory    #说明
path=/home/oem/sharefile   ## 共享文件夹路径
available = yes    ## 是否公开目录
browseable = yes   ## 是否可浏览,
public = yes    ##所有人可见
writable = no   ##是否有写权限,例如创建文件夹,修改文件等

之后可以测试参数设置是否正确,testparm,出现file OK则正确参数OK。

pi@raspberrypi:~ $ testparmLoad smb config files from /etc/samba/smb.conf
Loaded services file OK.
WARNING: The 'netbios name' is too long (max. 15 chars).Server role: ROLE_STANDALONEPress enter to see a dump of your service definitions# Global parameters
[global]log file = /var/log/samba/log.%mlogging = filemap to guest = Bad Usermax log size = 1000obey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %userver role = standalone serverserver string = %h server (Samba, Ubuntu)unix password sync = Yesusershare allow guests = Yesidmap config * : backend = tdb[printers]browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes[print$]comment = Printer Driverspath = /var/lib/samba/printers[share]comment = this is Linux share directoryguest ok = Yespath = /home/oem/sharefile

如果参数错误,会进行提示。

oem@oem-System-Product-Name:~$ testparm
Load smb config files from /etc/samba/smb.conf
set_variable_helper(132): value is not boolean!
Error loading services.

设置成功之后,则可以进行启动smb服务,sudo systemctl start smbd,
之后可查看启动状态,systemctl status smbd,如果为Active: active (running) ,则启动成功。


oem@oem-System-Product-Name:~$ systemctl status smbd
● smbd.service - Samba SMB DaemonLoaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2021-08-29 20:27:03 CST; 5min agoDocs: man:smbd(8)man:samba(7)man:smb.conf(5)Process: 4916 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)Main PID: 4925 (smbd)Status: "smbd: ready to serve connections..."Tasks: 5 (limit: 18904)Memory: 7.7MCGroup: /system.slice/smbd.service├─4925 /usr/sbin/smbd --foreground --no-process-group├─4927 /usr/sbin/smbd --foreground --no-process-group├─4928 /usr/sbin/smbd --foreground --no-process-group├─4929 /usr/sbin/smbd --foreground --no-process-group└─4933 /usr/sbin/smbd --foreground --no-process-group8月 29 20:27:03 oem-System-Product-Name systemd[1]: Starting Samba SMB Daemon...
8月 29 20:27:03 oem-System-Product-Name systemd[1]: Started Samba SMB Daemon.

3、windows 访问共享文件夹

打开运行,win+R,然后输入域名,\192.168.137.85,之后回车,就可以看到共享文件。

这里注意创建的文件夹,需要设置权限,sudo chmod o+rwx sharefile 则可以对共享文件夹进行访问和读取目录。

sudo chmod o+rx sharefile

因为之前配置里面设置共享文件夹没有写权限,所以,即使设置目录权限中存在写权限,也无法写。

将之前的配置改成可写,则可以创建新文件夹和写。

writable = yes ##是否有写权限,例如创建文件夹,修改文件等

如果此时修改sharefile目录的权限为可读不可写可执行,则也无法创建文件,sudo chmod o-w sharefile

sudo chmod o-w sharefile

4、需要增加用户。

  • smaba增加用户的原则必须是linux的用户,才可以增加samba的用户。即每创建一个Linux账户,则才可以添加一个samba用户。

首先创建Linux用户,自动需要填入密码。

sudo useradd zgq    #zgq 为用户名

然后samba增加用户,接着再输入密码。

smbpasswd -a zgq

然后就是在配置文件中增加有效用户,valid users = zgq。

[sharefile]
comment=this is Linux share directory
path=/home/oem/sharefile_zgq
available = yes
browseable = yes
public = no
writable = yes
guest ok = yes
valid users = zgq
# write list = root

最后在windows上面访问,则需要输入用户信息,输入正确则可进行文件夹。

之后windows上面有凭据,就不用重复输入。

《Linux共享文件夹搭建===samba》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. inet_pton和inet_ntop函数
  2. 传统KTV向互联网+量贩式低头,KTV也需O2O
  3. Linux 命令之 dpkg --Debian 的一个底层包管理工具
  4. 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
  5. HTTPS客户端的java实现
  6. iOS多线程之5.GCD的基本使用
  7. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_17-CMS前端工程创建-单页面应用介绍...
  8. 刷算法题必备的基础数论知识
  9. VS2022安装教程和使用说明来了
  10. Ubuntu18.04 替换vscode字体
  11. 骚操作 Python爬你要的网站数据
  12. C/C++二维数组指针(指向二维数组的指针)详解
  13. hadoop集群:关于Could not obtain block:报错问题
  14. 首先,打破一切常规 学习笔记 之二
  15. 3D建模师会因为年龄大而失业吗?30岁了还能学习游戏建模吗?
  16. 竞价推广(SEM)是什么
  17. 黑苹果13.0.1驱动RTL 8125B 2.5G网卡失败故障排查
  18. 判断字符是否为字母或者数字
  19. ResRep Lossless CNN Pruning via Decoupling Remembering and Forgetting 论文学习
  20. windows操作系统常见持久性后门

热门文章

  1. 浅谈社交类APP的设计思路
  2. Unity入门之U2D——FlappyBird游戏制作
  3. MFC 串口编程实例
  4. 一起网PHP编码规范(征求意见稿)
  5. Ubuntu 16.04 安装 IDEA
  6. 教你如何在树莓派上使用usb摄像头!!!
  7. 小天才z7和z8区别 哪个好
  8. bob战队 rust_Rust战队系统
  9. 人脸识别除了可以破案,还能制造冤案...
  10. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第十一章 攻击性取证