使用 c 访问 /Private/etc

2024-03-18

这可能是一个简单的问题,但如何在 c 控制台应用程序中向用户“请求”系统/根权限。我需要写信给/Private/etc,但我不能。这是针对 mac/unix 的。

我已经看到它被用在其他控制台命令中,例如当您运行以下命令:“sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder”时,终端会要求您输入密码。我该怎么做呢?

谢谢,JNK


没有任何系统调用可以让进程获得 root 权限。你可能会期待seteuid以这种方式工作,但它只能由具有 root 进程的进程使用(非特权进程只能将 euid 设置为等于 uid)。

sudo很特殊,因为它的可执行文件具有 setuid 权限。这意味着当sudo运行时,它以拥有它的用户(root)身份运行,而不是以执行它的用户身份运行。sudo可以通过检查密码和读取配置文件来验证您是否具有 root 访问权限。如果检查成功,则调用fork and execve执行您请求的命令。

要在非特权应用程序中获得 root 权限,您必须克服一些困难。您可以使用fork/execve打电话sudo为了你自己的命令。经过身份验证后,您将拥有一个特权子进程。您可以传递特殊参数或环境变量,以便子进程可以跳转到旨在获得特权的代码。父进程只会等待子进程完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 c 访问 /Private/etc 的相关文章

  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 监视目录的更改

    很像一个类似的问题 https stackoverflow com questions 112276 directory modification monitoring 我正在尝试监视 Linux 机器上的目录以添加新文件 并希望在这些新文
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp
  • 将 char 绑定到枚举类型

    我有一段与此非常相似的代码 class someclass public enum Section START MID END vector section Full void ex for int i 0 i section

随机推荐

  • 有没有办法在 keycloak SAML 断言中过滤/避免重复的属性名称?

    我正在尝试使用 nextcloud 13 0 4 和 keycloak 4 0 0 Final 设置 SSO 作为 SSO SAML IDP 和用户管理解决方案 如所述使用 SAML Keycloak 和 Nextcloud 的 SSO h
  • Javascript 在点击时显示元素

    我正在尝试在不使用 Jquery 的情况下执行此操作 我想在单击触发器时显示一个 div 到目前为止 我已经用它来隐藏元素了 document getElementById element style display none HTML d
  • 在php中增加不初始化数组值[重复]

    这个问题在这里已经有答案了 海伊 我有一个 foreach 循环 将数组键添加到另一个数组 我想知道增加 使用 和取消初始化元素是否安全 目前我的代码是 foreach SociBdP as id gt socio if isset pro
  • 使用 sed 和 mv 命令取消隐藏 unix 中的隐藏文件

    我想知道你是否可以帮助我修复 bash 脚本 该脚本应该取消隐藏目录中的所有隐藏文件 哪里有问题 param for file in param do mv file echo file sed s 1 done exit This for
  • 在由数字组成的字符串中查找未知的重复模式

    我已经为此苦苦挣扎了一个星期 我有一个像这样的字符串 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 我需要找到什么 1 1 0 示例2 1 1 2 0 2 2 1 0 1 1 2 0 2
  • CodeIgniter flashdata 重定向后不工作

    我已经这样设置闪存数据 this gt session gt set flashdata dispMessage my message is here 我在会话库中找到该消息 但未显示在重定向页面中 我使用的是 codeigniter 版本
  • 将位图图像保存到 SD 卡 - API 1.5 中存在问题?

    知道为什么这不适用于运行 Android API 1 5 的 HTC Hero 吗 private static void Save to SD Bitmap bm String image name String extStorageDi
  • SQLExecDirect 中的游标状态无效,SQL 状态 24000

    我需要在 PHP 中通过 ODBC 依次调用两个存储过程 run stored procedure 1 query Shipped Not Shipped Rep GET rep id result odbc exec dbh query
  • 在自定义类型上使用集合初始值设定项语法?

    我有一个很大的静态列表 它基本上是一个查找表 所以我在代码中初始化该表 private class MyClass private class LookupItem public int Param1 get set public int
  • 垂直 xtick 标签位于顶部,而不是底部

    我想使用 Pylab 绘制混淆矩阵 沿水平轴的类标签很长 所以我想将它们垂直旋转绘制 但是 我也想将它们绘制在轴的顶部 而不是下面 此命令可以在底部绘制垂直标签 pylab imshow confusion matrix pylab xti
  • 访问脚本主模块内定义的python类变量

    我有一个 Django 项目 它使用 celery 进行异步任务处理 我正在使用Python 2 7 我在模块中有一个类client py在我的 Django 项目中 client py class Client def init self
  • 显示Java 8流处理的进度

    我有一个Stream处理数百万个元素 其背后的Map Reduce算法需要几毫秒 因此任务完成大约需要二十分钟 Stream
  • python tkinter如何将按键绑定到按钮

    编程新手 尤其是 python 和 tKinter 如何创建一种将键 s 绑定到按钮或功能的方法sharpen 任何帮助都是极好的 from Tkinter import from PIL import Image ImageTk Imag
  • VHDL 中的 NULL 语句

    其实际目的是什么nullVHDL 中的声明 考虑以下代码 1 CASE s IS BEGIN WHEN 0 gt y lt 0 WHEN 1 gt NULL END CASE 2 CASE s IS BEGIN WHEN 0 gt y lt
  • 如何在 asp.net mvc 中通过自定义 jQuery 验证复选框列表

    我有一个复选框列表 我想在客户端使用 jQuery 进行验证 但失败了 我已经在我的项目中添加了 unobtrusive 和 jquery 验证插件 型号代码为 Required public string name get set Ski
  • 不使用 matlab 提取 .mat 数据 - 尝试 scilab 失败

    我已经下载了一个我感兴趣的数据集 但是 它是 mat 格式 并且我无法访问 Matlab 我用谷歌搜索了一下 它说我可以在 SciLab 中打开它 我尝试了一些东西 但我还没有找到任何关于这方面的好的教程 I did fd matfile
  • Socket.EndRead 0字节表示断开连接?

    我想知道在 C 中的异步套接字中 在 EndRead 调用中接收到 0 字节是否意味着服务器实际上已与我们断开连接 我看到的许多例子表明情况确实如此 但我收到的断开连接比我预期的要频繁得多 这段代码正确吗 或者 endResult priv
  • 使用 DDD 方法在 Python 中保留 POJO

    我正在尝试使用 DDD 模式创建 Flask 应用程序 DDD 的核心原则之一是将领域与持久性 基础设施 分离 我已在模块中定义了域模型 并将在基础设施模块中创建存储库 但是 我似乎找不到任何关于如何在 Python 中持久保存 POJO
  • 如何从 MongoDB 获取数据?

    我正在尝试使用 Express MongoDB 构建 React 应用程序 我能够将一些文档发布到 MongoDB 目前 我正在尝试弄清楚如何将获取的数据打印到屏幕上 我有这些路线 router post totalbalance requ
  • 使用 c 访问 /Private/etc

    这可能是一个简单的问题 但如何在 c 控制台应用程序中向用户 请求 系统 根权限 我需要写信给 Private etc 但我不能 这是针对 mac unix 的 我已经看到它被用在其他控制台命令中 例如当您运行以下命令 sudo Syste