首页 > 解决方案 > 如何在没有 root 的情况下加载内核模块?

问题描述

我正在制作一个需要内核模块的程序。我使用以下代码加载此模块:

cmd := exec.Command("sudo", "-S", "modprobe", "v4l2loopback")
cmd.Stderr = os.Stderr
cmd.Stdin = os.Stdin
err := cmd.Run()
if err != nil {
    log.Fatal("Error starting v4l2loopback: ", err.Error())
}

这可行,但它需要用户输入他们的密码,这意味着程序必须在终端中启动。我认为有一种方法可以在v4l2loopback没有 root 密码的情况下加载这个模块,因为这个程序可以做到,但它附带了自己的版本,v4l2loopback并且是用 C 编写的。有没有一种方法可以方便地做到这一点而无需 root 密码?

标签: linuxlinux-kernelkernelkernel-modulev4l2loopback

解决方案


推荐阅读