通过虚拟网络实现远程数据存取实践(二)

        前篇《通过虚拟网络实现远程数据存取实践》文章中,以Tailscale在服务器上的安装步骤为例,讲述如何在远端服务器上进行虚拟局域网的搭建,初步实践虚拟局域网的架构实现。在此基础上,虚拟局域网内的各种设备,如PC机、移动终端、服务器相互之间是可以 ping 通的,是“看得见”的,但这些设备还不具对其它设备(如服务器)进行操作(如读取、写入文件)的能力。

        在本地电脑上,我们可以在不同磁盘、目录间进行文件的读取、拷贝、删除等操作。同样,在局域网内、广域网(互联网)上,只要有足够的权限,也可以进行同样的操作。无论是在本地电脑上还是对网络上的其它电脑,这些操作功能的实现,是由操作系统内核的文件管理模块提供。

操作系统内核的主要功能‌(Windows、Linux、macOS等)

  1. 进程管理‌:内核负责创建、调度和终止进程,管理进程的状态和资源分配。进程调度决定哪个进程获得CPU时间以及它们获得多长时间。进程间通信(IPC)提供机制让不同进程之间可以相互发送消息和共享数据。

  2. 内存管理‌:内核管理系统内存的分配和回收,包括虚拟内存的管理,确保每个进程有其独立的地址空间。地址空间分配为每个进程分配独立的内存空间,虚拟内存机制允许程序使用比物理内存更多的地址空间。

  3. 设备管理‌:内核控制和管理硬件设备(如硬盘、网络接口、打印机等),通过设备驱动程序与硬件进行交互。I/O调度优化输入/输出操作的顺序和执行,提高系统效率,缓冲区管理使用缓冲技术减少磁盘和其他设备的访问次数。

  4. 文件系统管理‌:内核提供文件的创建、删除、读取和写入等操作,管理文件的存储和访问权限。文件存储与管理负责维护文件系统的目录结构,处理文件的路径解析,访问控制确保文件的安全性,实施权限检查和访问控制列表(ACL)。

  5. 网络通信‌:内核处理网络通信,管理网络协议栈,确保数据的发送和接收。网络协议栈实现TCP/IP等网络协议,套接字接口提供应用程序通过网络进行通信的标准接口。

  6. 安全管理‌:内核进行用户认证与授权,验证用户身份并控制其对系统资源的访问权限。审计日志记录系统中重要的安全相关事件。

  7. 系统调用接口‌:内核提供API,向用户空间程序提供一组标准的系统调用接口,用于访问内核服务。

  8. 中断和异常处理‌:内核响应硬件产生的中断和异常情况,进行中断服务例程处理,并在中断和异常发生时保存和恢复CPU的状态。

  9. 电源管理‌:内核优化电源使用,例如通过休眠和待机模式减少能耗。

  10. 时钟管理‌:内核维护系统时间和日期,并提供定时器服务。

        这些功能共同确保了操作系统的稳定性、安全性和高效性,为用户和应用程序提供了一个稳定可靠的运行环境。‌

        为实现远程数据的存储操作,尚需在远程服务器上进行一些必要的软件安装和设置。

        常用的向服务数据进行传输数据方式大致有以下3种:

        1、基于 FTP协议 的传输,需要在服务器上安装 ftp-Server,适合简单使用。

        2、基于 SSH协议 的传输,需要在服务器上安装相应的命令包,并适当设置权限。可用命令较多,功能够强大,使用比较复杂。

        3、基于 SMB协议 的传输,需要在服务器上安装并设置 smb-server。使用较为简单,图形桌面(Windows、Kde、Gnome、MacOS)下操作很便捷。

        本篇以第三种方式进行实践。

        SMB(Server Message Block)是一种数据传输的协议,用于在不同计算机、不同操作系统(Win/Linux/Unix/FreeBSD/MacOS/Android...)之间的文件、信息、硬件(如打印机、串口)等的共享。 客户机通过SMB协议工具软件连接服务器。一旦连接成功,客户机就能够访问共享目录,进行打开文件、读写文件、修改文件、删除文件等操作。


        以Debian系统电脑存储数据(即服务器)为例,在该电脑上具体实践步骤如下:

        1、安装smb服务,在命令行输入安装命令

       > sudo apt-get install samba

        2、在 /home目录下,新建准备分享的目录并赋予该目录读写权限

        > cd ~

        > mkdir myshare 

        > chmod 777 /home/share 

        3、为使用smb服务传输数据至服务器的远端使用者建立一个用户名及密码,myname为示范用户名。

        > smbpasswd -a myname

        New SMB password:                                         // 设置密码

        Retype new SMB password:                             // 确认密码

        Added user myname.                                        // 添加成功

         4、修改smb服务配置文件(smb.conf),该文件在smb服务启动过程中被读取,指示smb服务运行需遵守的一些约定。

        > sudo vim /etc/samba/smb.conf

        在打开的文件末尾添加以下内容

         [myname]                                                               //
        comment = this is samba home directory               //
        path = /home/myshare                                            // 需要共享的目录
        public = yes                                                            //
        writable = yes                                                         //
        guest ok = no                                                         //
        create mask = 0775                                               //
        directory mask = 0775                                           //

         5、设置smb服务为系统服务,即开机随系统其它服务自动开启,然后启动smb服务

     > sudo systemctl enable smbd.service     // 设置smb为系统服务
     > sudo systemctl start smbd.service         // 启动smb服务

         6、查看smb服务状态,系统会回显一段字符,若出现 enable、active、running 等字样,表示smb服务正在运行中

     > sudo systemctl status smbd.service


         以上操作安装设置过程完毕后,已经可以随时接收来自远端的数据存储要求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值