type
date
slug
summary
status
tags
category
password
Last edited time
Dec 17, 2023 05:24 AM
icon

服务器配置

CPU架构
规格
OS镜像
系统盘
鲲鹏计算
鲲鹏通用计算增强型:kc1.large.2:2vCPUs:4GB
openEuler 20.03 64bit with ARM(40GB)
通用型SSD:40GB

基本步骤

💡
尝试中发现,后续进行编译安装时,须使用root用户权限,因此建议一开始就在root用户的工作目录下进行
📌
思路
  • 因为作业要求是封装挂载过程开放给用户,那么用户的挂载点应当在自己的工作目录下,而不需要统一放在/mnt这样的系统根目录;
  • 因此,只需封装出一个具有sudo权限的脚本,使得所有用户都具有不可读写、只可执行且无需密码的权限,
    • 1. 创建本地挂载点 2. 更新secrets文件 3. 配置执行挂载命令
      之后将该脚本通过visudo命令为所有用户设置无密码执行的权限,之后通过C语言代码执行。
  • sh脚本和其调用的C语言程序都含有sudo命令,在配置visudo后依旧存在权限问题。
    • 无论是C程序的编译文件还是shell脚本,在执行时都须加上sudo

环境安装与配置

以下步骤均以root用户进行

(1)安装neon

  • 安装相关依赖libxml2:
    • ⚠️
      报错`Error: GPG check FAILED`,表示GPG检查不通过,在命令后添加`--nogpgcheck`规避检查
      安装完之后查找xml2-config文件是否存在,有路径名代表安装成功。
  • 安装neon

    (2)安装davfs2

    • 下载安装包
      • 解压缩并安装
        • 这个步骤卡我好久,就是要在configure的时候指定参数-fPIC
      • 测试安装
        • 📌
          davfs2的路径为/usr/local/etc/davfs2;(该信息是文档看到的,文档在/root/davfs_install/share/doc
      • 配置davfs2模块,编辑/usr/local/etc/davfs2/davfs2.conf文件,添加或更改以下行:

        (3)测试网盘挂载

        • 创建davfs2用户
          • 编辑`/usr/local/etc/davfs2/secrets`文件,添加webdav访问的凭证,格式如下:
            • 之后更改设置权限,确保只有root权限才可访问:
          • 网盘挂载和卸载

            网盘挂载

            • 创建davfs2用户
              • 编辑/usr/local/etc/davfs2/secrets文件,添加webdav访问的凭证,格式如下:之后更改设置权限,确保只有root权限才可访问:
                • 网盘和卸载

                  为了写作业搓的程序

                   

                  测试程序

                  在测试时,为模拟用户使用的真实场景,我们将编译后的可执行文件mountWebdav移动到了/usr/local/sbin/文件夹下。
                  • 执行visudo命令,修改sudoers文件,添加下行:使得davfs2用户能够无密码执行该文件
                    • 切换到davfs2用户,尝试网盘挂载和卸载:
                      • 注意,运行时开头须加上sudo
                        运行截图如下:
                        notion image
                    CSAPP|Attack Lab小站开张啦~~
                    • Twikoo
                    • Giscus
                    Antony_Zhang
                    Antony_Zhang
                    理想与泥土 Blood in mud
                    公告
                    type
                    date
                    slug
                    summary
                    status
                    tags
                    category
                    password
                    Last edited time
                    Oct 20, 2024 10:22 AM
                    icon
                    添加评论功能!
                    其中Giscus需要Github登录,Twikoo需要用户名和邮箱
                    🧎
                    小站破破烂烂 劳烦客人们常用善用 “刷新键”