소개
이 랩에서는 다양한 방법을 사용하여 Linux 에서 그룹이 존재하는지 확인하는 방법을 배우게 됩니다. Name Service Switch (NSS) 데이터베이스에서 항목을 검색하는 getent group 명령을 사용하여 그룹 정보를 쿼리하는 방법을 살펴봅니다.
또한, 그룹 정보를 저장하는 /etc/group 파일을 직접 검사하는 방법과 이 파일 내에서 특정 그룹을 효율적으로 검색하기 위해 grep 명령을 사용하는 방법을 배우게 됩니다. 이러한 기술을 통해 Linux 시스템에서 그룹의 존재 여부와 세부 정보를 확인하는 기술을 습득할 수 있습니다.
getent group 으로 그룹 쿼리
이 단계에서는 getent 명령을 사용하여 Linux 시스템에서 그룹에 대한 정보를 쿼리하는 방법을 살펴보겠습니다. getent 명령은 사용자 및 그룹 정보를 포함하여 Name Service Switch (NSS) 데이터베이스에서 항목을 검색하는 강력한 유틸리티입니다.
특정 그룹에 대한 정보를 쿼리하려면 다음 구문을 사용할 수 있습니다.
getent group [group_name]
labex 그룹에 대한 정보를 쿼리해 보겠습니다. 터미널에 다음 명령을 입력하고 Enter 키를 누르세요.
getent group labex
다음과 유사한 출력을 볼 수 있습니다.
labex:x:5000:labex
이 출력은 labex 그룹에 대한 세부 정보를 제공합니다.
labex: 그룹 이름.x: 암호화된 비밀번호를 위해 역사적으로 사용된 자리 표시자 (현재는 다른 곳에 저장됨).5000: 그룹 ID (GID).labex: 이 그룹의 구성원인 사용자 목록 (이 경우,labex사용자가 주요 구성원입니다).
이제 sudo 그룹에 대한 정보를 쿼리해 보겠습니다. sudo 그룹의 사용자는 슈퍼유저 권한으로 명령을 실행할 수 있으므로 이 그룹은 중요합니다.
다음 명령을 입력하고 Enter 키를 누르세요.
getent group sudo
다음과 유사한 출력을 볼 수 있습니다.
sudo:x:27:labex
이것은 sudo 그룹의 GID 가 27이고 labex 사용자가 구성원임을 보여줍니다.
getent group 명령은 시스템에서 특정 그룹에 대한 정보를 빠르게 검색할 수 있는 신뢰할 수 있는 방법입니다.
다음 단계로 진행하려면 계속을 클릭하세요.
/etc/group 파일에서 그룹 검색
이전 단계에서는 getent group을 사용하여 그룹 정보를 쿼리했습니다. 이제 이 정보가 종종 저장되는 실제 파일인 /etc/group을 살펴보겠습니다.
/etc/group 파일은 시스템의 모든 그룹 목록을 포함하는 일반 텍스트 파일입니다. 이 파일의 각 줄은 단일 그룹을 나타내며 getent group이 보여준 것과 유사한 정보를 포함합니다.
cat과 같은 명령줄 유틸리티를 사용하여 이 파일의 내용을 볼 수 있습니다. cat은 파일 내용을 연결하고 표시하는 데 사용됩니다.
터미널에 다음 명령을 입력하고 Enter 키를 누르세요.
cat /etc/group
줄당 하나의 그룹으로, 긴 그룹 목록을 볼 수 있습니다. 각 줄은 다음 형식을 따릅니다.
group_name:password_placeholder:GID:user_list
예를 들어, 다음과 같은 줄을 볼 수 있습니다.
root:x:0:
daemon:x:1:
...
labex:x:5000:labex
sudo:x:27:labex
...
보시다시피, labex 및 sudo 그룹에 대한 정보가 이 파일에 있으며, getent group이 표시한 내용과 일치합니다.
특히 그룹이 많은 시스템에서는 전체 /etc/group 파일을 보는 것이 압도적일 수 있습니다. 다음 단계에서는 grep 명령을 사용하여 이 파일 내에서 특정 그룹을 검색하는 방법을 배우겠습니다.
계속하려면 계속을 클릭하세요.
grep 명령어로 그룹 확인
이전 단계에서는 /etc/group 파일의 전체 내용을 보았습니다. 유익하기는 하지만 특정 그룹에 대한 정보만 찾고 싶을 때는 효율적이지 않습니다. 이럴 때 grep 명령이 유용합니다.
grep은 정규 표현식과 일치하는 줄을 찾기 위해 일반 텍스트 데이터 세트를 검색하는 강력한 명령줄 유틸리티입니다. 더 간단히 말하면, 특정 단어나 패턴을 포함하는 파일의 줄을 찾는 데 도움이 됩니다.
파이프 (|) 를 사용하여 cat과 grep을 결합할 수 있습니다. 파이프는 왼쪽 명령의 출력을 오른쪽 명령의 입력으로 보냅니다.
/etc/group 파일에서 labex 그룹을 포함하는 줄을 검색하려면 다음 명령을 입력하고 Enter 키를 누르세요.
cat /etc/group | grep labex
이 명령은 먼저 cat을 사용하여 /etc/group의 내용을 출력한 다음, grep labex는 해당 출력에서 "labex"라는 단어를 포함하는 줄을 검색합니다.
labex 그룹에 대한 줄이 표시되어야 합니다.
labex:x:5000:labex
이제 sudo 그룹을 검색해 보겠습니다.
cat /etc/group | grep sudo
그러면 sudo 그룹에 대한 줄이 표시됩니다.
sudo:x:27:labex
cat과 함께 grep을 사용하는 것은 Linux 에서 출력을 필터링하는 일반적인 패턴입니다. 이를 통해 큰 파일이나 명령 출력 내에서 필요한 특정 정보를 빠르게 찾을 수 있습니다.
이제 그룹에 대한 정보를 얻는 세 가지 방법을 배웠습니다: whoami (자신의 사용자의 기본 그룹), id (사용자의 그룹), getent group (특정 그룹 세부 정보) 및 /etc/group에서 grep (그룹 파일 검색).
이 랩을 완료하려면 계속을 클릭하세요.
요약
이 랩에서는 여러 가지 방법을 사용하여 Linux 에서 그룹이 존재하는지 확인하는 방법을 배웠습니다. 먼저 NSS 데이터베이스에서 그룹 정보를 쿼리하는 강력한 유틸리티인 getent group 명령을 살펴보았습니다. labex 및 sudo와 같은 특정 그룹에 대한 그룹 이름, GID 및 구성원과 같은 세부 정보를 검색하는 방법을 시연했습니다. 이 방법은 그룹 정보를 빠르고 안정적으로 조회할 수 있는 방법을 제공합니다.



