whoami : 자신이 '누구인지'를 출력하게 하는 명령어.

id : whoami 보다 더 자세한 정보를 나타낼 수 있는 명령어.

uname -a : 커널 정보 확인.

서버에 아이디가 있는 상태에서 정보를 캐낼 때 가장 먼저 하는 것이 커널 버전을 보는 것. 2.2.18 이전 버전의 모든

커널들은 취약점이 있다.

★ sendmail 의 버전이 8.10.1 이하, glib 의 버전이 2.1.2 이하일 때 해킹 가능.

/etc/passwd : 현재 서버에 어떤 사람들이 계정을 얻어서 사용하고 있는지 알 수 있는 명령어.

가장 왼쪽의 단어가 사용자들의 아이디를 나타낸다.

커널 : 리눅스의 심장부 역할을 하는 파일로서, 이 커널 버전에 따라 리눅스의 성능 차이가 난다. 같은 버전의

    리눅스라도 ( ex. Red Hat 6.0 ) 이 커널 버전이 높다면, 속도도 더욱 빨라지고, 안정성도 높아진다.

    또한 해킹 중에는 이 커널을 이용한 해킹도 많기 때문에, 서버에 아이디가 있는 상태에서 정보를 캐낼 때 가장

    먼저 하는 것이 이 커널 버전을 보는 것이다.

root 권한이란 ? - 리눅스나 유닉스에서 모든 파일을 관리하는 절대적인 관리자 권한을 의미한다. 리눅스는 여러 명의

사용자가 동시에 작업을 하기 때문에 자기에게 권한이 부여된 파일만 제어할 수 있지만, 이 root 권한을 가진 사람은

어떤 권한에도 구속되지 않은 제 서버를 조정할 수 있게 된다.

cat /etc/*release : 현재 서버에 설치된 OS가 어떤 버전인지 확인해 볼 수 있는 명령어.

rpm -qa : 패키지의 정보를 얻을 수 있는 명령어.

cat /proc/cpuinfo : 해당 서버의 CPU 정보를 알아낼 수 있는 명령어.

cat + 파일 이름 : 파일의 속 내용을 화면으로 뿌려주는 역할을 하는 명령어.

패스워드 파일이란 ? - 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일을 말한다. 그 사용자는 어떤

아이디, 어떤 암호를 이용하여 로그인 하는지, 어떤 그룹에 속해있는지, 이름은 무엇인지 등등... 이처럼 패스워드 파일은

사용자들의 모든 정보를 저장해 놓은 매우 중요한 파일이다.

위의 문자열은 7개의 필드로 나누어져 있다. 잘 보면 : 이라는 문자가 많이 들어가 있는 것을 볼 수 있을 것이다.

: 은 필드를 구분해주는 문자이다.

이제부터 위의 7개의 필드가 각각 무엇을 의미하는지를 배워보자.

첫 번째 필드 - 서버에 로그인할 때 사용되는 아이디 ( 계정 ) 을 말해준다.

               만약, 현재 sunwoo라는 아이디로 로그인 하였다면 " sunwoo :ㄱ :ㄴ :ㄷ :ㄹ :ㅁ :ㅂ " 의 형식으로

               됐을 것이다.

두 번째 필드 - 패스워드가 적혀 있는 부분이다.

두 번째 필드에 왜 x만 있는 이유 -

리눅스 버전 5.0 까진 이 곳에 2VBcuBs6VQ79gR 처럼 암호화 된 문자열들이 들어가 있고, 다른 사람들이 패스워드를

보아도, 위와 같이 알아보기 힘든 글씨로 암호화가 되어있기 때문에 전혀 위험하지 않았다. 그러나, 크래커들은 곧

암호화 된 문자열을 해독하는 프로그램을 만들었다. 때문에 더 복잡한 문자열이 나온 것이다. ( 여기서 크래커들이란,

해킹을 악용하는 사람들을 칭한다, ) 하지만, 그 역시 크래커들에게 뚫리고 이러한 일이 계속 반복되다가, 리눅스

프로그래머들은 색다른 방법을 생각해 내었다. 그 방법이, 두 번째 필드의 패스워드를 싹 없애버리고 x라는 문자만

달랑 보여주는 방법이였다. 그리고 프로그래머들은 사용자들의 패스워드만 모아서 새로운 파일을 만들었고, 그것이

/etc/shadow 라는 파일이었다. 그 후 쉐도우 파일을 관리자 권한을 가진 사람이 아니면 펼쳐 볼 수 없게 만들어렸다.

이 방법이 패스워드 크랙을 피하는 가장 완벽한 방법으로 채택되어 리눅스 6.0 이후 계속 사용되어지고 있다.

세 번째 필드 - 컴퓨터는 영어가 아닌 숫자를 이용하기 때문에 컴퓨터용의 아이디 이름으로 바꿔준 것.

네 번째 필드 - 아이디가 속하여 있는 그룹의 이름을 숫자로 표현한 숫자.

다섯 번째 필드 - 사용자의 이름을 말해주는 부분.

여섯 번째 필드 - 해당 사용자가 로그인을 성공 했을 때 기본으로 위치하게 되는 디렉터리.

일곱 번째 필드 - 사용자가 처음 로그인을 했을 때 실행되게 할 프로그램.

여기까지 trainer5, trianer6의 학습 내용.