기본적으로 스크립트를 실행하는 서버의 IP가 다른 서버에 있는 개인 Whitelist.txt 파일에 있는 경우에만 실행할 수 있는 sh 스크립트를 만들고 싶습니다.
누구든지 코드 예제를 도와줄 수 있나요?
시간 내 주셔서 감사합니다;)
스크립트가 실행되는 IP와 화이트리스트에서 허용하는 IP 간의 grep 비교/확인을 수행하는 방법을 모르겠습니다. 이것이 나를 혼란스럽게 하는 부분이다.
답변1
이 사이트는 스크립팅 서비스는 아니지만 여기에 몇 가지 아이디어가 있습니다. 실제 스크립트 작성은 귀하에게 달려 있습니다.
- 현재 IP 주소 가져오기:
ip addr | grep inet
.
이렇게 하면 일반적으로 IPv4 및 IPv6 주소를 포함한 여러 주소가 제공되므로 보다 구체적으로 필요에 맞게 수정해야 합니다.
다른 서버에서 화이트리스트를 가져옵니다. 예를 들어 HTTP 서버를 실행하고
curl
또는 를 통해 가져옵니다wget
. 아니면 공유 네트워크 드라이브에 저장하세요. 또는scp
자격 증명이 올바르게 설정되어 누구도 해당 자격 증명을 사용하여 해를 끼칠 수 없다고 가정 하여 이를 복사합니다 .화이트리스트에서 IP 찾기: 다시 사용하세요
grep
.편집하다: 사용해도 된다grep 종료 코드일치가 발생했는지 확인합니다. 자세한 내용man grep
과man bash
사용 방법을 확인하세요. 예:$ echo 'example' > whitelist.txt $ grep example whitelist.txt ; echo $? example 0 $ grep wrong whitelist.txt ; echo $? 1
이 접근 방식은 완전히 안전하지 않습니다. 화이트리스트는 공개적으로 표시되며 누구나 쉽게 스크립트를 수정할 수 있습니다.
이 방법은 신뢰할 수 있는 사람만이 이 스크립트를 실행하는 경우에만 작동하며, 여러분이 해야 할 일은 스크립트가 실수로 실행되어서는 안되는 곳에서 실행되는 것을 방지하는 것뿐입니다.
IP 주소보다 현재 호스트를 식별하는 호스트 이름과 같은 고급 방법이 있습니다(스크립트가 실행되어야 하는 호스트를 관리하는 경우 호스트 이름을 설정할 수 있어야 합니다). 다른 경우에는 위의 방법을 사용하면 안 됩니다.)