2 분 소요

passwd는 unix나 unix계열의 운영체제에서 사용자의 암호를 변경하는데 사용하는 명령어 이다. 사용자가 입력한 암호는 보안상의 이유로 입력한 값을 그대로 저장하지 않고 해시값으로만 저장이된다.

root사용자는 시스템에 있는 모든 사용자의 암호를 변경할 수 있지만 일반 사용자는 본인 계정의 암호 변경만 가능하다. 단, 관리자 권한을 가진 사용자는 sudo명령어를 통해 다른 사용자의 권한을 변경할 수 있다.

Syntax

passwd [options] [username]

Options

-d, –delete

사용자 계정의 암호를 삭제하고 암호가 없는 상태로 만든다. 암호가 없는 상태가 되면 사용자 계정은 암호 없이 로그인 가능하다. root권한을 가진 계정만 사용 가능하다.

$ passwd -d [username]

example

user1 사용자의 암호를 삭제한다.

$ passwd -d user1


-e, –expire

사용자 계정의 암호를 즉시 만료한다. 계정이 만료된다면 해당 계정의 사용자는 접속 시 암호를 변경하여야 한다. root권한을 가진 계정만 사용 가능하다.

$ passwd -e [username]

example

user1의 암호를 즉시 만료상태로 설정한다.

$ passwd -e user1


-i, -–inactive

사용자 계정의 암호 만료일을 설정한다. 입력한 정수값 이후에 계정은 만료상태가 되고 해당 계정의 사용자는 접속 시 암호를 변경하여야 한다. root권한을 가진 계정만 사용 가능하다.

$ passwd -i [INACTIVE_DAYS] [username]

example

user1의 암호를 3일 후에 만료상태로 설정한다.

$ passwd -i 3 user1


-k, -–keep-tokens

사용자 계정의 암호가 만료된 이후의 암호를 설정한다. 만약 현재 암호 만료가되지 않은 경우 현재 암호로 인증되고 암호가 만료가 된 경우 입력했던 새로운 암호로 인증된다. 만약 사용자의 만료기간이 없는 경우 암호는 새롭게 입력된 값으로 변경된다.

$ passwd -k [username]

example

user1의 암호 만료일 이후의 암호를 변경한다.

$ passwd -k user1
$ New password:
$ Retry new password:


-l, -–lock

사용자 계정의 암호를 잠근다. 계정을 잠그는 경우 사용자는 암호를 입력하여 로그인을 할 수 없으며, ssh key와 같은 다른 인증방법을 통해 계정에 로그인 할 수 있다. root권한을 가진 계정만 사용 가능하다.

$ passwd -l [username]

example

user1의 암호를 잠근다.

$ passwd -l user1


-n, –-mindays

사용자 계정의 암호변경 가능 최소일을 설정한다. 해당 옵션은 사용자가 설정한 기간내에 암호를 변경할 수 없도록 설정한다. root권한을 가진 계정만 사용 가능하다.

$ passwd -n [MIN_DAYS] [username]

example

user1의 암호변경 최소일을 90일로 설정한다.

$ passwd -n 90 user1


-S, –status

사용자 계정의 상태 정보를 표시한다. 정보는 아래와 같이 총 7개의 항목으로 구성되어 있다. root권한을 가진 계정만 사용 가능하다.

  • 사용자 계정명
  • 암호 상태
    • LK: 잠금 상태
    • NP: 암호가 없는 상태
    • PS: 사용가능한 암호가 설정되어 있는 상태
  • 마지막 암호 변경일
  • 최소 암호 사용 기간
  • 최대 암호 사용 기간
  • 암호 만료 경고 기한
  • 암호 만료 기간
$ passwd -S [username]

example

user1의 계정 상태 정보를 표시한다. user1의 사용자는 사용 가능한 암호가 설정되어 있는 상태이며 마지막 암호 변경일은 2020-01-19이다. 최소 암호 사용 기간은 0일이며 최대 암호 사용 기간은 99999(무제한)일이다. 암호 만료 경고는 만료일로부터 7일 이전에 사용자에게 알리며 만료 기간은 -1(없음)일이다.

$ passwd -S user1
user1 PS 2020-01-19 0 99999 7 -1 (Password set, SHA512 crypt.)


-u, –unlock

사용자 계정의 잠금상태를 해제한다. root권한을 가진 계정만 사용 가능하다.

$ passwd -u [username]

example

user1의 잠금상태를 해제한다.

$ passwd -u user1


-w, –warndays

사용자 계정의 암호가 만료되기 전 만료경고를 알려주는 기한을 설정한다. 사용자는 설정된 기한 내에 접속할 경우 암호 만료 경고 문구를 수신한다.

$ passwd -w [WARN_DAYS] [username]

example

user1의 경고 알림 기한을 7일로 설정한다.

$ passwd -w 7 user1


-x, –maxdays

사용자 계정의 암호의 최대 사용 기간을 설정한다. 최대 사용기간이 지나면 사용자는 암호를 즉시 변경하여야 한다. 기간을 99999로 설정할 경우 사용 기간은 무제한을 의미한다.

$ passwd -x [MAX_DAYS] [username]

example

user1의 최대 암호 사용 기간을 100일로 설정한다.

$ passwd -x 100 user1

https://en.wikipedia.org/wiki/Passwd

https://www.geeksforgeeks.org/passwd-command-in-linux-with-examples/

https://www.computerhope.com/unix/upasswor.htm