ioerror

newgrp - 새로운 그룹으로 로그인 세션 변경 본문

OS

newgrp - 새로운 그룹으로 로그인 세션 변경

반응형

newgrp - New Group

현재 로그인된 셸 세션의 기본 그룹(GID)을 변경하는 명령어이다. 사용자는 로그아웃 후 다시 로그인하지 않고도 다른 그룹의 권한으로 파일 생성 및 프로세스 실행이 가능하다. 실행 성공 시 새로운 서브 셸이 구동되며, 사용자의 환경 변수와 작업 디렉토리는 그대로 유지되지만 기본 그룹 권한이 전환된다.

1. 명령어 용도

  • 주로 다중 프로젝트 환경에서 특정 공유 디렉토리에 접근하거나, 새로 생성할 파일의 소유 그룹을 변경해야 할 때 사용된다.
# 사용자가 소속된 보조 그룹인 'developer' 그룹으로 기본 그룹을 변경하는 경우
$ newgrp developer

# 변경 후 현재 그룹 ID 확인
$ id -gn
# [출력 결과] developer

2. 명령어 서식

newgrp [-] [그룹명]

3. 명령어 옵션

옵션 설명 사용가능 OS 및 쉘
- 사용자가 해당 그룹으로 처음 로그인한 것과 같이 환경 변수를 초기화하여 재설정한다. (로그인 셸 환경 재현) 모든 Linux / Unix
[그룹명] 변경하고자 하는 대상 그룹의 이름을 지정한다. 생략 시 사용자의 원래 기본 그룹(passwd 파일에 정의된 기본 GID)으로 복귀한다. 모든 Linux / Unix
# 환경 변수를 초기화하면서 'audit' 그룹으로 변경하는 예시
$ newgrp - audit

# 변경된 세션에서 파일 생성 시 그룹 소유권 확인
$ touch testfile
$ ls -l testfile
# -rw-r--r-- 1 user audit 0 2026-06-02 11:34 testfile

4. 명령어 특이사항(유의사항)

  • 사용자가 변경하려는 그룹의 멤버가 아닐 경우, /etc/gshadow 파일에 해당 그룹의 비밀번호가 설정되어 있다면 비밀번호를 입력하여 일시적으로 그룹 전환이 가능하다. 단, 비밀번호가 없고 그룹 멤버도 아니라면 접근이 거부된다.
  • newgrp 명령어는 기존 셸 위에 새로운 서브 셸을 실행하는 방식이므로, 작업이 끝난 후 원래 그룹 세션으로 돌아가려면 exit 명령어를 입력해야 한다. 그렇지 않으면 서브 셸이 계속 중첩되어 메모리를 낭비할 수 있다.
  • 스크립트 내부에서 newgrp를 호출하면 새로운 서브 셸이 열리면서 스크립트의 나머지 후속 명령어들이 실행되지 않고 대기 상태에 빠지는 현상이 발생하므로 주의해야 한다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

반응형
Comments