리눅스

20. 리눅스 사용자 관리

안녕하세요. 하얀 도화지 남편입니다.

오늘은 리눅스 사용자 관리에 대해서 알아보는 시간입니다.

리눅스는 다중 사용자 시스템으로 설계되어 여러 사용자가 동시에 시스템에 접근할 수 있습니다. 사용자 계정 관리는 시스템 보안과 운영의 핵심적인 부분으로, 각 사용자의 권한, 환경 설정, 접근 권한 등을 제어합니다. 하기 내용은 리눅스 사용자 관리의 기본 개념과 주요 명령어를 설명하고, 관련 내용을 표로 정리합니다.


1. 사용자와 그룹의 개념

(1) 사용자(User)

사용자는 리눅스 시스템을 사용하는 개별 계정을 의미하며, 각 사용자는 고유한 UID(User ID)를 가집니다. 사용자는 일반 사용자와 관리자(root 사용자)로 나뉩니다.

  • 관리자(root): 시스템의 모든 권한을 가진 최상위 사용자.
  • 일반 사용자: 제한된 권한을 가지며, 자신의 홈 디렉토리와 파일만 관리 가능.

(2) 그룹(Group)

그룹은 여러 사용자를 묶어 동일한 권한을 부여하기 위한 단위입니다. 각 그룹은 고유한 GID(Group ID)를 가지며, 그룹에 속한 사용자들은 공통의 자원(예: 파일)에 대한 접근 권한을 공유할 수 있습니다.


2. 사용자 계정 관리 명령어

(1) 사용자 추가

새로운 사용자를 생성할 때는 useradd 명령어를 사용합니다.

sudo useradd [사용자이름]

예를 들어, john이라는 사용자를 추가하려면:

sudo useradd john
  • 홈 디렉토리 생성: -m 옵션을 추가하면 사용자의 홈 디렉토리가 생성됩니다.
    sudo useradd -m john
    

(2) 비밀번호 설정

사용자 계정에 비밀번호를 설정하려면 passwd 명령어를 사용합니다.

sudo passwd [사용자이름]

예:

sudo passwd john

(3) 사용자 정보 수정

usermod 명령어를 사용해 기존 사용자의 정보를 수정합니다.

  • 사용자 이름 변경:
    sudo usermod -l 새로운이름 기존이름
    
  • 기본 셸 변경:
    sudo usermod -s /bin/bash john
    

(4) 사용자 삭제

사용자를 삭제할 때는 userdel 명령어를 사용합니다.

  • 기본 명령어:
    sudo userdel [사용자이름]
    
  • 홈 디렉토리와 사용자 데이터도 함께 삭제하려면 -r 옵션을 추가합니다.
    sudo userdel -r john
    

3. 그룹 관리 명령어

(1) 그룹 추가

새로운 그룹을 생성하려면 groupadd 명령어를 사용합니다.

sudo groupadd [그룹이름]

예:

sudo groupadd developers

(2) 사용자 그룹 설정

  • 특정 사용자를 그룹에 추가:
    sudo usermod -aG [그룹이름] [사용자이름]
    

    예:

    sudo usermod -aG developers john
    
  • 사용자가 속한 그룹 확인:
    groups [사용자이름]
    

(3) 그룹 삭제

그룹을 삭제하려면 groupdel 명령어를 사용합니다.

sudo groupdel [그룹이름]

4. 사용자와 그룹 관련 파일

리눅스에서는 사용자와 그룹 정보가 다음 파일에 저장됩니다:

  • /etc/shadow: 사용자 계정의 비밀번호 정보.
  • /etc/group: 그룹 정보.

5. 사용자와 그룹 관리의 주요 명령어 비교

명령어 설명 예시
useradd 새로운 사용자 생성 sudo useradd -m john
passwd 사용자 비밀번호 설정 sudo passwd john
usermod 기존 사용자 정보 수정 sudo usermod -aG developers john
userdel 사용자 삭제 sudo userdel -r john
groupadd 새로운 그룹 생성 sudo groupadd developers
groupdel 그룹 삭제 sudo groupdel developers
groups 사용자가 속한 그룹 확인 groups john

6. 사용자 권한과 파일 권한 관리

(1) 파일 권한 확인

ls -l 명령어를 사용해 파일 권한을 확인합니다.

ls -l [파일명]

출력 예시:

-rw-r--r--  1 john developers 4096 Jan 23 14:00 example.txt
  • 첫 번째 칸: 파일 유형과 권한 (rw- = 읽기/쓰기 권한).
  • john: 파일 소유자.
  • developers: 파일 소유 그룹.

(2) 파일 권한 변경

chmod 명령어를 사용해 파일 권한을 변경합니다.

chmod [권한] [파일명]

예:

chmod 755 example.txt

(3) 소유자 변경

chown 명령어를 사용해 파일 소유자 또는 그룹을 변경합니다.

sudo chown [소유자]:[그룹] [파일명]

예:

sudo chown john:developers example.txt

7. 사용자 관리의 중요성

  1. 보안 유지: 각 사용자와 그룹에 적절한 권한을 부여하여 데이터 유출 및 불필요한 접근을 방지.
  2. 효율적인 관리: 그룹으로 사용자들을 묶어 동일한 권한을 부여함으로써 관리의 효율성 증가.
  3. 문제 해결: 시스템 문제 발생 시, 사용자의 로그와 작업 기록을 추적해 빠르게 원인을 파악.

리눅스 사용자 관리는 시스템 보안과 운영의 기본이 되는 중요한 작업입니다. useradd, usermod, groupadd 같은 명령어를 통해 사용자와 그룹을 효율적으로 관리할 수 있으며, 이를 통해 시스템을 안정적으로 운영할 수 있습니다.

감사합니다.

love2ans

Recent Posts

윈도우에서 시스템 로그를 분석하는 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 시스템 로그 분석 방법에 대해서 알아 보도록 하겠습니다. 윈도우 시스템…

1개월 ago

윈도우에서 게임 최적화 설정하는 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 게임 최적화 설정하는 방법에 대해서 알아보려고합니다. 1. 윈도우 최적화…

2개월 ago

윈도우 블루스크린 오류 해결법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 블루스크린 오류 해결법에 대해서 공부해 보도록 하겠습니다. 블루스크린 오류란? 블루스크린…

2개월 ago

SSD vs HDD 차이점과 Windows 11 최적화 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 SSD와HDD의 차이점과 더블어 Windows 11 최적화 하는 방법에 대해 공부해 보도록…

2개월 ago

윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법에 대해 공부해보도록…

2개월 ago

윈도우의 역사

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우의 역사에 대해 공부해 볼까 합니다. 함께 알아볼까요? 1. 윈도우의…

2개월 ago