-
[Linux] 사용자 패스워드 관련 명령어(chage/passwd/usermod)리눅스(Linux) 2023. 5. 5. 18:55
⌨️ usermod
사용자의 셸, 홈 디렉터리, 그룹, UID, GID 등을 변경하는 명령어로 사용자 관련하여 대부분의 정보를 변경할 수 있다.
사용법
usermod [option] 사용자계정
[ 주요 옵션 ]
필드 설명 -d 사용자의 홈 디렉터리를 변경한다. 변경할 디렉터리는 미리 생성되어야 한다. -m과 같이 사용하면 사용하던 홈 디렉터리의 파일과 디렉터리도 같이 옮겨주므로 이 경우에는 디렉터리를 생성하지 않아도 된다.(--home) -m 사용자의 홈 디렉터리 변경 시 기존에 사용하던 파일 및 디렉터리를 옮겨주는 옵션으로 -d와 함께 쓰인다.(--move-home) -g 사용자의 그룹을 변경한다.(--gid) -s 사용자의 셸을 변경한다.(--shell) -u 사용자의 UID 값을 변경한다.(--uid) -e 계정만기일을 변경한다. YYYY-MM-DD 또는 MM/DD/YY 형태로 지정한다.(--expiredate) -f 패스워드 만기일이 지난 후 패스워드에 Lock을 설정할 유예 기간을 지정한다.(--inactive) -c 사용자의 간단한 정보를 입력하거나 변경한다.(--comment) -G 추가로 다른 그룹에 속하게 할 때 쓰인다.(--groups) -a -G 옵션과 같이 사용하는 옵션으로 기존의 2차 그룹 이외에 추가로 2차 그룹을 지정할 때 사용한다.(--append) -p /etc/shadow의 2번째 필드인 암호화된 패스워드 값을 변경할 때 쓴다. 이 옵션을 사용할 때는 암호화된 값으로 값을 지정해야 한다.(--password) -l 사용자 아이디를 변경한다.(--login) -L 사용자의 패스워드에 잠금(Lock)을 걸어 로그인을 막는다.(--lock) -U 사용자의 패스워드에 설정된 잠금(Lock)을 푼다.(--unlock) ⌨️ passwd
등록된 사용자의 암호를 지정하거나 변경하는 명령어이다. 리눅스에서는 useradd로 계정을 생성한 후에 암호를 지정하지 않으면 로그인이 되지 않으므로 반드시 지정해야 한다. passwd만 입력하면 현재 로그인 사용자의 암호가 변경되고, root만 다른 사용자의 암호를 변경할 수 있다.
사용법
passwd [option] 사용자계정
[ 주요 옵션 ]
필드 설명 -S 사용자에 대한 패스워드 정보를 알 수 있다. -l 사용자의 패스워드에 잠금(lock)을 걸어 로그인을 막는다.(--lock) -u 사용자에게 설정되어 있는 패스워드 잠금을 푼다.(--unlock) -d 사용자의 패스워드를 제거한다. 패스워드 없이 로그인이 가능하다. -n 패스워드 변경까지의 최소 날짜를 설정한다. 즉, 패스워드 변경 후 최소로 사용해야 되는 날짜수이다. -x 현재 패스워드의 유효 기간을 지정한다. 즉, 패스워드 최대 사용 가능한 날짜수이다. -w 패스워드 만료 전 경고 날짜를 지정한다. -i 패스워드가 만료된 뒤에 사용자 계정이 실제 로그인이 불가능하게 되기까지의 유예 기간을 설정한다. -e 다음 로그인 시에 반드시 패스워드를 변경하도록 할 때 사용한다. 이 옵션을 사용하면 /etc/shadow의 세 번째 필드의 값이 0으로 설정된다. ⌨️ chage
사용자의 패스워드에 대한 정보를 출력하고 설정하는 명령어이다. /etc/shadow의 날짜 관련 필드 설정을 모두 할 수 있는 명령어
사용법
chage [option] 사용자계정
[ 주요 옵션 ]
필드 설명 -l 사용자의 패스워드에 대한 정보를 보여준다.(--list) -d /etc/shadow의 3번째 필드에 해당하는 값인 최근 패스워드를 바꾼 날을 수정한다. 'YYYY-MM-DD' 형식으로 지정해도 된다.(--lastday) -m 패스워드 변경의 최소 날짜를 지정한다. 즉, 패스워드 변경 후 일정 기간 사용하는 최소 날짜수를 지정한다.(--mindays) -M 패스워드를 변경 없이 사용 가능한 최대 날짜를 지정한다. 즉, 한번 설정한 패스워드의 만기일을 지정한다.(--maxdays) -I 패스워드 최대 사용 기간 만료 후에 실제 패스워드에 잠금(Lock)을 설정하기까지의 유예 기간을 지정한다.(--inactive) -E 계정이 만기되는 날을 지정한다. MM/DD/YY 또는 YYYY-MM-DD 형태로 지정한다.(--expiredate) -W 패스워드 만료 전 변경을 요구하는 경고 날짜를 지정한다.(--warndays) -h 명령어의 사용법 및 주요 옵션 정보를 간략히 출력한다.(--help) 📂 /etc/passwd
시스템에 로그인하여 자원을 이용할 수 있는 사용자의 목록을 저장하고 있는 정보 파일이다. 이 파일에 기록된 사용자 정보는 그 사용자가 로그인하고, 로그아웃할 때까지 항상 시스템이 사용자를 감시하기 위한 근거가 되는 파일이다.
콜론(:)을 구분자로 사용하고 ID, 개인의 홈 디렉터리 등 7개의 기본적인 정보를 담고 있다. 이 중 2번째 필드인 패스워드는 암호화해 /etc/shadow 파일에서 추가로 관리한다.
username : password : UID : GID : fullname : home-directory : shell [ 필드 설명 ]
필드 설명 user01 사용자명(username) x 사용자의 패스워드. 현재 대부분의 리눅스 배포판에서는 이 필드에 기록되는 패스워드를 암호화해 /etc/shadow에서 별도로 관리함 1000 UserID(UID). 리눅스에서는 사용자를 숫자값으로 관리 1000 GroupID(GID). 사용자가 속한 그룹의 숫자값 user01 사용자에 대한 추가적인 정보가 기록되는 부분 /home/user01 사용자의 작업 디렉터리인 홈 디렉터리를 기록 /bin/bash 로그인시 사용하는 셸을 나타냄 📂 /etc/shadow
/etc/passwd의 두 번째 필드인 패스워드 부분을 암호화해 관리하는데 총 9개의 필드로 구성되어 있고 패스워드 만기일, 계정 만기일 등을 설정할 수 있다. 이 파일은 오직 root만 접근할 수 있다.
username : password : last : may : must : warn : expire : disable : reserved [ 필드 설명 ]
필드 설명 user01 사용자 이름(username) $6$... 암호화(encode)된 사용자의 패스워드가 기록되어 있는 곳이다. 초기에는 MD5라는 암호화 알고리즘을 사용했고, Blowfish, SHA-256, SHA-512 등이 사용된다. SHA-512 알고리즘을 사용할 경우에는 $6으로 시작한다. 3번째 필드 가장 최근에 패스워드를 바꾼 날로 1970년 1월 1일부터 계산한 날수이다. 0 패스워드를 바꾼 후 최소로 사용해야 되는 날짜수로 다른 패스워드로 변경 가능하기까지의 유예 기간이다. 0이면 언제라도 패스워드를 변경할 수 있다. 99999 현재 사용 중인 패스워드의 최대 사용 가능한 기능, 즉 현재 패스워드의 유효 기간이다. 99999는 패스워드를 변경하지 않고 계속 사용 가능하다는 것을 의미한다. 7 패스워드 사용기한이 만료되기 전에 사용자에게 바꿀 것을 경고하는 기간이다. 7번째 필드 패스워드 사용기한이 만료된 뒤에 실제 계정이 사용 불가능하기까지의 기간으로 일종의 유예 기간이다. 8번째 필드 계정 만기일로 계정 사용 불가능하게 된 날 또는 불가능하게 되는 날이다. 3번째 필드와 마찬가지로 1970년 1월 1일을 기준으로 계산한다. 9번째 필드(공백) 다른 기능을 사용하기 위해 남겨둔 예약된 공간으로 아직 사용하지 않고 있다. 명령어 별 옵션 비교
/etc/shadow 항목별 명령어 옵션 비교 '리눅스(Linux)' 카테고리의 다른 글
[Linux] route 명령어 (0) 2023.05.05 [Linux] ifconfig 명령어 (0) 2023.05.05 [Linux] ip 명령어 (0) 2023.05.05 [Linux] 네트워크 하드웨어 (0) 2023.05.05 [Linux] Shell의 종류 (0) 2023.05.04