저는 ubuntu나 centos와 같은 표준 Linux 배포판에 연결되지 않은 임베디드 Linux 시스템을 사용하고 있습니다. 시스템은 systemd, busybox, Shadow 등과 같은 많은 표준 FOSS 소프트웨어 패키지를 사용합니다. 시스템의 사용자 계정에 처음 로그인할 때 기본 로그인 비밀번호를 변경하라는 메시지가 표시됩니다.
시스템이 파일 시스템을 업그레이드할 때 일부 정보를 유지해야 합니다. 시스템을 업데이트할 때 로그인 비밀번호를 유지하고 싶은데 이는 문제가 되지 않습니다. 그러나 시스템이 업그레이드되면 시스템은 사용자 계정이 "처음 로그인"이라고 판단하고 사용자에게 비밀번호를 변경하라는 메시지를 표시합니다. 비밀번호가 변경되었다는 정보를 시스템에서 유지하고 싶습니다.
사용자가 로그인하고 비밀번호를 재설정했음을 시스템에 알리기 위해 시스템 업그레이드 중에 유지하고 이동해야 하는 섀도우 또는 useradd가 포함된 Linux 프로필이 있습니까?
어떤 정보나 피드백이라도 도움이 될 것입니다. 건배.
답변1
시스템에 대해 더 자세히 알지 못하면("표준 Linux 배포판과 관련 없음") 가장 가능성이 높은 후보는 /etc/shadow의 "암호 변경" 필드일 것입니다.
파일의 각 줄에는 콜론(":")으로 구분된 9개의 필드가 다음 순서로 포함되어 있습니다.
- 로그인 이름
- 암호화된 비밀번호
- 마지막 비밀번호 변경 날짜
- 최소 비밀번호 사용 기간
- 최대 비밀번호 사용 기간
- 비밀번호 경고 기간
- 비밀번호 비활성 기간
- 계정 만료일
내 가정은 계정을 만들 때 이러한 값이 존중되지 않았다는 것입니다(다시 말하지만, 이 작업을 수행하는 방법을 지정하지 않았습니다). 가장 간단한 방법피하다이는 "chage" 명령을 사용하여 계정이 첫 번째 로그인 시 비밀번호를 변경하도록 설정되지 않았는지 확인하기 위한 것입니다( chage -E-1 $username
및 chage -I-1 $username
).
자세한 내용을 보려면 man chage
시스템 매개변수에 대한 추가 정보가 제공됩니다.