1. 首页
  2. 服务器相关
  3. 「linux基础」linux挂载smb共享为本地硬盘

「linux基础」linux挂载smb共享为本地硬盘

  • 发布于 2024-01-05
  • 234 次阅读

「开前唠叨」

Linux服务器经常需要进行资料的下载和上传,每次都要使用scp指令,相当麻烦。为了简化操作,决定在Linux上设置SMB共享,以便通过SMB的方式管理数据。

「特别提醒」

在公网环境中使用SMB共享是相当危险的。在使用SMB之前,请确保当前环境的重要性和安全性。

「开前准备」

操作系统:Debian 12

「安装与部署」

首先需要安装SMB工具,直接使用cifs-utils协议工具包。其他用户也可以只安装SMB工具命令。为了方便起见,使用root用户进行登录操作。服务器是全新的,没有安装很多工具。如果你的环境已经准备就绪,可以直接安装cifs-utils协议工具包。

「安装cifs-utils」

首先,更新和升级系统中的软件包

apt update -y && apt upgrade -y

服务器是全新的,还没有安装很多工具。如果你已经安装了,可以跳过这部分内容。安装一些常用的工具

cleapt install sudo wget curl nano vim -y

准备就绪后,可以开始安装cifs-utils协议工具包。

sudo apt-get install samba smbclient cifs-utils -y#(Debian/Ubuntu 系统)
sudo yum install samba smbclient cifs-utils #(RHEL/CentOS 系统 系统)

「创建/设置SMB挂载」

接下来需要创建/设置一个SMB挂载的文件夹。使用命令sudo mkdir <路径/文件夹> 创建一个挂载文件夹。如果已经有文件夹,可以跳过这一步。

sudo mkdir smb #<smb>替换成自己想要创建的文件夹

然后需要设置一个smb用户和密码。使用sudo smbpasswd -a <username> 设置smb用户的密码请注意:设置前,此用户名必须事先已经存在于服务器的passwd文件中。直接设置了root用户的密码。

sudo smbpasswd -a root

接下来需要为文件夹设置适当的权限。为了方便起见,直接设置为777权限。根据实际情况进行设置。

sudo chmod 777 . #<.>为文件夹路径

「设置SMB共享」

接下来编辑Samba conf 并添加一个目录

sudo vim /etc/samba/smb.conf

在最后添加一下内容

[share]
   comment = Shared folder
   path = /root/user/smb
   browseable = no
   guest ok = no
   read only = no
   create mask = 0777
   directory mask = 0777

其中:

  • [share]是共享文件夹的名称,可以根据需要修改。

  • comment是注释,可以不修改。

  • path是共享文件夹的路径,应与第二步中创建的文件夹路径一致。

  • browseable设置为yes表示该共享文件夹可以在网络上被浏览。

  • guest ok设置为yes表示访问该共享文件夹不需要认证。

  • read only设置为no表示该共享文件夹可以被写入。

  • create mask和directory mask是文件和文件夹的权限掩码,设置为0777表示所有用户都具有最高权限。

完成后保存并退出

「重启Samba服务」

使用以下命令重启Samba服务:

sudo service smbd restart

至此,服务器的smb共享设置完成。可以使用其他设备通过smb访问这台服务器。

输入用户名和密码即可成功登录。

选择刚刚创建的文件夹,即可成功访问服务器的文件夹。

到这里我们服务器的设置就完成了。

「扩展应用」

部署SMB后,可以方便地进行远程操作,想要更多的应用,以下是在尝试后成功记录的一些有趣的应用,尚未整理,供大家参考。

首先,可以使用内网穿透,将具有公网IP的服务器与内网处于同一网络环境中。然后使用SMB让公网服务器挂载本地NAS。

挂载共享:使用命令 "sudo mount -t cifs //server/share /mnt/smb -o username=user,password=pass" 挂载共享,其中 "server" 是共享所在的服务器名称,"share" 是共享的名称,"user" 是登录共享所需的用户名,"pass" 是密码。

最后,在服务器上安装下载器,就可以实现公网服务器直接将东西下载到本地NAS中。

设置开机自动挂载:编辑 "/etc/fstab" 文件,在其中添加一行: "//server/share /mnt/smb cifs username=user,password=pass 0 0"

给权限:在username=user,password=pass后面添加,gid=id,uid=id 0 0 "//server/share /mnt/smb cifs username=user,password=pass,gid=id,uid=id 0 0"

完成以上步骤后,SMB共享将被挂载到 "/mnt/smb" 目录,并且每次启动系统时都会自动挂载。