【问题标题】:How to Block USB storage devices in MAC OS c/c++如何在 MAC OS c/c++ 中阻止 USB 存储设备
【发布时间】:2020-02-12 07:02:05
【问题描述】:

我想限制对 USB 存储设备的访问。只是阻止或授予所有人只读访问权限。

只有调用进程才能访问该设备,其他人没有。

对于 Windows,我使用 CreateFile() 和 DeviceIoControl() 来锁定卷。

对于 Unix:为了只读,我可以使用 diskUtil我希望通过程序来实现。

我不想使用任何类型的注册表。

那么在 c/c++ 中有什么想法/解决方案吗?

平台:MAC OS。

谢谢。

【问题讨论】:

    标签: c++ c unix locking usb


    【解决方案1】:

    您可以使用chmod() 更改设备或/和挂载点(-s) 的权限。您甚至不需要程序 - 可以通过 udev 规则来实现。但是,我怀疑您是否可以阻止 root 或 sudo 用户覆盖权限和访问设备。

    限制访问 USB 存储设备的原因是什么?

    【讨论】:

    • 如何使用udev禁用USB设备在blog.sleeplessbeastie.eu/2018/06/25/how-to-disable-usb-device(udev规则文件中的ATTR{authorized}="0",本例中为/etc/udev/rules.d/01-disable-samsung.rules
    • @PooSH MAC OS 不支持 FAT32 或 NTFS 上的文件权限。所以我尝试了 chmod 但没有成功。只读我可以使用 diskUtility 但我需要它的程序。
    • @ralfhtp 我们可以这样做,但 root 用户可以修改此规则。我只希望调用进程可以访问 USB 设备,没有其他任何人。
    • root 用户是 Unix 中的上帝。您不能限制 root 的权限。如果您不希望用户做某事 - 不要给他们 root 访问权限。
    • @PooSH 我知道,但我是在 Windows 中通过 音量锁定 做到的,这样即使管理员系统也没有人可以访问。对于端点保护,只有当前进程可以访问 否另一个。或 我想要等效代码链接代码:stackoverflow.com/questions/60146126/…
    猜你喜欢
    • 1970-01-01
    • 2013-12-02
    • 2013-12-22
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    相关资源
    最近更新 更多