사용자 정보 파일
/etc/passwd 사용자의 기본적인 정보가 저장된 파일
/etc/shadow 사용자의 암호가 저장된 파일
# cat /etc/passwd | grep root
-> root:x:0:0:root:/root:/bin/bash
# cat /etc/shadow | grep root
root:$1$z0vZjMTK$pp5tRxbS9k9CWhimjHfZA.:16110:0:99999:7:::
(/etc/shadow 파일의 필드 해석)
필드 | 설 명 |
root | 사용자 이름(login name) |
$1$z0vZjMTK$pp5tRxbS9k9CWhimjHfZA. | 사용자 암호(encrypted password) $1$ : 암호화 알고리즘 $z0vZjMTK$ : salt key $pp5tRxbS9k9CWhimjHfZA. : 암호화된 암호 |
14642 | 암호변경일 (days since Jan 1, 1970 that password was last changed) |
0 | 암호를 변경할 수 없는 최소 날짜 (days before password may be changed) |
99999 | 암호를 사용할 수 있는 최대 날짜 (days after which password must be changed) |
7 | 사용자 암호 만료되기전 사용자에게 경고 메세지를 주는 기간 (days before password is to expire that user is warned) |
사용자 로그인하지 않으면 암호를 비활성화 시키는 기간 (days after password expires that account is disabled) |
|
사용자 암호 만료 기간, 절대로 넘을 수 없는 기간 (days since Jan 1, 1970 that account is disabled) |
|
아직 기능이 없음 |
사용자 관리 명령어
useradd CMD 사용자 정보 추가 명령어
-u UID 선택(UID 500 이상), 해당 옵션 미사용시 기존사용자 UID 다음번째 UID 선택
-g GID 선택(GID 500 이상), 해당 옵션 미사용시사용자 이름과 동일한 그룹 생성
-c COMMENT 설정 해당 옵션 미사용시 코멘트 없음.
-d HOME_DIR /home/$USER 디렉토리 생성
-s 쉘 설정 옵션 미사용시 기본적으로 /bin/bash 지정
-M Home 디렉토리 생성 X (# chown -R oracle:oinstall /oracle )
# useradd -D 사용자 생성시 사용되는 기본 설정값.
-> /etc/default/useradd 파일의 내용을 변경하게 된다.
usermod CMD 사용자 정보 변경 명령어
(명령어 사용예)
# usermod -u 2000 user01
# usermod -s /bin/ksh user01
# usermod -g 10 -c "Test Group" user01
# usermod -l user03 -d /home/user03 -m user01
0
userdel CMD 사용자 정보 삭제 명령어
# userdel user01 /* /etc/passwd, /etc/shadow 정보 삭제 */
# userdel -r user01 /* /etc/passwd, /etc/shadow + Home Directory 삭제 + /var/spool/mail/$USER */
※사용자 생성시 /etc/skel 내 파일을 생성한 사용자 홈 디렉토리로 복사.
그룹 관리 ( /etc/group)
# id (# groups)
uid=0(root)gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
주 그룹(Primary Group) : root(0)
부 그룹(Secondary Group) : bin(1), daemon(2), sys(3), adm(4), disk(6), wheel(10)
그룹 관리 명령어
groupadd 명령어 그룹 정보 추가
# groupadd class1
# groupadd -g 1000 class2
groupmod 명령어 그룹 정보 변경
# groupmod -g 1001 class1
# groupmod -n class3 class1
groupdel 명령어 그룹 정보 삭제
# groupdel class2
패스워드 사용 제한 관리
(/etc/shadow)
user01:$1$eG0hsAqw$Cfawvh5OsIye2rKYcRPH.0:Last Change:MIN:MAX:WARN:INATIVE:Expire Date:
user01:$1$eG0hsAqw$Cfawvh5OsIye2rKYcRPH.0:14650:0:99999:7:::
user01:$1$eG0hsAqw$Cfawvh5OsIye2rKYcRPH.0:14650:30:90:7:30:15000:
Last Change: days since Jan 1, 1970 that password was last changed
MIN: days before password may be changed
MAX: days after which password must be changed
WARN: days before password is to expire that user is warned
INACTIVE: days after password expires that account is disabled
EXPIRE DATE: days since Jan 1, 1970 that account is disabled
chage 명령어 - 시스템 보안을 위해 사용자 패스워드 만기일을 설정 및 변경하는 명령어
(명령어 사용예)
# chage -M 30 -W 7 user01 /* MAX_AGE 를 30일로 설정, 7일 전 부터 경고메세지*/
# chage -E 2010-03-30 user01 /* Expire Date 설정, 해당 날짜가 지나면 패스워드 파기*/
# chage -l user01 /* 패스워드 관련 정보 확인 */
[참고] 패스워드 관리 정책
(전역 설정) /etc/login.defs (PASS_MAX_DAYS,PASS_WARN_DAYS)
(개인 설정) /etc/shadow
'리눅스' 카테고리의 다른 글
[Linux / CentOS] CentOS 점검 명령어 모음 (0) | 2018.08.27 |
---|---|
[Linux] Logrotate 리눅스 로그 순환 관리 (0) | 2018.08.22 |
[Linux] 리눅스 주요 로그 파일 정리 (0) | 2018.08.22 |
[Linux / Unix] 리눅스 접근통제 TCP Wrapper (0) | 2018.08.21 |
[Linux] 리눅스 NAT : SNAT & DNAT (0) | 2018.08.17 |
[CentOS7] firewall-cmd 리눅스 방화벽 사용법 정리 (firewalld) (1) | 2018.08.17 |
[Linux] 리눅스 방화벽 Iptables 개념정리 (0) | 2018.08.14 |
[Linux] 리눅스 방화벽 Iptables 사용 예시 (0) | 2018.08.14 |