섀도우 파일에서 비밀번호 유효 기간을 무제한으로 설정하는 방법은 무엇입니까?

섀도우 파일에서 비밀번호 유효 기간을 무제한으로 설정하는 방법은 무엇입니까?

나는 다음에 대해 더 많이 읽고 있습니다.Linux에서 비밀번호가 저장되는 방법 비밀번호를 변경해야 할 때까지의 일수를 알아보세요. 내가 읽고 있는 기사에는 이런 말이 있다

 The number of days after which password must be changed 
 (99999 indicates user can keep his or her password 
 unchanged for many, many years)]

여기에 이미지 설명을 입력하세요.

99999일은 대략 277년이다. 2250년에는 섀도우 형식의 *nix 머신을 사용하는 사람들이 로그인할 수 없는 또 다른 밀레니엄 상황이 있을지 궁금합니다. 이 날짜를 무한대로 설정할 수 있는 방법이 있나요? 이것은 매우 나쁜 디자인 결정인 것 같습니다 ...

답변1

예, 비밀번호 사용 기간의 문제가 되겠지만 더 큰 문제가 발생하기 전에 걱정하지 마세요. 2038년은 Unixtimestamp에 문제가 될 것입니다.

1970년 1월 1일부터 부호 있는 32비트 정수로 계산된 시간 값은 2038년 1월 19일 이후의 시간을 인코딩할 수 없습니다.

답변2

문제가 무엇입니까? .

이것은아니요고정 날짜, 마지막 변경 사항과 다릅니다. 99999일은 약 273년의 연속 사용을 의미합니다.뒤쪽에비밀번호가 마지막으로 변경된(또는 처음 설정된) 시간입니다.

비밀번호가 마지막으로 변경된 시간은 UNIX 시간을 기준으로 합니다. ㅏ32비트 부호 있는 초 값에서 January 1, 1970. 이것은 이제 UNIX 시간의 기본 카운터입니다. 따라서 UNIX 시간은 (대략) 2038년(~2038년 1월 19일)에 오버플로되기 전에 변경되어야 합니다. OpenBSD 이후, NetBSD와x32 ABI이미 64비트를 사용하고 있는 Linux의 경우 time_t2038년 예측이 합리적으로 보입니다.서명된 64비트가 기본 카운터가 됩니다.. 이를 통해 약 292기가의 추가 연도 동안 또는 NTP 섹션에 설명된 대로 계산을 계속할 수 있습니다.

64비트 초 값은 우주가 어두워질 때까지의 시간을 명확하게 표현하는 데 충분합니다.

"마지막 비밀번호 변경 시간"은 UNIX 시간을 24시간 60분 60초로 나눈 값입니다. 오늘은 다음과 같습니다.

$ echo $(( $(date +%s) / 24 / 60 / 60 ))
16837

이는 UNIX 시간(2^16=65536)보다 약 16비트 적습니다.

간단히 말해서, 64비트 UNIX 카운터 등을 사용하도록 애플리케이션을 활성화하십시오.

  What is the problem?

답변3

오늘날의 운영 체제 중 하나라도 잠재적인 문제를 완화하기 위한 큰 변경 없이 2250년에도 존재할 것이라고 생각한다면, 어리석은 암호 만료 문제 이상의 문제가 있는 것입니다. ENIAC이 발명된 이후 지난 70년 이상 동안 컴퓨터에 어떤 일이 일어났는지 살펴보세요. 이러한 관점에서 볼 때 향후 230년 이상은 거의 무한합니다.

관련 정보