정리한 내용이 날라가서 추후 업데이트 예정
계정 추가 관리 명령어
useradd [option] 계정명
옵션 | 설명 |
---|---|
-p | 사용자 암호 추가 |
-d | 홈디렉토리 지정 (예시) useradd user02 -d /home/TEST |
-g | 그룹 지정 |
-e | 계정 만료일 지정 |
-u | 계정 UID지정 |
-g | 계정 GID지정 |
-s | 기본 쉘 지정 |
-f | 계정 유효일 지정 |
이미 만들어져있는 계정 수정 명령어
usermod [option] 계정명
옵션 | 설명 |
---|---|
-d | 사용자의 홈디렉터리 변경 (예시) usermod –d /home/TEST –m user01 |
-m | 홈디렉터리 변경 시 기존 사용했던 파일 및 디렉터리를 이동 |
-g | 그룹 변경 (예시) usermod –g terran drone |
-s | 사용자 shell qusrud (예시) usermod –s /bin/sh user01 |
-u | 사용자 UID 변경 |
-e | 계정 만료일 변경 |
-f | 계정 유효일 변경 |
-l | 계정명 변경 |
사용자 계정 삭제해주는 명령어
userdel [option] 계정명
옵션 | 설명 |
---|---|
-r | 사용자의 홈 디렉터리와 메일 관련 파일까지 삭제 |
# 사용자 계정 확인
$ ls -l /home
합계 8
drwx------. 3 hong hong 74 11월 21 09:48 hong
drwx------. 5 test test 4096 11월 21 15:27 test
drwx------. 14 user user 4096 11월 21 10:03 user
# 계정이 완전히 삭제되지 않은 경우
계정이 완벽하게 삭제가 되지 않은 경우
소유자가 불분명한 계정은 삭제해줘야 한다.
uid, gid가 직접적으로 나타나면 안된다.
새로운 그룹을 생성하는 명령으로 root만 사용 가능한 명령어
groupadd [option] 그룹명
사용자 그룹을 삭제하는 명령어
groupdel 그룹명
시스템에서 사용할 수 있는 쉘 종류 확인
# cat -n /etc/shells
1 /bin/sh
2 /bin/bash
3 /sbin/nologin
4 /usr/bin/sh
5 /usr/bin/bash
6 /usr/sbin/nologin
7 /bin/tcsh
8 /bin/csh
passwd [option] 계정명
옵션 | 설명 |
---|---|
-l | 계정 비밀번호 잠금(lock) |
-u | 계정 비밀번호 잠금해제(unlock) |
-d | 계정 비밀번호 제거(delete) |
-e | 계정 비밀번호 만료(expire) 로그인할 때 패스워드 변경 유도 |
계정정보 관리 디렉토리
파일구조
계정명:패스워드:UID:GID:주석:홈디렉토리(저장소):login_shell
test:x:1002:1002::/home/test:/bin/bash
root UID/GID : 0/0
시스템 계정 UID/GID : 1~999
일반 사용자 계정 UID/GID : 1000
패스워드 관리 정책
관리자는 패스워드 보안 정책에서 제외된다.
일반 패스워드 정책 | shadow 패스워드 정책 |
---|---|
$ pwunconv
$ pwconv
패스워드
암호화된 패스워드 필드 구성
$ID$Salt$Encrypted_password:비밀번호변경일:0:최대사용일수:만료예고일
종류 | 설명 |
---|---|
ID | 해시 알고리즘 명시 1 : MD5 / 2 : BlowFish / 5 : SHA-256,6 / 6 : SHA-512 |
Salt | - 패스워드 암호화 강도를 높이기 위한 임의 값 - 운영체제에서 랜덤하게 만들어내는 값 |
Encrypted_password | 사용자의 패스워드+Salt 조합 후 해시한 해시값 - * : 패스워드가 잠긴 상태(로그인 X)- ! : Lock이 걸려있거나 패스워드 X |
user:$6$5ncSHaX5BOM8jdrK$3eCZi/Bb6C0zQmPKemOK0z6MkNwshM5Lob2JVU0p93I98yc5GIw8LyCH8trfJEUgsCeh43bk.rn5HNJ59Bldu/:19682:0:99999:7:::
/etc/shadow
의 날짜 관련 필드 설정$ chage [option] 계정명
옵션 | 설명 |
---|---|
-l | 사용자 비밀번호 정보를 보여줌 |
-m | 최소 사용 날짜 |
-M | 최대 사용 가능한 날 |
-W | 패스워드만기일 n일전에 경고메세지 보냄 |
$ tail -3 /etc/passwd
test:!!:19682:0:99999:7:::
$ chage -l test
마지막으로 암호를 바꾼 날 :11월 21, 2023
암호 만료 :안함
암호가 비활성화 기간 :안함
계정 만료 :안함
암호를 바꿀 수 있는 최소 날 수 : 0
암호를 바꿔야 하는 최대 날 수 : 99999
암호 만료 예고를 하는 날 수 : 7
$ chage -m 10 -M 100 -W 5 test
$ chage -l test
마지막으로 암호를 바꾼 날 :11월 21, 2023
암호 만료 : 2월 29, 2024
암호가 비활성화 기간 :안함
계정 만료 :안함
암호를 바꿀 수 있는 최소 날 수 : 10
암호를 바꿔야 하는 최대 날 수 : 100
암호 만료 예고를 하는 날 수 : 5
명령어를 모르는 경우 파일 직접 편집 가능
계정 그룹지정
리눅스 배포판마다 명령어가 다르다. 만약 명령어를 모르면 직접 그 파일을 편집해도 된다.
$ nano /etc/group