gpt4 book ai didi

java - 有Linux服务吗

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:17 25 4
gpt4 key购买 nike

我正在用 java 为嵌入式 linux 平台编写程序。我需要的操作系统功能之一必须以 root 身份运行才能获得访问权限。我使用的平台是 BeagleBone Black,我想使用内存映射来控制 Gpio 引脚。我可以访问内存映射并且可以以非常快的速度打开和关闭引脚。问题是,我不希望我的程序必须以 super 用户身份运行,至少以这种方式实现它似乎并不正确。

Linux 中是否有一种标准技术可以以 root 身份运行并让用户程序调用它?

我知道肯定有,只是不知道是什么。任何帮助将不胜感激。

最佳答案

您要做的是放弃权限。这允许进程以 root 身份启动,打开资源,然后更改为不同的非特权用户,而不是让任何进程在持续时间内以 root 身份运行。您仍然需要以 root 身份启动该程序,这可以使用 setuid 脚本来完成,这样您就不需要用户已经是 root 用户就可以运行它。 (这是通过其他程序完成的,例如 sudo。)

您可以以 root 身份打开文件,然后将程序的 uid 更改为非特权用户(大概是启动程序的用户)。看看this answer查看如何使用 JNI 在 Java 中删除权限,以及 this answer了解有关一般情况下删除特权的可靠方法的更多信息。

关于java - 有Linux服务吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com