There are 2 files in the homedirectory: passwords.old and passwords.new. The password for the next level is in passwords.new and is the only line that has been changed between passwords.old and passwords.new
NOTE: if you have solved this level and see ‘Byebye!’ when trying to log into bandit18, this is related to the next level, bandit19
해결
ls -al로 passwords.new 파일과 password.old 파일이 존재함을 확인할 수 있습니다.
파일 비교 명령어는 cmp, diff, diff3, comm 등이 있습니다.
문제의 힌트로는 diff가 주어졌지만, 4개의 명령에 대해 모두 진행해보겠습니다.
① diff
diff는 옵션에 따라 출력결과가 달라지는데, -d 명령어를 사용하면 가장 직관적이고 핵심적인 결과만이 출력됩니다.
옵션 -c는 앞뒤의 상황도 보여주어 흐름을 알 수 있습니다. 차이가 발생하는 곳에 !를 통해 표기를 해줍니다.
② comm
comm을 사용하니 결과 값을 한눈에 파악하기 어려워 파일 비교가 어려워 보이네요.
③ cmp
cmp를 사용하니 42번째 줄에 차이가 발생하는 것을 알 수 있지만, 내용을 알 수 없어 해당 문제에서는 부적합한 명령이라고 할 수 있겠습니다.
구한 password로 bandit18에 접속하고자 하니 byebye! 메시지가 출력되며 연결이 끊어지는데, 이는 의도된 부분이며 다음 레벨을 통해 해결할 수 있다고 합니다.
핵심
cmp
cmp는 compare 의 약어로서 두개의 파일이 어떤 부분이 다른가를 비교할 때에 사용하는 명령어이다. 두개의 파일을 단순히 같은가 다른가를 확인할 수 있으며 또한 몇행의 몇번째 문자가 다른가를 확인할 수도 있다. 두 파일이 동일한가를 확인하고자 할 때에 주로 사용한다.
사용법 : cmp [파일명] [비교할 파일명]
file1 과 file2를 예를 들어 설명한다.
diff
diff는 differences 의 약어로서 두 파일 사이의 내용을 비교하는 명령어이다. cmp 보다 diff 가 보다 직관적이고 명확하게 찾아준다. 실행결과 차이점이 없다면 0, 차이점이 있다면 1, 실행시 에러가 발생하면 2 이상의 종료코드 값을 얻는다.