如何读取用户的密码并在后续命令中实现?

如何读取用户的密码并在后续命令中实现?

我正在编写一个 api 调用,需要用户的用户 ID 和密码。我可以获取用户 ID,但如何获取他的密码并将其提供给变量?这是api命令

 curl -u $user:$password http://localhost:7180/api/v1/clusters/Cluster 1/ervices/HIVE/config?view=FULL

答案1

如果您拥有有权执行 API 的用户的用户凭据,那么您可以将它们放入 $HOME/.netrc 中,如下所示:

machine localhost login that-username-here password that-password-here

其中每隔一个单词:machineloginpassword是要保持完整的关键字)并适当地锁定文件的权限(例如chmod go= $HOME/.netrc)并使用卷发 --netrc选项:

如果与 HTTP 一起使用,curl 将启用用户身份验证。

curl --netrc "http://localhost:7180/api/v1/clusters/Cluster 1/services/HIVE/config?view=FULL"

我通过两种方式调整了你的curl参数:

  1. 将假定的拼写错误“服务”更改为“服务”,并且
  2. 引用整个内容,以启用curl命令的一个参数(给定“Cluster 1”名称中的空格)

如果您只是缺少不同用户的密码,那就是一个不同的问题,此时我会建议为此类 API 调用创建一个单独的帐户(或要求创建这样一个帐户)。

相关内容