C++、linux:如何限制函数对文件系统的访问?

2023-12-09

我们的应用程序是由 SU 或普通用户运行的。我们有一个与我们的项目连接的库。在该库中有一个我们要调用的函数。我们有一个文件夹叫notRestricted在我们运行应用程序的目录中。我们创建了一个新线程。我们想要限制线程对文件系统的访问。我们想要做的很简单 - 调用该函数但限制其访问权限仅写入该文件夹(我们更愿意让它从应用程序可以读取的任何位置读取)。

Update:所以我发现除了一个文件夹之外,没有办法只禁用所有 FS 中的一个线程......

我读了你的建议,亲爱的 SO 用户,并发布了一些内容类似于这里的这个问题所以在那里给了我们一个链接sandbox with 不错的 API,但我真的不知道它是否可以在GentOS之外的任何东西上工作(但无论如何,这样的脚本在使用的情况下看起来非常有趣Boost.Process 命令行运行它,然后运行所需的前线程(已迁移到单独的应用程序=))。


实际上没有任何方法可以阻止thread,因为它与您位于同一进程空间中,除了诸如函数挂钩之类的黑客方法来检测任何类型的文件系统访问。

也许您可能想重新考虑如何实现应用程序 - 让本机不受信任的代码作为 su 运行并不是一个好主意。也许使用另一个进程并通过它进行通信。 RPC,或使用可以在运行时检查的解释语言。

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

C++、linux:如何限制函数对文件系统的访问? 的相关文章

  • gets 和 scanf 有什么区别?

    如果代码是 scanf s n message vs gets message 有什么区别 似乎两者都获取消息的输入 基本区别 参考您的特定场景 scanf 遇到一个时结束接受输入whitespace newline or EOF gets
  • OWIN AuthenticationOptions 在 mvc5 应用程序中运行时更新

    Hi 情况如下 我在 iis 7 上有一个带有 Identity 2 的 MVC 5 应用程序 该应用程序为多个网站提供服务 主机名是某些网站的关键 网站 另一个网站 等等 我决定在我的所有网站上使用谷歌外部登录 每个网站都应该是带有个人
  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R
  • 如何将 CroppedBitmap 转换为 BitmapImage

    我正在尝试将 CroppedBitmap 转换为 BitmapImage 编辑 不使用内存流 我尝试过直接转换它 似乎这不是一个选择 这应该没那么难 我正在尝试剪切 BitmapImage 的一部分 并创建一个仅包含新裁剪的 Bitmap
  • 用 C# 中的字典中的值替换字符串中的单词

    我有一个简单的dictionary像这样 var fruitDictionary new Dictionary
  • ASP.NET 中的 thread.sleep

    我正在为我的网站模拟彗星实时馈送协议 因此在我的控制器中我添加 while nothing new before timeout Thread Sleep 1000 但我注意到添加此功能后整个网站变慢了 调试后我得出结论 当我打电话时Thr
  • 在管道中使用“tee”时,如何将标准错误写入文件?

    我知道如何使用tee写入输出 标准输出 https en wikipedia org wiki Standard streams Standard output 28stdout 29 of aaa sh to bbb out 同时仍然在终
  • 如何在 WCF 中反序列化自定义 SOAP 标头?

    我正在尝试向通过 WCF 的所有 SOAP 请求添加自定义标头 我发现这篇精彩的文章 http blogs msdn com b mohamedg archive 2012 10 21 adding custom soap headers
  • 如何检查 Linux 控制台屏幕保护程序是否黑屏

    有没有办法以编程方式 通过 ioctl 等 或通过读取 sys proc 或 dev 中的文件 检查屏幕是否已被 Linux 控制台屏幕保护程序清空 谢谢并致以最诚挚的问候 G nter 好的 检查了 相关代码部分是 include
  • Subsonic 3 ActiveRecord 嵌套选择导致 NotIn 错误?

    我有以下 Subsonic 3 0 查询 其中包含嵌套的 NotIn 查询 public List
  • 合并大文件的最佳方法是什么?

    我必须合并数千个大文件 每个大约 200MB 我想知道合并这些文件的最佳方法是什么 行将有条件地复制到合并文件中 可以使用 File AppendAllLines 或使用 Stream CopyTo 吗 使用 File AppendAllL
  • SwingWorker 和 Executor 的区别

    我正在使用 SwingWorker 在我正在制作的应用程序上执行一些重负载任务 虽然今天我遇到了 Executor 类和这个例子 Executors newCachedThreadPool execute new Runnable publ
  • 是否可以在 Eclipse 中为除 Java 之外的 Eclipse 编写插件?

    谁能帮我用c 写一个eclipse插件 weekens 和 celavek 感谢您提供的信息 我正在研究 JNI 并将尝试实现它 celavek 我们必须做什么样的主控 控制 在C 和java接口中处理是否风险更大 我的要求是在 Java
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • 更快的 WinSock sendto()

    我使用的是 Windows Server 2008 我的程序是用 C 编写的 我在 while true 循环中使用 WinSock2 和 sendto 来发送数据包 代码如下 while true if c snd gt max c sn
  • 64 位随机生成器种子

    我目前正在运行一个具有 8 个以上管道 线程 的多线程模拟应用程序 这些管道运行非常复杂的代码 该代码取决于种子生成的随机序列 然后该序列被归结为单个 0 1 我希望在将种子从主线程传递到处理管道后 这种 随机处理 具有 100 的确定性
  • 预览MouseMove 与 MouseMove

    我有相当多的 XAML 经验 但最近我注意到我的大多数同事都使用预览鼠标移动代替鼠标移动事件 我一直用鼠标移动它对我很有帮助 但我忍不住问我什么时候应该使用预览鼠标移动什么时候鼠标移动 有什么区别 各自有什么优点和缺点等等 PreviewM
  • 如何从与 C# lambda 集成(而非代理集成)的 Amazon API 网关获取正确的 http 状态代码?

    我正在使用 C lambda 与 API 网关集成 我希望 API 网关返回正确的错误代码 例如 400 404 500 等 API网关模块tf文件 provider aws version lt 2 70 0 region var aws
  • Unity 错误“内部构建系统错误。后端退出,代码为 -1073740791。”摧毁/杀死了我的项目

    好吧 我可能在这里夸大了 但这是真的 当我开始打开它时 该项目由于错误 内部构建系统错误 后端退出 代码为 1073740791 而被破坏 应用程序 这个项目已经在Google Play上发布了 也许和设置有关 有人可以帮忙吗 完整错误 I
  • Json.net 将数字属性序列化为字符串

    我正在使用 JsonConvert SerializeObject 序列化模型对象 服务器期望所有字段都是字符串 我的模型对象具有数字属性和字符串属性 我无法向模型对象添加属性 有没有办法将所有属性值序列化为字符串 我必须只支持序列化 而不

随机推荐

  • 如何将标记头放置在链接中间

    我想在链接中间放置一个标记 而不是像我的代码那样将其放置在末尾 尽管我用谷歌搜索了它 但我无法找到我的代码的解决方案
  • 为什么我需要 Econo JIT?

    我研究了 Econo JIT 并没有针对编译 IL 的环境进行优化 这与 Normal JIT 不同 此外 它不会为下次执行创建机器代码缓存 这意味着 每次PE运行时 JIT都会再次将IL编译成机器指令 我很困惑为什么 One 会选择在 E
  • 过滤 os.walk() 目录和文件

    我正在寻找一种方法来包含 排除文件模式并从os walk call 这就是我现在正在做的事情 import fnmatch import os includes doc odt excludes home paulo freitas Doc
  • wscript 和 cscript 之间的区别

    cscript 和 wscript 有什么区别 哪个最适合在 Windows 中进行 Telnet 和 FTP 自动化 在 Windows 中 可执行文件可以是控制台应用程序 也可以是 Windows 应用程序 或者是 SFU 或本机应用程
  • 如何在 DataGridView 列中显示 MM/dd/yyyy(无时间)?

    我需要有关 DataGridView 列日期格式的帮助 我希望日期为 MM dd yyyy 我不需要时间 如何以编程方式完成此操作 我已经尝试过这段代码 但它不起作用gridView Columns 1 DefaultCellStyle F
  • 如何将C库编译成.Net dll?

    我们是否可以通过编译包含以下代码的 cpp 项目来将 C 库编译为 Net dll 包含并开放对所有 C 库函数的访问 extern C include
  • Python,“open”和“with open”之间的区别[重复]

    这个问题在这里已经有答案了 我没有使用过with声明 但我对其目的有些熟悉 通过以下代码 1块按预期工作 但是 2 在这里纠正我 应该做与第一个相同的事情 抛出以下异常FileExistsError Errno 17 File exists
  • Swift 中 registerclass 的使用不明确

    我收到错误 ambiguous use of registerclass 当做 tableView RegisterClass cellClass CustomTableViewCell self forCellReuseIdentifie
  • 如何在单个子图中绘制多个信号

    我想将一个或多个信号绘制到一张图中 对于每个信号 可以指定单独的颜色 线宽和线型 如果必须绘制多个信号 还应提供图例 到目前为止 我使用以下代码 它允许我绘制最多三个信号 import matplotlib fig matplotlib f
  • 检查对象列表中的对象类型

    获得一个带有 StackPanel 的 WPF 表单 其中包含带有 StackPanel 的扩展器
  • kafka.cluster.BrokerEndPoint 无法转换为 kafka.cluster.Broker

    我正在尝试将数据从 kafka 流式传输到 Spark 我正在使用 Spark 1 6 2 与 kafka 0 9 0 1 和 scala 2 11 8 当我使用基于接收器的方法时 一切正常 KafkaUtils createStream
  • 在 Linux/MacOS 上双击执行 C++ 可执行文件

    我编写了一个 C 软件 该软件需要从其所在的文件夹中读取文件 然后在同一文件夹中写入其他文件 目前 我通过 shell 导航到复制了可执行文件的文件夹 然后使用以下命令启动它 executable name 我想通过双击来执行它 如果我这样
  • MongoDB+Azure+Android:错误:com.mongodb.MongoException:未与 master 通信且重试已用完

    背景 我有 MongoDB 副本集在 Azure 云服务工作者 Web 角色中运行 使用mongo azure 库 我第一次设置 Android 项目连接到 MongoDB Azure 时 IO 读取和写入 工作正常 然后 由于硬编码测试
  • 如何将数据从 SQL Server 2005 导出到 MySQL [关闭]

    Closed 这个问题是无关 目前不接受答案 我一直在用头撞SQL Server 2005试图获取大量数据 我得到了一个包含近 300 个表的数据库 我需要将其转换为 MySQL 数据库 我的第一个调用是使用 bcp 但不幸的是它不会生成有
  • 使用 Python 捕获单帧(使用网络摄像头)

    我检查了其他解决方案 但他们没有回答我的问题 我的问题是 每当我尝试从视频中仅捕获一帧 我基本上想用网络摄像头拍照 时 我只会看到一个黑色的窗口 Code import cv2 cam cv2 VideoCapture 0 frame ca
  • Nginx proxy_pass 仅部分有效

    我有以下设置 主服务器 调用它https master com 从属服务器 调用它https slave com 两者都在 Ubuntu 16 04 上运行 Nginx 在主服务器上 我在我的目录中创建了以下配置块 etc nginx si
  • Spring Data MongoDB - 聚合框架 - 组操作中的引用无效

    我使用 Spring Data 1 3 0 RC1 来访问我们的 MongoDB 对于一些新查询 我想使用聚合框架 在 mongo shell 中 命令为 db spotreports aggregate unwind pd group i
  • 如何等待在 React-Redux 中设置接收到的同步数组的所有属性?

    我无法使用 map 函数进行渲染 因为即使我从数组中获取数据 数组的长度始终为 0 有没有办法设置异步数组正确加载之前的时间间隔 这是我的代码 function ShortcutComponent usershortcuts console
  • 使用 ID 数组对骨干集合进行过滤和排序

    我对 Backbone 还很陌生 所以我遇到了一些我不太明白的问题 我有一个 Backbone 系列 其中包含 100 多个项目 我想用 ids 数组来过滤它们 这工作正常 但我希望项目的顺序也基于该数组的项目顺序 那是行不通的 其他排序方
  • C++、linux:如何限制函数对文件系统的访问?

    我们的应用程序是由 SU 或普通用户运行的 我们有一个与我们的项目连接的库 在该库中有一个我们要调用的函数 我们有一个文件夹叫notRestricted在我们运行应用程序的目录中 我们创建了一个新线程 我们想要限制线程对文件系统的访问 我们