/etc/shadow 마지막 비밀번호 변경 날짜 - UTC 시간입니까 아니면 현지 시간입니까?

/etc/shadow 마지막 비밀번호 변경 날짜 - UTC 시간입니까 아니면 현지 시간입니까?

man 5 shadow각 행의 세 번째 필드에 대한 설명을 제공합니다.

비밀번호가 마지막으로 변경된 날짜로, 1970년 1월 1일 이후의 일수로 표시됩니다.

값 0은 특별한 의미를 갖습니다. 즉, 사용자는 다음에 시스템에 로그인할 때 비밀번호를 변경해야 합니다.

빈 필드는 비밀번호 만료일이 비활성화되었음을 나타냅니다.

이는 UTC 시간을 의미합니까, 아니면 현지 시간대를 의미합니까? 특히 유사한 방법을 사용하여 비교 가능한 숫자를 계산하려면 해당 옵션을 $(( $(date +%s) / 86400 ))전달해야 합니까 ?date-u

답변1

대부분의 사용에서 "1970년 이후의 초" 타임스탬프는 특별히 UTC로 정의됩니다. 특히 date +%s와 동일한 결과를 제공한다는 것을 알 수 있습니다 date -u +%s.

섀도우 비밀번호 유틸리티에 설정된 관련 라인은 "

nsp->sp_lstchg = (long) time ((time_t *) 0) / SCALE;

그러면 UTC가 됩니다. SCALE은 86400으로 정의됩니다(특정 ifdef를 통하는 것 외에는 정의된 원인을 추적할 수 없습니다).

답변2

"일"은 86,400초의 간격을 나타냅니다. "1970년 1월 1일"은 00:00:00 UTC를 의미합니다. 이건 기본적으로 표준이다유닉스 시간, POSIX 시간이라고도 합니다.

관련 정보