天天看点

Linux如何挂载SMB共享为本地硬盘?

作者:亿佰特物联网应用

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

「特别提醒」

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

「开前准备」

操作系统:Debian 12

「安装与部署」

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

「安装cifs-utils」

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

Linux如何挂载SMB共享为本地硬盘?

安装一些常用的工具:

Linux如何挂载SMB共享为本地硬盘?

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

Linux如何挂载SMB共享为本地硬盘?

「创建/设置SMB挂载」

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

Linux如何挂载SMB共享为本地硬盘?

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

Linux如何挂载SMB共享为本地硬盘?

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

Linux如何挂载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访问这台服务器。

Linux如何挂载SMB共享为本地硬盘?

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

Linux如何挂载SMB共享为本地硬盘?

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

Linux如何挂载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" 目录,并且每次启动系统时都会自动挂载。

注:参考资料来源于网络