【问题标题】:Get SCSI hard drive serial on Linux from a C++ program从 C++ 程序获取 Linux 上的 SCSI 硬盘驱动器串行
【发布时间】:2011-06-26 12:10:08
【问题描述】:

我想从没有 root 权限的 C++ 程序中检索 Linux (Ubuntu) 上的 SCSI 硬盘驱动器串行。我试过 ioctl(fd, HDIO_GET_IDENTITY, &id) 但它似乎只适用于 ATA 设备。有人有 SCSI HDD 的解决方案吗?我正在寻找的解决方案不应该要求用户拥有 root 权限。任何源代码将不胜感激

【问题讨论】:

  • 你需要得到 root 的许可,原因与here 解释的相同
  • 你还是做错了......对不起。

标签: c++ linux hard-drive


【解决方案1】:

【讨论】:

  • 我在我的 Ubuntu 上试过这个代码,但是 1)它需要 root 权限,2)它没有序列号,只有“设备的类型和制造”
  • 啊哈,你已经修改了你的问题,说它必须在没有 root 权限的情况下完成。我认为你应该重新考虑你对手头更高级别问题的整个方法,正如你在另一个关于主板序列号的问题中所讨论的那样:stackoverflow.com/questions/4985270/…
  • 即使我们暂时搁置 root 问题(尽管如果有人仍然有理想的非 root 解决方案)这个 SCSI 查询命令中的哪些位代表串行?是“产品标识”位 16-31 吗?
  • 根据维基百科页面,您必须将查询命令中的页面代码设置为0x80。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 2013-04-20
  • 1970-01-01
  • 2015-07-05
  • 2012-03-29
  • 1970-01-01
相关资源
最近更新 更多