![사용자의 비밀번호를 읽고 후속 명령에 이를 구현하려면 어떻게 해야 합니까?](https://linux55.com/image/8070/%EC%82%AC%EC%9A%A9%EC%9E%90%EC%9D%98%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%9D%BD%EA%B3%A0%20%ED%9B%84%EC%86%8D%20%EB%AA%85%EB%A0%B9%EC%97%90%20%EC%9D%B4%EB%A5%BC%20%EA%B5%AC%ED%98%84%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
사용자의 사용자 ID와 비밀번호가 필요한 API 호출을 작성 중입니다. 사용자 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
여기서 다른 모든 단어: machine
및 login
는 password
그대로 유지하려는 키워드입니다. 파일의 권한을 적절하게 잠그고(예: chmod go= $HOME/.netrc
) 다음을 사용합니다.파마 --netrc
옵션:
HTTP와 함께 사용하면 컬이 사용자 인증을 활성화합니다.
curl --netrc "http://localhost:7180/api/v1/clusters/Cluster 1/services/HIVE/config?view=FULL"
두 가지 방법으로 컬 매개변수를 조정했습니다.
- 철자가 틀린 것으로 추정되는 "service"를 "service"로 변경하고
- 컬 명령의 인수 하나를 활성화하기 위해 전체 내용을 인용합니다("Cluster 1" 이름에 공백이 있음).
단순히 다른 사용자의 비밀번호를 잊어버린 경우에는 다른 문제가 됩니다. 이 경우 그러한 API 호출을 위해 별도의 계정을 만드는 것이 좋습니다(또는 그러한 계정을 만들어야 하는 경우).