《Linux共享文件夹搭建===samba》

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

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

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:~ $ testparm

Load 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_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        log file = /var/log/samba/log.%m
        logging = file
        map to guest = Bad User
        max log size = 1000
        obey pam restrictions = Yes
        pam password change = Yes
        panic action = /usr/share/samba/panic-action %d
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        server role = standalone server
        server string = %h server (Samba, Ubuntu)
        unix password sync = Yes
        usershare allow guests = Yes
        idmap config * : backend = tdb


[printers]
        browseable = No
        comment = All Printers
        create mask = 0700
        path = /var/spool/samba
        printable = Yes


[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers


[share]
        comment = this is Linux share directory
        guest ok = Yes
        path = /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 Daemon
     Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-29 20:27:03 CST; 5min ago
       Docs: 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.7M
     CGroup: /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-group

829 20:27:03 oem-System-Product-Name systemd[1]: Starting Samba SMB Daemon...
829 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上面有凭据,就不用重复输入。
在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张一西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值