Skip to Content
Infra & DevOpsusermod로 Linux 그룹 추가하기
☁️ Infra & DevOps2018년 11월 9일

usermod로 Linux 그룹 추가하기

#linux#sysadmin#infra-devops#authorization#shell#hadoop

Flamingo에서 HDFS를 조회할 때 필요한 계정 권한을 확인하며 남긴 명령입니다. 기본 그룹을 바꾸는 옵션과 기존 그룹을 유지하며 새 그룹에 추가하는 옵션이 달라 구분해 정리했습니다.

기본 그룹과 보조 그룹

Linux 사용자는 기본 그룹과 보조 그룹 목록을 가집니다. 파일 접근 권한을 판단할 때 이 그룹 정보가 사용되지만, 그룹에 속했다는 이유만으로 모든 파일이나 서비스에 접근할 수 있는 것은 아닙니다.

옵션동작
-g기본 그룹 변경
-G보조 그룹 목록 지정
-aG기존 보조 그룹을 유지하며 목록에 추가

-G만 사용하면 지정하지 않은 기존 보조 그룹에서 빠질 수 있습니다. 새 그룹 하나를 추가하려는 경우에는 -aG를 사용합니다.

그룹 변경 명령

원래 기록에는 수집 계정의 기본 그룹을 hdfs로 바꾸고 보조 그룹에 hadoop을 추가하는 명령이 있었습니다. 다음은 그 동작을 보여 주는 예시입니다. 대상 그룹이 먼저 존재해야 하며 계정 변경 권한도 필요합니다.

bash
sudo usermod -g hdfs flamingo sudo usermod -aG hadoop flamingo

단순히 파일을 읽을 권한을 추가하려는 목적이라면 기본 그룹을 바꿀 필요가 있는지부터 확인해야 합니다. 기존 기본 그룹을 바꾸면 새로 만드는 파일의 그룹 등에도 영향을 줄 수 있습니다.

로컬 파일의 그룹과 HDFS의 권한 체계도 구분해야 합니다. HDFS 접근에는 Hadoop의 사용자·그룹 매핑과 인증 설정이 함께 적용될 수 있으므로 로컬 usermod만으로 해결된다고 판단하면 안 됩니다.

변경 후 확인

bash
id flamingo groups flamingo

사용자 이름을 지정한 조회 결과와 이미 실행 중인 프로세스가 가진 그룹 목록은 다를 수 있습니다. 로그인 세션이라면 새로 로그인하고, 서비스 계정이라면 해당 프로세스가 새 그룹 정보로 시작됐는지 확인해야 합니다.

최종 확인은 필요한 파일을 읽거나 실제 서비스 요청을 수행하는 방식으로 합니다. 그룹 목록에 이름이 보이는 것만으로 애플리케이션의 접근 성공까지 확인한 것은 아닙니다.

참고 자료

Last updated on