컴퓨터는 어떤 특정한 사람만 쓰는 게 아니라, 여러 사람이 공유해서 사용할 수 있습니다
그러면 기본적으로 그 컴퓨터에 각 사람의 계정이 필요하게 됩니다
그래서 컴퓨터를 켜면 각자의 계정으로 로그인해서 컴퓨터를 쓸 수 있습니다
만약 이런 계정이 없다면 나의 민감한 정보나 파일들을 다른 사람들이 컴퓨터를 사용하면서
몰래 볼 수 있습니다 그래서 여러 사람이 하나의 컴퓨터를 같이 쓰기 위해 계정이 존재하는 겁니다
추가로 계정마다 특정 파일을 열지 못하게 하거나, 특정 명령어를 실행하지 못하게 할 수 있습니다
이렇게 각각의 계정 별로 권한을 부여할 수 있습니다
만약 계정이 root라는 글자라면 컴퓨터는 이 계정을 어떻게 인식할까요?
컴퓨터는 우리 눈에 보이는 글자를 실제로 컴퓨터 내부에서 처리될 때 전부 숫자로 처리하고 있습니다
그래서 계정 아이디가 root인 것처럼 보이지만 사실 컴퓨터는 문자가 아닌 숫자로 인식합니다
이 숫자 값이 바로 UID (User ID)입니다
이번 시간에는 UID/GID에 대해 공부해 봅시다
uid 정보 확인하기
id root 명령어를 입력하여 uid 결과값이 0인 걸 알 수 있습니다
리눅스에서 root라는 계정은 숫자 0으로 기억하고 처리하고 있네요
사실 우리가 사용하는 root라는 계정은 리눅스 시스템의 최고관리자 계정입니다
리눅스 권한 문제는 root 앞에서 모두 해결될 수 있습니다 그 권한에 걸맞게 바로 uid가 최초의 숫자 0인 겁니다
gid에 대해 알아보자
gid (group id)입니다
리눅스에서는 계정 별로 권한을 부여합니다 만약 리눅스 계정이 10~20개 정도 된다고 가정했을 때, 이 계정을 하나씩 변경할 때마다 일이 많아질 겁니다 그래서 그룹이라는 개념을 넣어 그룹끼리 접근할 수 있는 영역과 파일을 설정하여 일을 줄이고 관리의 효율성을 높일 수 있습니다
100명의 학생을 한 명씩 관리하는 것보다 2개의 반(group)으로 나눠 관리하는 게 더 효율적인 것과 마찬가지입니다.
기본적으로 계정을 생성할 때 group 을 따로 지정해 주지 않으면 생성된 계정의 이름으로 그룹을 만들고 거기에 속하게 됩니다 이제 계정을 생성해서 확인해 봅시다!
useradd 명령어로 계정을 생성해 줍니다
뒤에 전달 인자는 원하시는 계정명을 적어주시면 됩니다
그다음 계정 변경을 위해 su 명령어를 사용합니다 처음 환경 세팅 때 kali 계정에서 root 계정으로 변경할 때 사용한 명령어입니다 su : switch user의 약자입니다
su 명령어를 입력하니 앞에 달러 모양이 생겼습니다 모양이 달라도 똑같은 shell입니다
id 뒤에 전달 인자 없이 명령어를 입력했습니다 전달 인자가 없으면 현재 접속해 있는 계정의 id 정보를 보여줍니다
앞에서 설명한 것처럼 uid 가 1001로 나오고 따로 group 을 지정하지 않으니 musa 계정 이름으로 group을 만들고 이 그룹이 부여된 채 계정이 생성되었습니다
다 확인했으니 exit 명령어로 $ 쉘에서 나가줍니다
다음 시간에는 이 모양이 다른 쉘에 대해 알아봅시다
[ 참고 사이트 ]
해킹 작업소 : 네이버 카페
해킹 공부, 문화를 아우르는 SegFault 공식 커뮤니티입니다.
cafe.naver.com