linux - 如何创建我自己的 "sudo"程序?

标签 linux permissions

我想创建“我自己的”sudo命令(用于我用 C++/OpenGL 编写的文件管理器/命令)。请帮助提供必要的步骤和需要考虑的事项。我知道这与suid有关有点,但到目前为止我只知道这些。

最佳答案

这都是关于文件系统标志的,您只需确保:

  1. 可执行文件确实属于root

  2. 它在文件系统中具有 suid 标志(您可以使用 chattr u+s 设置它)。

完成此操作后,即使从普通用户运行,也会以 root 权限执行。

还请注意,您可以通过调用 getuid() 来获取实际运行程序的 UID,而 geteuid() 的计算结果始终为 0。

关于linux - 如何创建我自己的 "sudo"程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211642/

相关文章:

c++ - cmake 和 boost-signals 的问题

linux - 私有(private) Docker 注册表错误

没有安装mysql的mysqlimport?

linux - gcc的线程本地存储可以跨线程共享缓存线吗?

php - Yii Controller 命名约定

c - 调用 stat 后权限覆盖

c - 如何在 C 代码中更改 linux 用户?

linux - 在 Linux 上,如何创建具有 sudo 能力的受限 shell

MongoDB Catalina 读写

API 级别 23 中删除了 Android 权限