Linux 그룹 변경

LinuxBeginner
지금 연습하기

소개

Linux 에서 모든 파일과 디렉토리는 사용자 (user) 와 그룹 (group) 에 할당됩니다. 이 소유권 시스템은 Linux 보안 및 접근 제어의 기본적인 측면입니다. 그룹 소유권을 변경하는 능력은 파일 권한과 접근 권한을 효율적으로 관리해야 하는 시스템 관리자에게 필수적인 기술입니다.

이 랩 (lab) 은 Linux 에서 파일과 디렉토리의 그룹 소유권을 변경할 수 있는 chgrp 명령에 중점을 둡니다. 이 명령을 숙달함으로써 파일 권한 관리에 대한 이해를 높이고 시스템 관리의 중요한 측면을 배우게 될 것입니다.

이 랩을 통해 개별 파일과 디렉토리에 대해 재귀적으로 chgrp 명령을 사용하는 다양한 시나리오를 연습하게 됩니다. 또한 그룹 소유권 변경을 확인하고 적절한 그룹 관리가 시스템 보안에 왜 중요한지 이해하게 될 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 96%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

파일 그룹 소유권 이해

Linux 에서 모든 파일은 소유자 (owner) 와 그룹 (group) 을 모두 가지고 있습니다. 그룹 할당은 그룹 권한에 따라 어떤 사용자가 파일에 접근할 수 있는지를 결정합니다. 그룹 소유권을 확인하고 변경하는 방법을 살펴보겠습니다.

먼저, 프로젝트 디렉토리로 이동합니다:

cd ~/project

이제 작업할 새 파일을 생성해 보겠습니다:

touch defense_secrets.txt

파일의 현재 소유권과 권한을 보려면 ls -l 명령을 사용합니다:

ls -l defense_secrets.txt

다음과 유사한 출력을 볼 수 있습니다:

-rw-r--r-- 1 labex labex 0 Jan 12 16:20 defense_secrets.txt

출력은 여러 정보를 보여줍니다:

  • 첫 번째 열은 파일 권한을 보여줍니다.
  • 세 번째 열은 소유자 (labex) 를 보여줍니다.
  • 네 번째 열은 그룹 (labex) 을 보여줍니다.

저희 시스템에서는 defendersstrategists 두 개의 그룹이 생성되었습니다. chgrp 명령을 사용하여 파일의 그룹 소유권을 기본 labex 그룹에서 defenders 그룹으로 변경해 보겠습니다:

sudo chgrp defenders defense_secrets.txt

이제 그룹이 성공적으로 변경되었는지 확인합니다:

ls -l defense_secrets.txt

이제 출력은 파일이 defenders 그룹에 속함을 보여줍니다:

-rw-r--r-- 1 labex defenders 0 Jan 12 16:20 defense_secrets.txt

chgrp 명령은 자신이 멤버가 아닌 그룹으로 변경할 때 관리자 권한이 필요합니다. 이것이 이 예제에서 sudo를 사용한 이유입니다.

재귀적으로 그룹 소유권 변경

종종 시스템 관리자는 단일 파일뿐만 아니라 전체 디렉토리와 그 내용을 모두 그룹 소유권을 변경해야 합니다. chgrp 명령의 -R (재귀적, recursive) 옵션은 이 작업을 간단하게 만들어줍니다.

연습을 위해 여러 파일이 있는 디렉토리를 만들어 보겠습니다:

mkdir -p ~/project/operational_plans
touch ~/project/operational_plans/plan1.txt
touch ~/project/operational_plans/plan2.txt

먼저, 디렉토리와 해당 파일의 현재 그룹 소유권을 확인해 보겠습니다:

ls -l ~/project/operational_plans

두 파일 모두 기본 labex 그룹에 속해 있음을 알 수 있습니다:

-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan2.txt

디렉토리와 그 안에 있는 모든 파일의 그룹 소유권을 strategists 그룹으로 변경하려면 -R 옵션과 함께 chgrp 명령을 사용합니다:

sudo chgrp -R strategists ~/project/operational_plans

-R 옵션은 chgrp에게 재귀적으로 작동하여 디렉토리와 그 안에 있는 모든 것에 변경 사항을 적용하도록 지시합니다.

이제 디렉토리와 해당 내용 모두에 대해 그룹 소유권이 변경되었는지 확인합니다:

ls -l ~/project
ls -l ~/project/operational_plans

출력은 디렉토리와 두 파일 모두 이제 strategists 그룹에 속함을 보여줍니다:

drwxr-xr-x 2 labex strategists 4096 Jan 12 16:30 operational_plans
...

-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan2.txt

재귀 옵션은 각 파일을 수동으로 변경하는 것이 비실용적인 대규모 디렉토리 구조를 다룰 때 특히 유용합니다.

그룹 정보 및 권한 이해

이제 그룹 소유권을 변경하는 방법을 알았으니, 그룹 정보를 확인하고 그룹 권한이 중요한 이유를 살펴보겠습니다.

Linux 에서 그룹에 대한 정보는 /etc/group 파일에 저장됩니다. getent 명령을 사용하여 시스템에 존재하는 그룹을 볼 수 있습니다:

getent group

이렇게 하면 시스템의 모든 그룹의 긴 목록이 표시됩니다. 우리가 작업해 온 그룹만 보려면 출력을 필터링할 수 있습니다:

getent group | grep -E 'defenders|strategists'

다음과 유사한 출력을 볼 수 있습니다:

defenders:x:1001:
strategists:x:1002:

현재 사용자가 속한 그룹을 보려면 groups 명령을 사용합니다:

groups

출력은 사용자가 멤버로 있는 모든 그룹을 보여줍니다:

labex adm cdrom sudo dip plugdev lpadmin sambashare

이제 그룹 권한이 중요한 이유를 이해해 보겠습니다. Linux 에서 파일 권한은 소유자 (owner), 그룹 (group), 기타 (others) 세 가지 범주로 정의됩니다. 새 파일을 만들고 권한을 수정하여 이를 시연해 보겠습니다:

touch ~/project/group_example.txt
ls -l ~/project/group_example.txt

출력은 기본 권한을 보여줍니다:

-rw-r--r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

권한 문자열 -rw-r--r--는 다음과 같이 나눌 수 있습니다:

  • 첫 번째 문자: 파일 유형 (-는 일반 파일을 의미)
  • 다음 세 문자 (rw-): 소유자 권한 (읽기, 쓰기, 실행 안 함)
  • 다음 세 문자 (r--): 그룹 권한 (읽기 전용)
  • 마지막 세 문자 (r--): 기타 권한 (읽기 전용)

그룹 권한을 변경하여 쓰기 액세스를 허용해 보겠습니다:

chmod g+w ~/project/group_example.txt
ls -l ~/project/group_example.txt

이제 출력은 다음과 같이 표시됩니다:

-rw-rw-r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

그룹 권한이 r--에서 rw-로 변경된 것을 확인하세요.

마지막으로, 그룹 소유권과 그룹 권한을 모두 변경하여 배운 내용을 결합해 보겠습니다:

sudo chgrp defenders ~/project/group_example.txt
chmod g+x ~/project/group_example.txt
ls -l ~/project/group_example.txt

결과는 다음과 같아야 합니다:

-rw-rwxr-- 1 labex defenders 0 Jan 12 16:40 group_example.txt

이제 파일은 defenders 그룹에 의해 소유되고 해당 그룹의 멤버에 대해 읽기, 쓰기 및 실행 권한을 갖습니다.

요약

이 랩에서는 chgrp 명령을 사용하여 Linux 에서 그룹 소유권을 관리하는 방법을 배웠습니다. 단일 파일의 그룹을 변경하는 것으로 시작하여 디렉토리와 해당 내용에 대한 그룹을 재귀적으로 변경하는 것으로 진행했습니다. 마지막으로, 그룹 정보를 확인하고 Linux 파일 보안에서 그룹 권한의 중요성을 이해하는 방법을 살펴보았습니다.

이 랩에서 다룬 주요 개념은 다음과 같습니다:

  1. chgrp를 사용하여 파일의 그룹 소유권 변경
  2. 재귀적인 그룹 소유권 변경을 위한 -R 옵션 사용
  3. ls -l을 사용하여 파일 소유권 및 권한 보기
  4. getent groupgroups를 사용하여 그룹 정보 검토
  5. 그룹 소유권과 파일 권한 간의 관계 이해
  6. chmod를 사용하여 그룹 권한 수정

이러한 기술은 Linux 시스템 관리, 특히 공유 리소스를 관리하고 적절한 액세스 제어를 구현할 때 필수적입니다. 그룹 소유권을 올바르게 할당하고 관리하는 능력은 파일 및 디렉토리에 적절한 액세스를 허용하면서 보안을 유지하는 데 도움이 됩니다.