안녕하세요. 하얀 도화지 남편입니다.
오늘은 리눅스 사용자 관리에 대해서 알아보는 시간입니다.
리눅스는 다중 사용자 시스템으로 설계되어 여러 사용자가 동시에 시스템에 접근할 수 있습니다. 사용자 계정 관리는 시스템 보안과 운영의 핵심적인 부분으로, 각 사용자의 권한, 환경 설정, 접근 권한 등을 제어합니다. 하기 내용은 리눅스 사용자 관리의 기본 개념과 주요 명령어를 설명하고, 관련 내용을 표로 정리합니다.
1. 사용자와 그룹의 개념
(1) 사용자(User)
사용자는 리눅스 시스템을 사용하는 개별 계정을 의미하며, 각 사용자는 고유한 UID(User ID)를 가집니다. 사용자는 일반 사용자와 관리자(root 사용자)로 나뉩니다.
- 관리자(root): 시스템의 모든 권한을 가진 최상위 사용자.
- 일반 사용자: 제한된 권한을 가지며, 자신의 홈 디렉토리와 파일만 관리 가능.
(2) 그룹(Group)
그룹은 여러 사용자를 묶어 동일한 권한을 부여하기 위한 단위입니다. 각 그룹은 고유한 GID(Group ID)를 가지며, 그룹에 속한 사용자들은 공통의 자원(예: 파일)에 대한 접근 권한을 공유할 수 있습니다.
2. 사용자 계정 관리 명령어
(1) 사용자 추가
새로운 사용자를 생성할 때는 useradd
명령어를 사용합니다.
예를 들어, john
이라는 사용자를 추가하려면:
- 홈 디렉토리 생성:
-m
옵션을 추가하면 사용자의 홈 디렉토리가 생성됩니다.
(2) 비밀번호 설정
사용자 계정에 비밀번호를 설정하려면 passwd
명령어를 사용합니다.
예:
(3) 사용자 정보 수정
usermod
명령어를 사용해 기존 사용자의 정보를 수정합니다.
- 사용자 이름 변경:
- 기본 셸 변경:
(4) 사용자 삭제
사용자를 삭제할 때는 userdel
명령어를 사용합니다.
- 기본 명령어:
- 홈 디렉토리와 사용자 데이터도 함께 삭제하려면
-r
옵션을 추가합니다.
3. 그룹 관리 명령어
(1) 그룹 추가
새로운 그룹을 생성하려면 groupadd
명령어를 사용합니다.
예:
(2) 사용자 그룹 설정
- 특정 사용자를 그룹에 추가:
예:
- 사용자가 속한 그룹 확인:
(3) 그룹 삭제
그룹을 삭제하려면 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
명령어를 사용해 파일 권한을 확인합니다.
출력 예시:
- 첫 번째 칸: 파일 유형과 권한 (
rw-
= 읽기/쓰기 권한). john
: 파일 소유자.developers
: 파일 소유 그룹.
(2) 파일 권한 변경
chmod
명령어를 사용해 파일 권한을 변경합니다.
예:
(3) 소유자 변경
chown
명령어를 사용해 파일 소유자 또는 그룹을 변경합니다.
예:
7. 사용자 관리의 중요성
- 보안 유지: 각 사용자와 그룹에 적절한 권한을 부여하여 데이터 유출 및 불필요한 접근을 방지.
- 효율적인 관리: 그룹으로 사용자들을 묶어 동일한 권한을 부여함으로써 관리의 효율성 증가.
- 문제 해결: 시스템 문제 발생 시, 사용자의 로그와 작업 기록을 추적해 빠르게 원인을 파악.
리눅스 사용자 관리는 시스템 보안과 운영의 기본이 되는 중요한 작업입니다. useradd
, usermod
, groupadd
같은 명령어를 통해 사용자와 그룹을 효율적으로 관리할 수 있으며, 이를 통해 시스템을 안정적으로 운영할 수 있습니다.
감사합니다.