리눅스 사용자 계정의 구조
사용자 정보 파일
- /etc/passwd
- 모든 사용자 계정 정보를 저장.
- 형식: username:x:UID:GID:comment:home_directory:shell
- 설명:
- username: 사용자 이름.
- x: 비밀번호 필드(보안상 /etc/shadow에 저장).
- UID: 사용자 ID.
- GID: 그룹 ID.
- comment: 사용자 설명(예: 이름).
- home_directory: 홈 디렉토리 위치.
- shell: 로그인 셸(기본값: /bin/bash).
- /etc/shadow
- 암호화된 비밀번호를 저장.
- 형식: username:encrypted_password:last_change:min:max:warn:inactive:expire
- /etc/group
- 그룹 정보를 저장.
- 형식: group_name:x:GID:member_list
사용자 관리 명령어
1. 사용자 추가
adduser로 사용자 추가
sudo adduser username
실행하면 아래와 같은 대화형 프롬프트가 표시됩니다:
Adding user `username' ...
Adding new group `username' (1001) ...
Adding new user `username' (1001) with group `username' ...
Creating home directory `/home/username' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: *****
Retype new UNIX password: *****
Full Name []: 홍길동
Room Number []: 123
Work Phone []: 010-1234-5678
Home Phone []:
Other []:
Is the information correct? [Y/n] y
useradd로 사용자 추가
sudo useradd -m -s /bin/bash username
- 옵션:
- -m: 홈 디렉토리 생성.
- -s: 사용자 기본 셸 지정.
비밀번호 설정
sudo passwd username
2. useradd와 adduser의 차이점
항목 | useradd | adduser |
사용 방식 | 비대화형, 명령어 옵션 지정 필요 | 대화형, 간단하고 직관적 |
홈 디렉토리 생성 | 기본적으로 생성하지 않음 (-m 옵션 필요) | 기본적으로 생성 |
환경 파일 복사 | 기본적으로 하지 않음 (/etc/skel 필요) | /etc/skel 파일 자동 복사 |
비밀번호 설정 | 별도로 passwd 명령어 실행 필요 | 비밀번호 설정을 자동으로 처리 |
추천 대상 | 고급 사용자, 스크립트 작성 시 적합 | 초보자, 단순 유저 추가 작업에 적합 |
3. 사용자 정보 수정
명령어
sudo usermod -c "사용자 설명" -s /bin/zsh username
- 옵션:
- -c: 사용자 설명 수정.
- -s: 기본 셸 변경.
- -l: 사용자 이름 변경.
- -d: 홈 디렉토리 변경.
4. 사용자 삭제
명령어
sudo userdel -r username
- 옵션:
- -r: 사용자와 함께 홈 디렉토리 삭제.
그룹 관리 명령어
1. 그룹 추가
sudo groupadd group_name
2. 사용자를 그룹에 추가
sudo usermod -aG group_name username
3. 그룹 삭제
sudo groupdel group_name
사용자 권한과 파일 소유권
파일 소유권 확인
ls -l 파일이름
- 출력 예시:
rw-r--r-- 1 owner group size date 파일이름
파일 소유권 변경
1. 소유자 변경 : chown
sudo chown owner 파일이름
- 예시 : sudo chown hong test.txt
2. 그룹 변경 : chgrp
sudo chgrp group_name 파일이름
- 예시 : sudo chgrp devteam test.txt
3. 소유자와 그룹 변경 동시 수행 : chown owner:group
sudo chown hong:devteam test.txt
UID와 GID
UID (User ID)
UID는 사용자를 고유하게 식별하는 숫자 값입니다.
- 범위:
- 0: root 계정.
- 1-999: 시스템 계정.
- 1000 이상: 일반 사용자.
UID 확인
cat /etc/passwd
GID (Group ID)
GID는 그룹을 고유하게 식별하는 숫자 값입니다.
- 범위:
- 0: root 그룹.
- 1-999: 시스템 그룹.
- 1000 이상: 일반 그룹.
GID 확인
cat /etc/group
파일 권한 설정
권한 구조
- 소유자(owner), 그룹(group), 기타 사용자(others).
- 권한:
- r: 읽기 = 4.
- w: 쓰기 = 2.
- x: 실행 = 1.
권한 변경
1. 숫자 방식
chmod 755 파일이름
2. 문자 방식
chmod u+rwx,g+rx,o-r 파일이름
'Linux' 카테고리의 다른 글
리눅스 사용자 권한 (chmod, chown, chgrp) (0) | 2025.01.21 |
---|---|
리눅스 sudo(superuser do) 와 su(substitute user) 명령어 (0) | 2025.01.21 |
리눅스 디렉토리 계층 구조 (0) | 2025.01.19 |
가상화(Virtualization) (0) | 2025.01.19 |
리눅스의 계층 구조(커널, 셸 등) (0) | 2025.01.19 |