다음 명령을 실행한 후:
$ usermod -e <yesterday> -f <tomorrow> bea
Bea의 계정은 만료되지만 여전히 유효합니다(내일까지).
차이점은 무엇입니까? 오늘은 일어날 수 없는 일이 어제 일어났을 수도 있었나요? 내일 일어나지 않을 수도 있는 일이 오늘 일어날 수 있습니까?
답변1
usermod -e
일반적으로 날짜를 매개변수로 사용합니다. 날짜를 지정하면 usermod -e 2019-12-31 joeuser
Joe 사용자의 계정은 연말까지만 유효하며 관리자가 새 계정 만료 날짜를 설정하여 계정을 다시 활성화하지 않는 한 더 이상 유효하지 않습니다. usermod -e "" joeuser
예약된 만료 없이 무기한으로 활성화된 계정 허용을 사용합니다 .
usermod -e 1 joeuser
즉시 계정 비활성화를 사용할 수도 있습니다 . 이렇게 하면 계정이 1970년 1월 2일에 만료되도록 효과적으로 설정됩니다.
이와 같은 계정 비활성화는 모든 인증 메커니즘에 적용됩니다. 사용자가 SSH 키, 스마트 카드, RSA SecurID 또는 기타 인증 메커니즘을 사용하더라도 계정은 로그인을 허용하지 않습니다. 이와 같이 계정이 비활성화되면 사용자가 다시 활성화하기 위해 개별적으로 수행할 수 있는 작업은 없습니다. 유일한 방법은 시스템 관리자에게 문의하는 것입니다.
이 점에 유의하시기 바랍니다계정 만료완전히 독립된비밀번호가 만료되었습니다.
usermod -f
반면에 매개변수로 일수를 기대합니다. 이것은 사용자의 비밀번호가 만료될 때 똑딱거리기 시작하는 시계입니다. 예를 들어 사용자 Joe의 비밀번호가 90일 후에 만료되도록 설정한 경우( passwd -x 90 joeuser
) 및 usermod -f 14 joeuser
, 사용자 Joe가 비밀번호를 마지막으로 변경한 후 90일이 지나면 Joe는 정확히 14일 동안 로그인을 시도하면 비밀번호를 강제로 변경해야 합니다. 이렇게 하면 새 비밀번호는 다시 90일 동안 유효합니다.
Joe가 14일 이내에 로그인하지 않으면 계정이 잠기며 Joe가 여전히 시스템에 액세스해야 하는 경우 관리자에게 문의하여 계정을 잠금 해제해야 합니다.
역사적으로 passwd -l
잠긴 계정을 의미하는 데 사용되었지만 최신 Linux PAM 구현에서는 실제로 잠긴 계정을 의미합니다.비밀번호만. 계정이 SSH 키 또는 다른 인증 방법으로 구성된 경우 passwd -l
.
계정을 삭제하거나 구성을 변경하지 않고 계정을 완전히 비활성화하는 현재 권장되는 방법입니다(필요한 경우 계정을 이전과 똑같이 다시 활성화할 수 있도록) usermod -e 1 <username>
. 이는 기존 PAM 구현과 새로운 PAM 구현 모두에서 동일하게 작동하는 것이 보장됩니다.
사용자의 셸을 /bin/false
메시지를 표시한 다음 종료하는 명령으로 변경하면 모든 인증 방법에 대한 명령줄 로그인이 비활성화될 수도 있지만 부작용은 사용자의 현재 셸에 대한 정보가 손실된다는 것입니다. 또한 시스템에 인증을 위해 시스템 비밀번호를 사용하는 다른 서비스(예: 이메일 또는 FTP)가 있는 경우 셸을 변경해도 해당 서비스에 대한 액세스가 비활성화되지 않을 수 있습니다.
답변2
지금은 테스트할 수 없기 때문에 100% 확신할 수는 없지만 올바르게 기억한다면 이 -f
필드 /etc/shadow
는 시스템이 비활성화되기 전에 계정이 "비활성"(로그인한 사람 없음) 상태여야 하는 시간입니다. 그것. 전환은 -e
계정의 만료일입니다. 이 두 필드는 관련이 없습니다.