当前位置:   article > 正文

《Linux共享文件夹搭建===samba》_warning: the 'netbios name' is too long (max. 15 c

warning: the 'netbios name' is too long (max. 15 chars).

博主这边文章主要是讲解一下 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
  • 1

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

sudo apt-get install smbclient
  • 1

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

sudo mkdir sharefile
  • 1

接下来对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   ##是否有写权限,例如创建文件夹,修改文件等
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

之后可以测试参数设置是否正确,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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

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

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.
  • 1
  • 2
  • 3
  • 4

设置成功之后,则可以进行启动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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

3、windows 访问共享文件夹

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

在这里插入图片描述

在这里插入图片描述

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

sudo chmod o+rx sharefile
  • 1

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

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

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

在这里插入图片描述

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

sudo chmod o-w sharefile
  • 1

4、需要增加用户。

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

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

sudo useradd zgq    #zgq 为用户名
  • 1

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

smbpasswd -a zgq
  • 1

然后就是在配置文件中增加有效用户,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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

最后在windows上面访问,则需要输入用户信息,输入正确则可进行文件夹。
在这里插入图片描述
之后windows上面有凭据,就不用重复输入。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/182458
推荐阅读
相关标签
  

闽ICP备14008679号