Windows 10에서 Ubuntu 18.04 하위 시스템을 실행하지만 Ubuntu 18.04 Google 클라우드 가상 머신에서도이를 시도했습니다.
내 로그인 자격 증명을 스크립트에 베이킹하는 것은 보안 위험뿐만 아니라 암호를 변경하면 모든 스크립트를 편집해야하기 때문에 다소 멍청한 생각이라는 것을 깨달았습니다.
". file"을 사용하여 스크립트를 실행할 때 내 자격 증명이 포함 된 파일을 "인라인"으로 배치 할 수 있어야한다는 것을 발견했지만 스크립트를 실행하면 파일이 아니라는 오류가 반환됩니다. 녹이다.
ls
디렉토리를 사용 하여 다음을 포함하는 스크립트를 실행합니다.
USER=<username>
PWD=<password>
#!/bin/bash
set -eu
DS=$(date "+%Y-%m-%d" -d "11 days ago")
DE=$(date "+%Y-%m-%d" -d "1 day ago")
. credential
rm -f cookiejar
curl /dev/null -s -S -L -f -c cookiejar 'https://url/auth/authenticate' -d name=$USER -d passwd=$PWD
+ set -eu
+ date +%Y-%m-%d -d 11 days ago
+ DS=2020-01-05
+ date +%Y-%m-%d -d 1 day ago
+ DE=2020-01-15
+ account=465
+ . credential test.sh: 9: .: credential: not found
나는 스크립트의 ". credential"줄 사이의 공백을 엉망으로 만들었고 내가 온라인에서 뭘 잘못하고 있는지 알아 내려고했지만 관련 답변을 찾기 위해 Google 검색을 제대로 할 수 없었습니다.
누군가 내가 여기에서 누락 / 알지 못하는 것을 확인하거나 도움이 될 수있는 문서를 알려줄 수 있습니까? 이런 일을 시도하는 것은 이번이 처음이므로 이것이 기본적인 질문이라면 사과드립니다.
.
경로 조회를 사용하여 인수로 명명 된 파일을 찾습니다. 현재 작업 디렉토리는 일반적으로하지 않기 때문에 PATH
(도 아니다해야한다), .
파일을 찾을 수 없습니다. 대신
. ./credential
PATH
조회 를 우회 합니다.
하지만 이제는 적절한 디렉토리에서 스크립트를 실행하도록 제한되어 있기 때문에 이것은 실제로 안전하지 않습니다. 어느 넣어 credential
에서 귀하의 디렉토리 PATH
, 또는 위치를 지정 절대 경로를 사용 credential
위치해 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다