리눅스 배포판마다 조금씩 다르므로, 본 포스팅에서는 데비안 계열을 기본으로 합니다.(필요시 코멘트 달았음)
1. /etc/passwd 설명
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
":" 을 구분자로 7개의 필드로 이루어져 있으며, 각 필드는 아래와 같은 데이터를 지님
{유저이름}:{암호화된패스워드}:{numeric uid}:{numeric gid}:{use name or comment}:{home directory}:{login shell}
- 암호화된패스워드: x 로 숨겨져있으며, 실제 값은 /etc/shadow 파일에 존재한다.
- numeric uid:
- 0: root
- 1~999: system account(데비안 계열인 경우)
- 1000~60000: local user(사용자 계정)
- 60000~65535: system account
- numeric gid: 기본적으로 user 마다 개인그룹이 생성되며, numeric uid 와 동일한 숫자를 가짐
- login shell: nologin 인 경우 시스템 계정으로, 로그인이 차단된 계정이다.
2. /etc/shadow 설명
root:*:20007:0:99999:7:::
daemon:*:20007:0:99999:7:::
bin:*:20007:0:99999:7:::
2번째 필드가 패스워드를 의미하며, *, ! 가 들어있는 경우는 login lock 걸린 유저임.(로그인 불가)
3. /etc/group 설명
root:x:0:
daemon:x:1:
bin:x:2:
sample:x:3:test1,test2,test3
":" 을 구분자로 4개의 필드로 이루어져 있으며, 각 필드는 아래와 같은 데이터를 지님
{그룹명}:{그룹패스워드}:{gid}:{본 그룹을 추가그룹으로 가지는 유저들}
4. 계정 추가
useradd[ options] {유저명}
자주 사용하는 옵션 설명
- -u: uid 지정
- -g: gid 지정. 지정하지 않으면 1000번부터 auto increment 로 uid 가 할당됨
- -c: 코멘트 작성
- -d: home directory 지정
- -e: 로그인 가능한 최대 날짜 지정
- -G: 추가그룹 지정. 여러개 지정시 "," 로 구분자 사용
- -m: home directory 자동 생성(레드헷 계열에서는 옵션을 지정하지 않아도 자동생성됨)
- -o: uid 중복가능하도록 함
- -p: 패스워드 지정. 지정 안할시 로그인 불가능 유저로 생성됨
- -r: 시스템 계정임을 명시
- -s: login shell 지정. 기본값 /bin/sh
5. 패스워드 지정
passwd {유저명}
패스워드를 지정하면 로그인 가능한 계정이 된다.
/etc/shadow 파일에 암호화된 패스워드가 추가된다.
6. 계정 정보 변경
usermod[ options] {유저명}
기본적으로 useradd 와 동일한 옵션을 가지며, 아래 옵션이 추가적으로 존재한다.
- -a: 추가그룹 추가(새로 지정이 아닌 추가임. -G 옵션과 항상 같이 쓴다.)
- -l: 유저명 수정
- -L: 계정 잠그기. /etc/shadow 의 패스워드 앞에 "!" 문자가 추가된다.
- -U: 계정 잠금 풀기
7. 계정 삭제
userdel[ options] {유저명}
- -r: 메일 사서함과 home directory 까지 지우기
8. 그룹 추가
groupadd[ options] {그룹명}
- -g: gid 지정
9. 그룹 변경
groupmod[ options] {그룹명}
- -g: gid 변경
10. 그룹 삭제
groupdel {그룹명}
추가그룹만 삭제 가능하며, 해당 그룹을 추가그룹으로 가지고 있던 계정에게서 해당 추가그룹이 삭제된다.
'Linux' 카테고리의 다른 글
[LINUX] 파일 압축시 자주 쓰는 명령어 정리 tar gzip bzip2 xz zip (0) | 2025.03.02 |
---|---|
[LINUX] 권장되는 조건문 사용방법 (0) | 2024.10.10 |
[LINUX] 위치매개변수 정리 (0) | 2022.12.27 |
[LINUX] 리눅스 쉘 매개변수 확장 정리 := :- 차이 등 (0) | 2022.12.27 |
[LINUX] bash 쉘 명령행 편집키 정리 (0) | 2022.12.12 |