옵션 e에 대한 usermod의 질문

옵션 e에 대한 usermod의 질문

매뉴얼 페이지를 읽은 후에 그것이 수행하는 작업에 대한 설명을 찾을 수 없습니다(추가 옵션).

usermod -L -e 1 사용자 이름

-e 1

이것은 리눅스 시대의 1970년 1월 1일 이후를 의미합니까? 어디에도 문서화되어 있지 않은데 어떻게 이것을 알 수 있습니까?

답변1

당신 말이 맞아요. 그 가치는 일 단위로 측정됩니다.

~에서usermod(8)매뉴얼 페이지:

-e, --expiredate EXPIRE_DATE

사용자 계정이 비활성화되는 날짜입니다. 날짜는 형식으로 지정됩니다.년 월 일.

하지만 더 많은 정보가 있습니다shadow(5)매뉴얼 페이지:

계정 만료일

계정의 만료 날짜로, 계정 수로 표시됩니다.1970년 1월 1일 이후의 일수.

계정 만료는 비밀번호 만료와 동일하지 않습니다. 계정이 만료되면 사용자는 로그인할 수 없습니다. 비밀번호가 만료되면 사용자는 자신의 비밀번호를 사용하여 로그인할 수 없습니다.

빈 필드는 계정이 만료되지 않음을 의미합니다.

값 0은 만료 날짜가 없거나 만료 날짜가 1970년 1월 1일인 계정으로 해석되므로 사용해서는 안 됩니다.

이 판독값을 확인할 수 있습니다.소스 usermod.c코드:

        case 'e':
            if ('\0' != *optarg) {
                user_newexpire = strtoday (optarg);

답변2

당신의 추측이 맞는 것 같습니다.

이를 확인하려면 소스 코드를 읽어야 합니다.

  • 내 데비안 컴퓨터에서는 이것이 패키지의 일부라고 dlocate말합니다 .usermodpasswd
  • 이 패키지의 파일은 README다음에서 찾아볼 수 있는 SVN 저장소를 나타냅니다.http://svn.debian.org/wsvn/pkg-shadow/upstream
  • 이 저장소에서는src/usermod.c및의 strtoday옵션 값을 처리하기 위해 호출됩니다.-e
  • strtoday에 있습니다libmisc/strtoday.c, 다음과 같은 댓글이 있습니다.
    /* 값이 제공되면 이는 이미 숫자입니다.
     * EPOCH 이후의 일수입니다.
     */

관련 정보