IT 기술 문서

2025.02.01 16:14

CentOS 7 유용한 명령어 시리즈 - ② 사용자 및 그룹 관리

  • it2033 4일 전 2025.02.01 16:14
  • 4
    0

alt text


CentOS 7에서 서버를 운영하다 보면 새로운 사용자를 추가하거나 특정 사용자의 권한을 변경해야 하는 경우가 많습니다. 이때 사용되는 명령어들을 정리해 보겠습니다.


1. 현재 로그인한 사용자 확인

1-1. 현재 로그인한 사용자 이름 확인

whoami
  • 현재 사용 중인 계정 이름을 출력합니다.

  • 루트 계정인지 일반 사용자 계정인지 확인할 때 유용합니다.

1-2. 현재 로그인한 사용자 목록 확인

who
  • 현재 서버에 접속한 모든 사용자를 확인할 수 있습니다.

  • SSH로 접속한 사용자도 확인 가능합니다.

1-3. 로그인한 사용자 및 부하 상태 확인

w
  • 로그인한 사용자뿐만 아니라 시스템 부하 상태까지 함께 출력됩니다.

1-4. 특정 사용자 정보 확인

id username
  • 특정 사용자의 UID, GID, 그룹 정보를 출력합니다.

출력 예시:

uid=1001(testuser) gid=1001(testuser) groups=1001(testuser),10(wheel)

2. 사용자 계정 관리

2-1. 새로운 사용자 추가

useradd newuser
  • 새로운 사용자 계정을 생성합니다.

  • 기본적으로 /home/newuser 디렉토리가 생성됩니다.

2-2. 비밀번호 설정

passwd newuser
  • 새로 추가한 사용자 계정에 비밀번호를 설정합니다.

  • 비밀번호 변경 시 강력한 암호 정책을 따르는 것이 좋습니다.

2-3. 사용자 계정 삭제

userdel newuser
  • 특정 사용자를 삭제합니다.

  • 기본적으로 홈 디렉토리는 유지됩니다.

2-4. 사용자 계정 삭제 (홈 디렉토리 포함)

userdel -r newuser
  • 사용자의 홈 디렉토리와 메일 스풀 파일까지 모두 삭제합니다.

2-5. 사용자 계정 활성화/비활성화

usermod -L username  # 계정 잠금
usermod -U username  # 계정 잠금 해제
  • 계정을 비활성화하거나 다시 활성화할 수 있습니다.


3. 그룹 관리

3-1. 새 그룹 생성

groupadd mygroup
  • 새로운 그룹을 생성합니다.

3-2. 특정 사용자에게 그룹 추가

usermod -aG mygroup newuser
  • newusermygroup에 추가합니다.

3-3. 특정 사용자의 그룹 변경

usermod -g mygroup newuser
  • 사용자의 기본 그룹을 변경합니다.

3-4. 사용자 그룹 확인

groups newuser
  • 사용자가 속한 그룹 목록을 출력합니다.

3-5. 그룹 삭제

groupdel mygroup
  • 특정 그룹을 삭제합니다.

  • 그룹을 삭제해도 기존 사용자 계정에는 영향을 미치지 않습니다.


4. 사용자 권한 관리

4-1. 특정 사용자를 sudo 그룹에 추가

usermod -aG wheel username
  • CentOS에서는 wheel 그룹에 속한 사용자가 sudo 명령을 사용할 수 있습니다.

  • 기본적으로 sudo su - 명령을 사용할 수 있도록 설정됩니다.

4-2. 특정 사용자에게 sudo 권한 부여 (visudo 이용)

visudo
  • /etc/sudoers 파일을 편집하여 특정 사용자에게 sudo 권한을 부여할 수 있습니다.

추가할 내용:

username ALL=(ALL) NOPASSWD:ALL
  • NOPASSWD를 제거하면 sudo 실행 시 비밀번호 입력이 필요합니다.


5. 사용자 및 그룹 정보 파일

5-1. 모든 사용자 계정 목록 확인

cat /etc/passwd
  • 현재 시스템에 등록된 모든 사용자 계정을 확인할 수 있습니다.

출력 예시:

root:x:0:0:root:/root:/bin/bash
testuser:x:1001:1001::/home/testuser:/bin/bash
  • /etc/passwd 파일에는 사용자 이름, UID, 기본 그룹, 홈 디렉토리, 셸 정보가 포함됩니다.

5-2. 모든 그룹 목록 확인

cat /etc/group
  • 현재 시스템에 등록된 그룹 목록을 확인할 수 있습니다.

출력 예시:

root:x:0:
wheel:x:10:testuser
mygroup:x:1002:newuser

5-3. 특정 사용자 정보 검색

grep 'username' /etc/passwd
  • 특정 사용자의 정보를 확인할 수 있습니다.


6. 계정 만료 및 잠금 설정

6-1. 특정 사용자의 계정 만료일 확인

chage -l username
  • 사용자의 비밀번호 만료일, 계정 만료일을 확인할 수 있습니다.

6-2. 특정 사용자의 계정 만료일 변경

chage -E 2025-12-31 username
  • username 계정을 2025년 12월 31일에 만료되도록 설정합니다.

6-3. 특정 사용자의 비밀번호 변경 강제

passwd -e username
  • 다음 로그인 시 비밀번호를 강제로 변경하도록 설정합니다.


정리

명령어

설명

whoami

현재 로그인한 사용자 확인

who

현재 로그인한 사용자 목록 확인

w

로그인한 사용자 및 부하 상태 확인

useradd newuser

새로운 사용자 추가

passwd newuser

사용자 비밀번호 설정

userdel newuser

사용자 삭제

usermod -L username

계정 잠금

usermod -aG mygroup newuser

사용자에게 그룹 추가

groups newuser

사용자가 속한 그룹 확인

usermod -aG wheel username

sudo 권한 부여

cat /etc/passwd

시스템 사용자 목록 확인

chage -E 2025-12-31 username

계정 만료일 변경

이번에는 CentOS 7에서 사용자 및 그룹을 관리하는 방법을 정리했습니다. 다음 시리즈에서는 프로세스 및 서비스 관리 명령어를 다루겠습니다.

  • 공유링크 복사