서버 IP가 화이트리스트에 있는 경우에만 작동하는 스크립트 [닫기]

서버 IP가 화이트리스트에 있는 경우에만 작동하는 스크립트 [닫기]

기본적으로 스크립트를 실행하는 서버의 IP가 다른 서버에 있는 개인 Whitelist.txt 파일에 있는 경우에만 실행할 수 있는 sh 스크립트를 만들고 싶습니다.

누구든지 코드 예제를 도와줄 수 있나요?

시간 내 주셔서 감사합니다;)


스크립트가 실행되는 IP와 화이트리스트에서 허용하는 IP 간의 grep 비교/확인을 수행하는 방법을 모르겠습니다. 이것이 나를 혼란스럽게 하는 부분이다.

답변1

이 사이트는 스크립팅 서비스는 아니지만 여기에 몇 가지 아이디어가 있습니다. 실제 스크립트 작성은 귀하에게 달려 있습니다.

  1. 현재 IP 주소 가져오기: ip addr | grep inet.

이렇게 하면 일반적으로 IPv4 및 IPv6 주소를 포함한 여러 주소가 제공되므로 보다 구체적으로 필요에 맞게 수정해야 합니다.

  1. 다른 서버에서 화이트리스트를 가져옵니다. 예를 들어 HTTP 서버를 실행하고 curl또는 를 통해 가져옵니다 wget. 아니면 공유 네트워크 드라이브에 저장하세요. 또는 scp자격 증명이 올바르게 설정되어 누구도 해당 자격 증명을 사용하여 해를 끼칠 수 없다고 가정 하여 이를 복사합니다 .

  2. 화이트리스트에서 IP 찾기: 다시 사용하세요 grep.편집하다: 사용해도 된다grep 종료 코드일치가 발생했는지 확인합니다. 자세한 내용 man grepman bash사용 방법을 확인하세요. 예:

    $ echo 'example' > whitelist.txt
    $ grep example whitelist.txt ; echo $?
    example
    0
    $ grep wrong whitelist.txt ; echo $?
    1
    

이 접근 방식은 완전히 안전하지 않습니다. 화이트리스트는 공개적으로 표시되며 누구나 쉽게 스크립트를 수정할 수 있습니다.

이 방법은 신뢰할 수 있는 사람만이 이 스크립트를 실행하는 경우에만 작동하며, 여러분이 해야 할 일은 스크립트가 실수로 실행되어서는 안되는 곳에서 실행되는 것을 방지하는 것뿐입니다.

IP 주소보다 현재 호스트를 식별하는 호스트 이름과 같은 고급 방법이 있습니다(스크립트가 실행되어야 하는 호스트를 관리하는 경우 호스트 이름을 설정할 수 있어야 합니다). 다른 경우에는 위의 방법을 사용하면 안 됩니다.)

관련 정보