본문 바로가기
리눅스

[Linux] 리눅스 유저 관리 명령어

by 공대냥이 2018. 8. 17.
반응형

 

 

사용자 정보 파일

 

/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

 

 

반응형