小编cem*_*ate的帖子

对于任何命令,有没有办法使用提示在 bash 中传递敏感数据?

假设我使用sha1pass在命令行上生成一些敏感密码的哈希值。我可以sha1pass mysecret用来生成一个散列,mysecret但这有一个mysecret现在在 bash 历史中的缺点。有没有办法在避免mysecret以纯文本显示的同时实现此命令的最终目标,也许是通过使用passwd-style 提示?

我也对将敏感数据传递给任何命令的通用方法感兴趣。当敏感数据作为参数(例如 in sha1pass)或在 STDIN 上传递给某个命令时,该方法会发生变化。

有没有办法做到这一点?


编辑:这个问题引起了很多关注,下面提供了几个很好的答案。总结如下:

  • 根据@Kusalananda 的回答,理想情况下永远不必将密码或机密作为实用程序的命令行参数提供。正如他所描述的,这在几个方面都很脆弱,应该使用设计更好的实用程序,该实用程序能够在 STDIN 上获取秘密输入
  • @vfbsilva 的回答描述了如何防止东西被存储在 bash 历史记录中
  • @Jonathan 的回答描述了一个非常好的方法来完成这个,只要程序可以在 STDIN 上获取它的秘密数据。因此,我决定接受这个答案。sha1pass在我的 OP 中只是一个例子,但讨论已经确定存在更好的工具来获取 STDIN 上的数据。
  • @R ..在笔记他的回答,对一个变量使用命令扩展是不是安全的。

所以,总而言之,我接受了@Jonathan 的回答,因为这是最好的解决方案,因为您有一个设计良好且行为良好的程序可供使用。尽管将密码或机密作为命令行参数传递从根本上说是不安全的,但其他答案提供了减轻简单安全问题的方法。

shell security password

50
推荐指数
5
解决办法
3万
查看次数

防止 usbhid 声称新奇的 USB 设备,以便我可以用 libusb 控制它?

我有一个 USB 火箭发射器,我希望通过libusb. 但是,libusb 不能声明该接口;大概是因为usb-devices列表“usbhid”的输出作为设备的驱动程序。

通过在互联网上阅读,我得出的结论是,我需要将此驱动程序与设备分离,以便可以将它与 libusb 一起使用。但是,我还没有找到一种明确的方法来做到这一点,只有几种不同的想法和错误报告。

那么,有没有办法将 usbhid 驱动程序与与 Ubuntu 11.04 提供的内核和工具相关的设备分离?

编辑:

我尝试创建文件

/etc/udev/rules.d/10-usbhid.rules
Run Code Online (Sandbox Code Playgroud)

并写下以下内容:

ATTRS{idVendor}=="0a81", ATTRS{idProduct}=="0701", OPTIONS=="ignore_device"
Run Code Online (Sandbox Code Playgroud)

保存,然后重新启动。该文件仍然存在,但它似乎根本不起作用。

编辑:

好的,我试过这个:

sudo -i
echo -n "0003:0A81:0701.0006" > /sys/bus/hid/drivers/generic-usb/unbind
Run Code Online (Sandbox Code Playgroud)

之后,导航到 /sys/bus/hid/devices/0003:0A81:0701.0006 和 ls 产生:

drwxr-xr-x 2 root root    0 2011-05-29 15:46 power
lrwxrwxrwx 1 root root    0 2011-05-29 13:19 subsystem ->       ../../../../../../../../../bus/hid
-rw-r--r-- 1 root root 4096 2011-05-29 13:19 uevent
Run Code Online (Sandbox Code Playgroud)

它不再像以前那样列出“驱动程序”符号链接,因此我认为它已解除绑定。然而,所有证据似乎都表明该驱动程序仍然是 usbhid。例如 usb-devices 产量:

T:  Bus=02 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#=  9 Spd=1.5 MxCh= …
Run Code Online (Sandbox Code Playgroud)

ubuntu kernel usb devices

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

devices ×1

kernel ×1

password ×1

security ×1

shell ×1

ubuntu ×1

usb ×1