이번 시간에는 리눅스의 권한에 대해서 배워 보았습니다. 리눅스는 여러 유저들이 동시에 서버에 접속해서 자신이 할 일을 하는 운영체제입니다. 한 유저의 파일과 정보를 다른 유저로부터 보호하기 위하여 권한이라는 개념이 등장했습니다. 리눅스를 사용하면서 Permission Denied ( 접근 거부 )라는 메시지를 많이 볼 수 있습니다. 이는 자신에게 권한이 없는 파일에 접근을 했을 때 볼 수 있는 메시지 입니다.
 리눅스에는 4가지 사용자 분류가 있습니다. 1) 유저 : 로그인한 사용자 각각을 의미합니다. 2) 그룹 : 한명 이상의 유저는 비슷한 유저들끼리 그룹을 형성 할 수 있습니다. 예를 들어 ABC라는 동아리 회원들은 각각 유저이면서 ABC라는 그룹원이 됩니다. 3) 아더 : 유저와 그룹을 제외한 다른 사람들을 의미합니다. 4) 루트 : 루트는 시스템의 관리자로 모든 권한을 갖습니다. 모든 파일과 정보를 접근할 수 있습니다.


 여러분의 등록정보를 볼 수 있는 명령어가 있습니다.

$ id

 이 명령어를 입력하면 여러분의 uid와 gid 등 계정에 대한 정보들을 볼 수 있습니다. id 명령으로 알 수 있는 정보들을 나열하면,

uid : 유저 아이디; 유저를 식별하는 번호입니다. 컴퓨터는 문자열보다는 숫자를 더 좋아하기 때문에 사용합니다.
gid : 그룹 아이디; 유저가 포함되어 있는 그룹의 식별 번호입니다.
groups : 그룹 ; 자신이 포함되어 있는 그룹입니다.

 리눅스 시스템에서는 각 파일마다 권한을 등록 할 수 있습니다. 그럼 각 파일들의 권한을 볼 수 있는 명령어는 무엇일까요? 이미 알고 있듯이 "ls"명령어입니다.

$ ls -al 파일이름

위 명령어를 입력하면 해당 파일에 대한 상세한 정보가 나오고, 해당 파일의 정보중에 권한에 관련된 정보가 있습니다.


맨 처음 표시되는 rwxrwxrwx가 바로 권한을 나타내는 정보입니다. r은 읽기 권한이고 w는 쓰기 권한, x는 실행권한을 나타냅니다. 


 다시 보시면 rwx가 세번 반복되는 것을 볼 수 있습니다. 첫번째 rwx는 유저의 권한, 그룹의 권한, 아더의 권한을 나타냅니다. 파일마다 소유한 유저와 그룹이 존재한다는 것을 유추해 낼 수 있습니다.
 해당 파일을 소유한 유저는 trainer9라는 부분에 나타나고, 그룹은 trainer10이라는 부분에 나타납니다.


 
$ ls -al /etc/shadow

위 명령어를 입력해서 shadow 파일에 대한 정보를 보도록 하겠습니다. shadow 파일은 사용자의 비밀번호를 저장해 놓는 파일입니다.
 권한을 보면 유저 권한에 읽기 권한만 지정이 되어 있는 것을 알 수 있습니다. 이 파일의 유저는 root입니다. 즉, 이 파일은 root만 읽기 권한을 갖고 있습니다. 여기서 의문점은 비밀번호를 교체 할 때 권한 설정은 어떻게 되는 것일까요? 이 물음의 해답이 바로 해킹의 출발점입니다. 곰곰히 생각해 보시기 바랍니다.



+ Recent posts